In March and April, spring returns to the earth and all things revive (please bring teacher Zhao Zhongxiang’s BGM), and it is time for many students to job-hop.

Recently, the team is also recruiting, during which we screened a lot of resumes and interviewed some candidates. Here is my own understanding of how to answer interview questions.

Welcome everybody old driver, new driver message exchange, we discuss together, no matter as “interviewer”, or “job seeker”, how to answer the interview questions, can better answer the questions, to achieve their goal of job hunting.

A, listen to the question, do not rush to answer

Interview is, first of all, a process of interpersonal communication. Sometimes, interviewees will interrupt to say “I know this question…” before the interviewer finishes the question. . Interrupting is not good for communication, and it actually leads to not hearing the interview questions clearly. For example, the interview question is “How to understand the Java JMM…” Before the interview begins, the interviewer interrupts and says, “I will… including method area, stack, stack balabala.” This is a completely off topic answer.

Two, from the overall situation, to specific

If the question is “What is Spring and how do you understand it?” Many people will simply answer, “Ioc and Aop.” That’s not wrong, but I personally think it’s better to start with a more general approach and then go into detail about one or more aspects of Spring that you know in depth.

Today, Spring is not just Ioc and Aop, but a XX with a series of features, like Spring Boot for rapid development, Spring Cloud for microservices support, Spring Security, which supports authentication and authentication, xxxTemplate, Testing, which supports various abstractions provided by Spring Data, and now many Spring MVC. Of course, Denpendency Injection and AOP are still the core.

For example, if you want to understand Java’s garbage collection mechanism, you can describe when garbage collection takes place, how it is done, and what algorithm it is used to do it, rather than simply answering a general question like “clean useless objects out of memory”. How to adjust when OOM comes out, how to partition the MEMORY of JVM, etc., I feel much better.

Don’t be conceited or belittle yourself

After the interviewer asks questions, some candidates questions have not listened to, one is rushed to answer, two is disdain. I wonder why you ask such a simple question. In fact, the interview is generally understood as a “communication” of continuous communication to discover the strengths of the interviewer. For example, some candidates will feel slightly uncomfortable when they hear “Please write a singleton pattern”, as if their talent has been buried, but during the “double lock check”, they have neglected the effect of CPU instruction reordering.

And then there are those who, right after the interviewer says, “Let’s write an algorithm… At the end of the sentence, it throws up the option, “How about I do a quick sorting, binary search? Balabala”, if you were the interviewer, what would you do?

There are also some interviewees, asked about resume written project, “dim eyes,” said “we didn’t do anything to have technical content, and you can’t”, or when the interviewer said to an implementation of the project, will say “you also use the”, and then some dare not said down, as if resume excessive packaging, also some feeling is more common topic, Start talking about implementation, selection and so on. So be bold and present yourself, at least once.

Fourth, do not be too exaggerated resume, do not be full of product description

I have seen many resumes, some of the projects in the entire resume are all business and product introduction, without mentioning several technical points, without mentioning implementation, without writing what technology is used, all are paragraphs of text description. As a technical interview, there is nothing technical about it.

There are also many, the resume said proficient in XX technology and YY framework, is ZZ expert. In fact, the actual communication, really is only for use, have not configured.

A “familiar” level will be greater than a “proficient” level most of the time.

Fifth, breadth and depth

General interview, will be based on the actual work experience of the interviewer, corresponding to the breadth and depth. But between broad and deep, I think it’s better to go into one area, one concept, and then expand.

And in the interview process, if every topic asked is ordinary, or simply understand, will give a person a feeling of dabbling. If you’re deep in something, you’re comfortable answering questions about it, or even “What are you good at?” Can be more emboldened. Concurrency in Java, for example. Sync Happens Before Lock Happens to sync. The implementation of Lock and sync, as well as the JVM monitor directive, AQS…

In a telephone interview with an intern last year, when asked about some unlearned parts of the development framework that were still in the self-study stage, he would honestly say “I haven’t learned them yet”, or even accurately say “I will learn XX technology today”. He had a plan and had the ability to learn. But the way it describes learning, its attitude and its mastery and understanding of what has been learned, and its level of performance, are all impressive. Later, when I did my internship in the company, I didn’t use the framework. Instead, I used the new technology according to the demand, and I was not disappointed.

6. Be proactive

I understand that when answering questions, I can show what I am good at. For example, if the resume says “RPC was used in the project”, you can describe the design and implementation of RPC framework in the answer to the question of how to use RPC in the project. For example, “I have generally seen that Dubbo is designed this way”, and “Thrift has these differences”. Have you heard about GRPC? What would you do?

In addition, when describing the use of technology in the project, you can incidentally explain why you do this and why you choose to use this technology, so that the rich information beyond the resume can let the interviewer have a more three-dimensional understanding, thus opening up the situation for “communication”.

It is better to have proof

If you can attach a long-term active open source project, continuous output Blog, etc., it is also a more comprehensive understanding of your code style, show design, thinking, learning style of the “platform”.

Of course, these are all ways to answer a technical interview, assuming you have passable hard skills

So where do you learn to acquire strong skills and strong courage? The following is that I learned this curriculum system, it is I have such strong technology and strong courage.

Recommend a communication learning group: 454377428 will share some senior architects recorded video video: Spring, MyBatis, Netty source analysis, high concurrency, high performance, distributed, microservice architecture principle, JVM performance optimization these become architects necessary knowledge system. You can also get free learning resources, which have benefited a lot at present. The following course system map is also available in the group.

Recommended course system:

First, performance tuning

Second, source code interpretation

Three, distributed

4. Micro services

5. Team development

Six: B2C mall project combat