Our company is recruiting recently. I am responsible for VC interview. I have two types of interviews: one with work experience and one with no experience. I have higher requirements for working experience, I don't have high requirements for inexperienced students. Our company generally does not have a written examination for recruitment. They are the first round of interviews. If there is a second round, they will take the computer examination.
Let me talk about how I chose my new students. The first is the interview. During the interview, I will ask three types of questions:
The first category is the basic knowledge of books, such as whether C is different from C ++, C is different from C ++, What Is Object-Oriented, and how the linked list and tree are roughly operated.
New students have no work experience and only basic school knowledge. I 'd like to ask if these are not difficult for new students. If these questions cannot be answered, it is obvious that such people did not study well in school, but in my opinion they did not even have any interest in software development.
The second category is about practical issues, such as: What is graduation design done, what are the pieces divided into, how is each piece connected, and which one are you doing, use development tools and related technologies or knowledge.
These problems are very important, because graduation design is almost the first practice for students to move towards the society. using the knowledge of good books to do a good job in graduation design, the students' ability will have a qualitative leap. To ask these questions, I mainly pay attention to the following points: Do students know about the entire graduation project, whether they know what development technologies they have done, and what development technologies they involve. If a student is familiar with only a small part of his work and does not know about the project involved in the graduation project, the team is obviously not conscious and has a narrow vision, not what I want. As for the development technologies involved, I will mainly examine how the knowledge in books is used and whether I understand some windows development technology or VC skills, you only need to clarify the one you are responsible for. It is satisfying to make other parts clear.
The third type of questions I will ask again about the knowledge in books: The composition principle of computing and the composition of operating systems.
Although this question is still in books, it belongs to theoretical knowledge and is more difficult for graduates. This question does not require graduates to answer it as long as they do not understand it.
The above three types of problems are like layer-3 screening. The first type of problems are not well-learned in the school and are not interested in software development. The second type of problems are not team-conscious, narrow field of view, no overhead view, and poor hands-on ability. The third type of problems screen outstanding graduates with certain theoretical knowledge. In fact, the first two types of questions can pass. I usually give the opportunity to take the computer examination. The third type of questions is just to find better graduates.
Let me talk about the computer examination. The computer examination is mainly used to test the practical hands-on ability of graduates. The subject mainly comes from data structure. It applies linked lists, trees, files, sorting, and other combinations. I have only one question on the computer. I will give it half a day. It may be-A.M. or a.m.-A.M. The question is as follows (This question is my own, if there is no similarity, copyright ownership, if there are similarities, it is a coincidence ):
Write two programs, one program enumerates the specified directory in windows, saves the file structure in the directory as a tree, and stores the tree in a file, another program reads the tree from the file and prints it out. The program must be written in C language, that is, the file extension is. c rather than. cpp. Of course, if I can't write in. C, I am not embarrassed. I can write in. cpp, but I prefer to use. C.
This Program examines the following aspects: design ability, logic thinking ability, ability to solve unknown domain problems, Windows development ability, basic knowledge application ability.
First, the Framework Structure of the program and how to store the tree in the file examine the design capability, while the execution process of the Program examines the logic thinking capability. These two capabilities are very important, even if the program is not completed in the end, as long as the framework of the program is set up, the main process of the program is developed, and the file format of the storage tree is designed, the examination is passed; secondly, enumeration of the specified directory tests windwos development capabilities. It is not the focus, but it does not matter. Generally, new students do not know how to implement it, I can provide relevant Win32 API materials (including the example program, which is actually msdn) for query. If graduates have certain windwos development capabilities, then I will always find someone he hasn't done before to let him do it. This is to examine the graduates' ability to solve problems in unknown fields. This ability is also very important. As for the ability to use basic knowledge, the operation on the tree and file operations are not the focus.