Some time ago, one of my classmates consulted me. He said to me, “Teacher, I was very angry in the interview today, do you know? When the interviewer learned that I had not studied computer science, he began to say that he had been emphasizing how important it was to study basic computer science, and I started to argue with him. So the student failed the interview. In fact, why did he argue with the interviewer? Why did he have to refute the matter? Although we know that excellent people are different, and excellent members do not have to be from a professional training, why do we have to argue with the interviewer? Can’t we learn the dialogue of Xing Ye and Kun Ge in kung Fu? Kun elder brother asked Xing Ye killed anyone? Chow says I have thoughts about killing people all day. Was Chow begging Kun ko to join the Axe gang? What kind of tricks does Master Chow use? This is a way to empathize with the interviewer. So here are the four rules of interviewing

Find a kindred spirit

The essence of the interview is the process of finding like-minded people. Programming is a knowledge intensive job, the job interview and examination is different, have a standard answer, test programmer interview when there is no standard answer, so resonance is important, the interviewer asks you read computer science department, are you an honest answer, I haven’t read, although the answer is very honest, but counterproductive. You can say that in those classes in college I had a lot of ideas all day long, I really enjoyed those classes, I really enjoyed learning, so you have a solid foundation to connect with the interviewer. You may ask the teacher what courses I didn’t take, what courses I didn’t take in college, it doesn’t matter. You may ask why the interviewer interview when I made the rockets let me out, in and let me move brick, you think the interviewer they usually the technology is technology better in the team, his interview you build rockets, that’s because he wants to build a rocket, but the team’s average technical strength and do not allow him to make the rockets, he hopes the new teammates to help him, The hope is that his fellow travelers will work with him to improve the team’s technology. So what he came up with was an interview to raise his standards. So I often hear students who can’t answer a difficult question say, “This thing is usually not used, so I can’t. This will cause the interviewer to rule you out of the same category, to which the appropriate response is, Oh, I see. I missed it, so I’m going to go back and do some research on it, and it’s a kind of empathy, it shows that you have the same interest in the question, the same interest as the interviewer, and that’s how you get closer.

Translating interview questions

Problems can be transformed from problem to problem. Have students often ask me if I am a young boy, the interviewer should ask me ecstasy, have high concurrency experience, I am a young boy, I work a year for two years, I’d probably be university graduate in this state, how could I have experience in high concurrency, since you ask me this question, what are you doing in my resume? In fact, it is not completely so, because there is no high concurrent experience of this problem, it can be transformed into a local knowledge point. High concurrency in fact as long as you tell the interviewer said such a thing, I think all day long, please write and give me a problem, you ask me this question immediately become knowledge, it is not the one you have with and without question, with and without is you ask will put to death, you are can have a room for transformation of knowledge, you can go to their own performance. If you try to translate the question, as I just showed you, into how do you divide the tables into different libraries? On buffer use? How to deal with high Concurrency NETWORK I/O? How to solve the high availability problem under high concurrency? On the design of cache how to do specific problems. Because these questions are very specific, as long as you can answer these specific questions, you will pass the interview.

Break down interview questions

Before, some students asked me, “I am just a kid who has worked in a small company for one year. I did not sit down at the door, and the interviewer asked me whether I have done any big projects. Isn’t that nonsense? How could I do large projects, then the student told the interviewer, I didn’t do too big project, can you give a chance, I just want to find a company to learn big project to do, and then the interviewer attitude is better, the interviewer began to tell his gushing, big project to do, chat, finally they took him to hang up now. The classmates express very yuan, obviously the time of communication is very happy, why do you still hang me? You’re a nice guy, and I love your team. Why did you hang up on me? Of course I’m gonna hang you up. You’re being asked to answer a question, so the interviewer tells you that you earned it, but you didn’t answer the question. So in this case, we can’t deny ourselves. For example, you could ask the interviewer, what kind of big project? “You’re trying to unpick the question, what’s so great about a big project? Is there a lot of demand? Is it a long schedule? Is the business complicated? Is the technology difficult? Or a lot of communication? If the interviewer tells you that the demand is very complex, then you can show your understanding of the demand of the product he is making to the interviewer. You can tell the interviewer that you will patiently analyze the demand for the product manager. Does analyzing requirements matter to large or small teams? Does it matter if you’re a big company or a small company? If the interviewer tells you that the technology is particularly difficult, you need to show your hard skills. For example, I know algorithms, I have read part of the Java source code, and I have good coding quality. This is the breakdown of the problem. The interview encountered these complex too empty questions, such as Java for several years, whether there is a large project experience, whether there is high concurrency experience, whether there is a certain direction of experience, are you what what what what. In this case, you need to try to turn these virtual questions into real problems, and turn them into real problems. You need to disassemble them. Problems can be disassembled, so don’t deny yourself easily, learn to disassemble problems, and break through the interview with core knowledge.

