The most important thing is to remember this, give up a possible good person, compare a bad person. If a unqualified job seeker enters the company, it will consume a lot of money and energy. Other excellent employees should also waste time to fix this person's mistake. If you are still hesitating, don't hire.
Before the interview, I read the resume of the respondent, and then wrote the following to my interview plan on a piece of paper. This plan is actually the list of questions I want to ask. The following is an example (used to interview programmers):
Introducing the question of the project that the item participating in the item cannot answer C language functions Are you satisfied? Design problems challenge you still?
As the first step in the interview step, the purpose of the introduction is to make the respondent relax. I usually spend 30 seconds, talking about who I am, how to do next interview will. I always make the testor to believe that we care about how he (she) solves the problem, not his (her)'s final answer is or wrong. By the way, when you interview, you don't want to sit in a table with the candidate. Otherwise, there is an obstacle between you and the interviewer, and suggest a more formal and serious atmosphere, so that it's hard to Relax. A better way is to put the table against the wall, or sitting on the same side of the table, which helps to relax in the candidate. Only the candidates do not perform abnormalities because of tension, you can make more effective interviews.
Regarding programming issues, I usually ask the candidate to write some small functions in C language. Here are the topics I usually have:
How many Bits in a link table (Linked List) inkdened a list (BYTE) is found in a string in reverse sequence 1 Search for a given byte (Byte) Find possible longest sub-string in a string This string is a string converted by the same character to integer integers to convert into strings (this problem is very good because the candidate should use the stack or STREV function)
Note, usually you won't want their code to write more than 5 lines, because you don't have time to understand too long code.
Now let's take a look at some of the questions: The first question: A string in reverse. I haven't seen the interviewer in this life, I can do this one once. All of the coupons attempt to dynamically generate buffers and then output the inverse strings into the buffer. The key to the problem is that who is responsible for allocating this buffer? Who is responsible for release that buffer? Through this problem, I found an interesting fact that most people think that they understand C actually not understand the concept of pointers and memory. They don't understand. This is really shocking, can't imagine that this kind of person can make programmers. But they are really! This problem can determine the coupon from multiple angles:
Does their functions run fast? Look at them how much this calls the Strlen function. I have seen the Strrev's algorithm written by the candidate actually only o (n ^ 2) efficiency, and the standard algorithm efficiency should be o (n), the reason is that this is because they call Strlen once again. function. Do they use a pointer operation (the translator presses: the original is Pointer Arithmetic, refers to the value of the addition and subtraction of the pointer variable)? Use a pointer to operate a good phenomenon. Many so-called "C programmers" did not know how to use Pointer Arithmetic. Of course, I have said that I will refuse him because the candidates don't have a specific skill. However, understanding the pointers in the C language are not a skill, but a kind of talents. Every year, a university is needed to enroll more than 200 computers, all of these children are 4 years old, starting to write adventure games in Atari 800S in Atari 800S. They also learn Pascal language in college, and they have been great. Until one day, their professors told the concept of pointers, suddenly, they didn't understand. They can't understand anything in the C language. So 90% of the computer system student transferred to facilitate political science. In order to save the face, they told friends that they were involved because their computer is handsome and beautiful. Many people are determined that there is no understanding of the string of the pointer in the brain. So understanding the pointer is a kind of quality, not a simple skill. Understanding the pointer requires a few bends, some people are not good at turning these bends. The third question can examine the mastery of the interviewer to the C 's computment, but this is a skill, not a quality, so you can help them. Interesting, they have established a subunies to calculate the number of bits 1 in Byte, then you ask them to optimize this subunies and try to speed up the running speed of this function. Smart candidates will use the surfactist algorithm (after all, this table has only 256 elements, can't use much memory), and the entire table only needs to be established. Discussing with smart candidates to improve time / space efficiency is a very interesting thing. Further tell them that you don't want to initialize the query table when the program starts. Smart interviewers may recommend using buffering mechanisms, for a specific Byte, only when the first query is first queried, and then the calculation results are placed in the query table. This will check the table directly when you are queried later. The special especially smart interview will try to have a shortcut to establish a query table, such as a BYTE and its set of BIT numbers can be followed?
When you observe the respondent to write C code, the following techniques will help you:
In advance, you fully understand that there is no good editor light to write code on the paper, so you don't care whether the code they handwritten seems to be neat. You also fully understand that there is no good compiler and debugger. It is difficult to write a completely do not have a bug for the first time, so please do not have to worry about it. A good programmer's logo: After the programmer is written after the "{" symbol, immediately keep up with the "}" symbol, then fill in the code in it. They also tend to use naming rules, although this rule may be primitive. If a variable is used as an index of a loop statement, a good programmer usually names it as few characters as possible. If the name of the index variable of their loop statement is CurrentPagePositionLoopCounter, it is not enough to see the experience of their write code is not enough. Occasionally, you will see a C programmer writes the same code if (0 == Strlen (x)), and the constant is placed on the left side of ==. This is a very good phenomenon. This shows that he has always been forced to develop this habit because it always puts = and ==. A good programmer will subscribe to a plan before writing the code, especially when their code is used in the pointer. For example, if you asked a chain list, a good programmer usually draws a sketch of the linked list on one side of the paper, and indicates the location where the index pointer in the algorithm is currently moved. They have to do this. Normal people are not likely to start writing a reverse sequence sheet for a sketch. Poor programmers start writing code immediately.不避 免,, you will find bugs in their programs, so we have come now to come to the fifth question: Are you satisfied with the code? You may want to ask, "Well, where is BUG?" This is a question from hell, you have to answer this question. All programmers will make mistakes, this is not a problem. But they must find errors. For functions for string, they usually have forgotten the string end of the output buffer. All functions, they all commit Off-by-one errors (the translator is pressed: the maximum value and minimum value of a variable may be 1). They will forget the semicolons ending the normal C statement. If you enter a zero length string, their functions will run errors. If the malloc call fails and they don't write the error handling code for this, the program will crash. Take all the programs for all things, very, very small. However, if you really touch one, ask questions more. You said, "there is bug". They will carefully check the code. At this time, I observed whether their inner heart began to shake, but there is no problem with the code. In short, after the programmer has written the code, ask if they are satisfied with the code is a good idea. Just as regis asking them! (Translator pressed, Regis Philbin is the host of the ABC TV network of ABC TV. Is his intention? "Is this your last answer?")
Section 6: Issues on the design. Let the candidate design something. The original designer of Jabe Blumenthal, Excel likes to design a house. Jabe said that there was a candidate to run to the whiteboard, draw a square, which is his full design. God, one square! Reject this guy immediately. What kind of design problem do you like to ask?
Good programmer will ask more information. Who is the house made? Our company's policy is that we will not hire those who don't ask who is designed before design. Usually, I will worry about I have to interrupt their design and say "in fact, you forgot to ask this house to design it. This house is made by a group of giraffe." The stupid candidate thinks the design is like Draw, what do you want to paint? Smart candidates understand the design process is a series of difficult trade-off. A great design problem is: Design a trash can on the street corner. Think about how much weigh you want to do! The garbage can be easily emptied, but it is difficult to be stolen; it is easy to put in garbage, but it is impressed by the wind. The garbage inside will not be blown out; the garbage can be sturdy and cheap. In some cities, the trash can must be specially designed to prevent terrorists hide a timed bomb. Creative candidates will give interesting and unique design. One of my favorite problems is to design a placed shelf for blind (the translator as Spice rack, there is a specially putting the shelf in the kitchen of the foreigner, put a lot of small cans, inside Various pieces of seasoning usually many of the suggestions of the respondents are to engrave Bryiwen (a blind man using the text) on the tin of the displacement, so the text will be rolled up and deformed. I met a candidate, his design was put into the drawer, because he felt horizontally to be more convenient to do vertically. (Try to see!) This answer is creative so that I am shocked! I have an interview with a programmer, never thought of similar answers. This creative answer does jump over the rules of ordinary people consider the problem. Just because this answer is too creative, and the candidates have to go, I hire this candidate, and he has now become an excellent project manager in the Excel team (the author presses, this article is working in Microsoft. ). Always fight for a certain knot. This is also part of the qualities that completed the work. Sometimes the respondent will not make a decision, trying to avoid difficulties, and the problem that is difficult to leave is not decided to do it directly, this is very bad. Good candidates have a tendency to promote things naturally, even if you intend to drag them back. If the discussion of a topic is beginning to turn there is meaningless, a good candidate will say, "Well, we can talk about this all day, but we have to do something. Why don't we start ..." We came to the seventh part and challenged. This is very fun. I have been paying attention to the interview. When the interviewer's answer absolutely 100%, you can say: "Well, wait a minute." Then spend two minutes to play the devil's game (the translator pressed, original for Devil's Advocate, the devil spokesperson refers to the violation of his conscience, defending the wrong evil view). Remember must definitely argue with him when you can definitely.
This is very interesting.
The weak candidates will yield. Then I will talk to him. A firm account will find a way to convince you. They will convince you with President Kennedi. "Maybe I misunderstood what you mean," They started like this, but the text is still standing firmly. I will hire such a person.
It has to be admitted that the status of the two sides of the interview is not equal. It is possible that should be afraid of your power, not dare to argue. However, good candidates have enough enthusiasm and courage to persist in the right point of view, they will forget to be interviewed because they are eager to persuade you. Such people are people we have to hire.
Finally, you can ask what you want to ask. Some people like to see if the respondent will ask some smart problems. This is the standard technique for popular interview books on the market. I personally don't care about what to ask, because I have made decisions. Trouble is that the candidates may have already seen 5, 6 people, and they have been a few rounds of interviews, they may be tired, so that they can't prepare a smart and unique problem for each round of interviews. So if they don't ask, it doesn't matter. I always leave the last 5 minutes of the interview to sell my company. This is very important. Even if I don't intend to hire this candidate. If you are lucky to find a great candidate, you are willing to do anything to persuade him (her) to come to your company. Even if they are not a good candidate, you must try our best to make them excited for Fog Creek, so they will leave a good impression on Fog Creek at the end of the interview. Remember, the respondents are not just possible employees, they are also customers, and the salesman of our company. If they think our company is great, they may recommend friends to interview.
Ah, I remember that I said that I will give some examples of a very bad reaction that should be avoided.
First, avoid the problem of illegal problems. Regarding race, religion, gender, birth country, age, service record, whether old soldiers, sexual orientation, physiological disorders are inelastic. Even if they say they serve in the army in the army in 1990, don't ask questions. Maybe this will let them talk about the experience in the Gulf War. But your problem is not legal. If you write them over Techion in Haifa on your resume, don't ask if they are Israeli, even for chat, because this is illegal. There is a very unhanective example. Click here to have a lot about what is illegal discussion. (But the rest of this website is stupid enough.)
Second, don't give advice in the problem, our company likes or doesn't like what kind of employee. An example I can think is to ask if there is a child or whether it is married. The candidate may think that we don't like the employees who have downsides families.
Finally, don't ask the topic of brain tendons, such as 6 matches how to spell out 4 triangles. The problem like this is the problem that the respondent has the quality of the candidate with "a head / complete work".
The interview is that it is integrated with science. But as long as you remember the principle of mind / complete work, you can respond. If you have the opportunity, ask your colleagues to interview questions and answers. This is one of the topics that our company's employees are keen on lunch.