From: http://news.csdn.net/n/20061128/98414.html
(Author profile: Wang Yu, Google engineer. Born in Beijing, he moved to the United States with his parents when he was five years old. I jumped to level 3 during the middle school and entered the California Institute of Technology at the age of 15. I worked in Microsoft and other companies before I joined Google .)
In March, I once introduced "how to write a good engineer resume" on the blackboard newspaper. Today I want to talk to you about how to prepare an interview for a software engineer? Assume that your killer resume (killer resume) has attracted the attention of a large company and asked you for an interview. So how to prepare?
I have interviewed no less than 300 people during my work at Google (formerly Microsoft). Some of them did exceptionally well, but some did not seem prepared. Of course, many people with insufficient preparation for the interview still receive the recruitment notice, because they are indeed outstanding. However, if the applicant can prepare the appropriate information in advance, the interview process will be safer and easier. The following are my suggestions based on years of experience:
1. Simulate interview training using the same tool (such as pencil and paper) and time limit (such as half an hour)
Google and Microsoft both allow candidates to manually answer programming questions on the whiteboard, but most candidates are usually used to programming on a computer using programming tools. Therefore, during the interview, some candidates left the familiar computer cursor and stood in front of the whiteboard and felt helpless. Or they are not used to watching the program, which makes them nervous and unable to think normally.
In real life, if you want to cross the English Channel, you naturally cannot always practice in an indoor swimming pool. You must join the sea and train in the waves. This is also true when preparing for an interview. :)
Before the start of the interview, you 'd better ask the Recruitment Unit about the interview form and questions. If the Recruitment Unit asks you to take an exam in a room and only provides an editor without assembler, you should practice at home based on this situation. If the recruitment company asks you to answer questions on the whiteboard and will arrange for the examiner to supervise, you need to find a software engineer to play the examiner and cooperate with you to practice. Even if the examiner has less experience than you, they can still help you eliminate the tension caused by mistakes in front of others, this allows you to adapt to the interview atmosphere where someone is staring.
If you happen to know me and want me to help you, then my condition is that you have to invite me to dinner: If you have already worked, you will have a Japanese sushi dinner; if you are still a student, you can also eat pizza. :)
2. Do not worry about minor mistakes during the interview.
I encountered this situation more than once during the interview: When the applicant knew the programming problem, he immediately thought of the best solution, fixed the boundary conditions, and started programming. However, during the compilation process, the applicant made a small mistake, such as checking whether the operation sequence is wrong or forgetting to set a variable. When I pointed out the mistake, the applicant immediately became very nervous, this anxiety affects the normal performance of the later stages.
In fact, this fear is completely unnecessary. It is also normal for a good programmer to make a mistake in programming, just as the violator may occasionally make a mistake when playing the difficult Bach symphony. The audience at the concert may be aware of these mistakes, but the audience will never regard the excellent violator as a layman due to such small mistakes.
Even if the applicant completely screwed up a programming problem, the interview examiner may ask different questions and tolerate mistakes on a specific issue. Further, even if an interview fails completely, you have the opportunity to remedy it in other interviews.
One of my colleagues (the technical director of a project) recently interviewed a person. At the beginning of the interview, he felt that there was a problem with the way the interviewer communicated, so he started to behave quite unfriendly. However, after the entire interview process, the interviewer proved his abilities, and my colleague became the most steadfast supporter of the interviewer. In the past year, I have never seen this colleague so strongly support this interviewer.
Therefore, even if the interview progress is poor, do not give up.
3. Do not be rude during the interview.
This does not seem to have to be a problem, but during the interview, I did have a bad rude behavior. A person who came to apply for a software engineer once saw me and said, "Wow, I can't believe you're so young! You look so small !! I think you are 18 years old !"
The interviewer's words and deeds are really undesirable.
Do not say anything like this: "Wow, are you really an examiner? You look old !" "Wow, you really came to interview me. You look so fat !" (I believe no one will say this ).
In my other interview, the applicant's mobile phone rang 15 minutes after the start of the interview. She ignored it and the phone rang for 20 seconds. This would inevitably affect the interview. Five minutes later, her cell phone rang again, and she still ignored it. Five minutes later, the phone rang for the third time. Finally, she finally grabbed her handbag and turned out her cell phone. I thought, "It's time to turn off the phone. She should turn off the phone before coming in ." But when she took out her cell phone in her handbag, she had no one to call and was in the middle of the interview!
The only reason for such a situation is that he has something urgent, but even in this case, he should make it clear at the beginning of the interview to prepare the interviewer.
4. Do not compete in the interview
I have interviewed several applicants. They seem to be eager to tell me their recent "Super projects ". When I started speaking, they immediately interrupted: "I want you to understand the super project we recently processed, and we were still unknown when this project started 10 years ago ......", Then, in the next five minutes, they all went off there.
Sometimes a candidate seems to have made up his mind to give each Examiner a detailed description of his/her proud project, and then rummaging over the project all day.
Remember: The interviewer has specific questions to ask during the interview. However, if a candidate is arrogant, the examiner may not be able to obtain sufficient information to make judgments. At the same time, this behavior will make the examiner feel that the candidate is difficult to work.
If you really want to talk about your project, you should ask the interviewer: "I think the recent project can fully reflect my abilities, can I describe the specific situation in 10 minutes?" In this way, the interviewer will be given space to adjust the interview process, thus avoiding the problem of leaving the interview without warning.
5. When answering a question that requires a specific answer, remember to have a general manager's speech first.
Sometimes I will ask a concise answer, for example, "how many people are involved in your successful project ?" However, the applicant often opens a comment: "Well, John is involved in this project, and he is responsible for the UI part. Of course, I will give him some guidance. Li Si is also working in the project. She is working remotely in Pennsylvania and is responsible for backend servers. Two years later, we have a new man, Wang Wu, joining us ......"
Three minutes later, I still don't know how many people are involved in this project.
Therefore, we must answer the question in a concise manner and then describe it as follows: "When I took over the project, there were three people, but when I left the project, the number of people had increased to 12 ."
Of course, if you can answer your questions in a concise manner and then discuss them after consulting, it would be better: "When I took over the project, there were three people, however, when I leave the project, the number of people has increased to 12. Can I tell you the specific division of labor in the project ?"
6. (Not especially important) dress properly during the interview. Comfortable business clothes are the best choice.
People sometimes worry about clothes. But the most important thing is to make yourself feel comfortable. If you need specific suggestions, I suggest wearing a shirt or even a T-shirt. For some companies (such as Google), the suit is obviously too grand.
This suggestion does not need to be too fancy, because the interviewer does not care about what the applicant wears. It is best to ask the Personnel Recruitment Department what to wear, because different countries have different customs, even if the company dress culture on the East Coast and west coast of the United States is different. Companies like Google are more casual in terms of dress. Therefore, if you wear a "three-piece suit" classic suit to go to Google for an interview, the examiner may feel strange. Therefore, if you really have the software engineering skills, it doesn't matter what you wear. A candidate once ran to the interview in a crumpled, dirty T-shirt with many holes in it. But at last he still received the admission notice (of course I would never suggest wearing it like this ).
The last story
Finally, I want to talk about an extremely embarrassing interview. After reading this, I hope you can think like this: no matter how bad your interview is, you are at least lucky than this candidate.
In the past, when I was at Microsoft, we usually prepared some drinks for the applicants. A candidate who temporarily called him Jeff asked for Pepsi. After we walked into the interview room, he sat down at the desk. Next we briefly talked about his work experience, and then he began to answer programming questions on the whiteboard. At this time, he hasn't opened his cola.
We both stood in front of the whiteboard, and Jeff started to write programs on it. While writing a program, he was immersed in thinking about the overall architecture and subconsciously stepped back to view the entire whiteboard. When he stepped back, he accidentally bumped into the table, and the Pepsi on the table fell to the ground.
Because Cola has not been opened yet, the cola can was blown up when it was launched.
The coke tank is spinning on the ground and the foam is everywhere. As you can imagine, Cola sprayed on the wall, on the shelf, and on the keyboard of my computer. We were stuck there, and our hands were half stretched (it was too late to catch the coke pot). We watched cola get everything.
It took us five minutes to clean the scene with paper towels (although my books have been stuck since that day, and the walls are no longer clean ).
Then we started the whiteboard test again. Jeff is very nervous at this time (who else will be nervous ?). He wrote several lines of programs, erased them, and then wrote them. He wiped the whiteboard with his hand instead of a board brush. He sweated his forehead, and then he wiped the sweat with his hand that had just wiped the whiteboard. At the end of the interview, his face was filled with red, green, and blue paint.
I said, "You have a lot of paint on your hand. I'll take you to the bathroom to wash it." Then I took him to the bathroom and showed him his respect from the mirror.