1. inspire others
The process of looking for a job is a process of comprehensive strength competition. Behind a good offer, there is a lot of hard work that requires diligence, persistence, accumulation, and effort. Here, I will introduce my work experience and hope to inspire my teachers and sisters. It should be noted that the full implementation of the points mentioned here does not mean that you will be able to get the first-class offer. I just want to give it a reference. If you want to find a job, we need to constantly accumulate and summarize and understand the true meaning.
2. mentality determines everything
Mentality is very important for finding a job. Before looking for a job, you must be mentally correct. 20 years of hard work, one of the most important goals is to find an ideal job to realize its own value. Therefore, I think we should at least be like preparing for the college entrance examination, devote all your efforts to preparing for a job and review the knowledge you have learned so that you can maximize all your abilities, so that you can fully present yourself to the interviewer and promote yourself.
3. ice freezing is not a cold day
There are two factors that determine whether you can be hired. One is the project and the other is the basic knowledge. either of the two is accepted by the interviewer, you can get an offer.
For projects, there are not many but excellent projects, such as common management systems and websites. The interviewer has almost no mental power, and can see the truth at a Glance. There is nothing to talk about, the most appropriate and most interesting project is often the same or similar to his current field. It is indeed difficult to solve the problem and the proposed solution has a certain innovation. Unfortunately, for most graduates, the depth of the Project is often not enough. After all, it is difficult to become an expert in this field in just two or three years, therefore, your basic skills are all needed at this time.
Basic skills can be divided into the following parts: programming language, data structure and algorithm, operating system and other small knowledge points. For programming languages, I personally think the C language must be mastered. Many companies take the C language as a required item. In addition, You must select one of the C ++ and Java programming languages. The main knowledge point is some basic concepts in object-oriented programming, such as virtual functions, constructor, destructor, and copy constructor. Some questions have become classic and must be mastered. For example, how is a (C ++ language) virtual function implemented? Can constructor be a virtual function? Why do we encourage the design of destructor as virtual functions? For data structures and algorithms, This is the focus of the interview. Many companies only test algorithms and data structures. This requires you to accumulate and practice more. Especially for some basic data structures and algorithms, such as single-chain table inversion, trie tree, and intersection and difference set of two arrays. For the operating system, we mainly master some basic concepts in Linux, such as threads, processes, memory management, and file management. These will also appear during the interview and must be carefully reviewed. Finally, there are some other knowledge points, such as the design pattern (Singleton, factory pattern, etc.), the Compilation Principle (several processes that the program has to go through from compilation to running), and so on.
4. "sunflower Collection" for practicing programmers"
When looking for a job, you must repeat some classic questions. Many questions come from fixed reference books. You should take a good look at the questions in these books.
(1) The beauty of programming. This is a practical book. Anyone looking for a job knows that many of the written examination questions come directly from this book. It is worth reading and discussing carefully for the fresh graduates looking for a job. In addition, some of the questions in this book are too difficult to look.
(2) programming Pearl River. This book mainly introduces software design ideas. Examples in this book have become a classic topic, such as array cyclic shift and random sampling algorithm.
(3) Introduction to algorithms. This book provides in-depth explanations and detailed proofs of various common algorithms, and involves a lot of origins, motivations, and solutions of each algorithm.
(4) in-depth understanding of computer systems. This book introduces computer systems from the programmer's perspective. It covers almost all kinds of computer technologies, including data representation, machine-level representation of C Programs, processor structure, program optimization, Memory Hierarchy, Link, exception Control Flow, virtual memory and memory management, system-level I/O, network programming and concurrent Programming. Some of the knowledge points mentioned in this book are often used as interview questions, such as Linux semaphores and virtual memory management.
5. Smooth and exquisite
There are two main points about the skills for finding a job. One is the skills for answering questions. For projects, the main answer points should be the challenges encountered and the ideas for solving the problems. For algorithm problems, we should gradually transition from high-complexity algorithms to low-complexity algorithms, you can first explain your own ideas (such as O (n2) Complexity), and then constantly optimize (such as O (nlogn) Complexity ), finally, try to obtain an optimal algorithm (such as O (n) Complexity). At this time, it may be written on paper. Once there is no idea, the interviewer should be asked to give a prompt. The other is communication skills. This refers to communication between the interviewers. This is very important. After the interview, the current interviewer should take the initiative to communicate with him, I mainly ask some personal gains and experiences, especially the mistakes made by others, and try to avoid them. Because the interviewer will interview a large number of job seekers in a day and may ask different job seekers the same question.
6. Do more and better
Finally, it is the choice of offer. The offer should take more options as much as possible, so as to leave some options for themselves. As for how to choose offer, this is a personal problem. Each person has different focuses and varies from person to person, but I think what suits me is the best and there is no need to compare it with others.