Never let the interviewer lead you by the nose

Those who know are easy, but those who do not. If you don’t know the relation between Hashcode and equals in Java, the interviewer will ask if hashcode is equal to equals. You’d think they’d both be about the same, but hashCode and equals seem to work for object comparison. The relationship between the two is not clear because you haven’t learned it. So once you’ve learned that, you can accurately say that hashcode equals equals doesn’t necessarily mean that the items, and conversely, equals equals, hashcode must be equal. But understand that the overlap between your knowledge and the interviewer’s knowledge is unlikely to be infinite, and you can’t keep asking the interviewer to ask you questions within their knowledge. You have to lead. If you let the interviewer keep asking questions, they’ll kill you. How to guide the interviewer? This is a good time to be prepared. For example, if you leave a sentence on your resume saying that the project used metaprogramming to optimize some features, even if you see the word metaprogramming, he is new, he is very technical, he may ask you. For example, if you write in your resume that you have studied the source code of the AQS section carefully, these are ways to guide the interviewer to ask you questions, you do not induce not to trigger his questions, then all the questions of the interviewer may hit the interval that he will not you. Ah, some students will say that I am an honest person, as an honest and trustworthy person, should not induce the interviewer. That’s not true. We, as interviewers, actually want to ask you what you know, and dig out all the things you don’t know, so there’s no point in knocking you down, but more importantly, asking for what you know, to make sure that you’re in the area that you know, the depth of your thinking. So you should prepare a part of the technical knowledge before the interview, this part of the knowledge is for the interviewer to ask, we suggest that you know the depth of things to determine whether you are worth training, whether you are worth joining our team. An interviewer who asks for the wrong things is not a good interviewer. So if you’re going to be an interviewer, you want to be respectful, you want to make sure that your knowledge is as deep as possible, that you’re able to ask people questions in areas that they know, not in areas that they don’t know,

Answer interview questions thoughtfully

As you know, we can understand a thing directly or inversely, by example, by analogy, or by emphasis. In short, try to avoid reciting, that is, you recite the words of others, which is the easiest way to be asked in the interview. For example the interviewer asked me to explain the high concurrency, high concurrency, you might say, is the core of development costs and find a compromise between hardware cost feasible solutions, you can say simple point said to solve high concurrency is controllable delay and packet loss rate is the pursuit of throughput, to say the high concurrent threads to focus on solving and IO model database selection cache optimization, Buffer design, message queue distributed service design and so on, you can say all kinds of things, it’s ok to say things, but you have to make sure that you understand it completely, and you can expand on it, and that’s the core of what you can do to impress the interviewer. Is your thing, is the understanding of knowledge and understanding of their own way to go to the interviewer, to exercise the ability, you should try to use your own ideas and their own language to express them, as long as the interviewer’s level is higher than you. What about you depth do not fake, the interviewer can measure, he didn’t need to disguise can measure. Therefore, try not to use official documents to answer, do not memorize or recite concepts, say more about their own understanding, answer as short and essential as possible unofficial answers. LinkHashmap, for example, is a hash table linked by a linked list of elements. Aqs addresses the underlying framework of the Java language that does not implement synchronization. Aqs addresses the underlying framework of the Java language that does not implement synchronization. That’s the value of AQS. B+ tree is a support interval search, these are the questions you generate a kind of essential thinking and response, these things are easy to impress the interviewer. Although they may not be the most authoritative definition, although they may not be the best answers, but they are you to understand a certain depth, the interviewer will resonate with you. Another example is DNS is a classic distributed design, like these answers are very good answers, these answers are expressive answers.