Some time ago, I started intensive interviews and got 7 offers in a row. Although I am not a BAT employee now, I am a quasi-unicorn company in the segmentation field. Share some time agoProgrammer kitThe third interview experience, I hope you can help.

Interviewer: First and second interviews they speak highly of you. I see you write that you are proficient in Spring. Let’s talk about Spring today.

Programmer xiaojian: Go!

Interviewer: Tell me about your understanding of Spring.

** I think Spring is a universal plug that can connect to almost any open source interface. For example, the projects I have been in contact with have rules engine, do recommendations, do marketing campaigns, do seconds kill and so on.

Interviewer: Why did you use Spring?

Programmer Xiao Jian:Spring has many advantages, such as easy decoupling and easy development, but the main ones for me areAvoid reinventing the wheel!

Spring is already an industry standard, battle-tested on countless projects. Problems can also be consulted by developers around the world, can help point out ideas or solutions;

Besides, I learned the concept of Spring. I often studied the source code of Spring, which greatly improved my Java technology level and application development level. The Spring framework source code is a best practice example of Java technology.

Interviewer: I can’t agree more! How many ways do you know to implement spring’s lifecycle initialization callback method? What is the implementation principle? Or where are their execution timing and lifecycle reflected?

There are three official implementations of Spring’s lifecycle initialization method, namely, XML custom method implementation, interface form implementation and annotation implementation on the method. The three can coexist. But the timing and order of execution are different. Spring’s beans call back these initialization methods before calling BeanPostProcessor’s After method after the instantiation.

Interviewer: How is Spring’s transaction isolation level implemented?

Programmer Xiao Jian: In high concurrency scenarios, in order to ensure the security of competing resources, we will consider the problem of isolation level. Considering the propagation properties of transactions you just asked about, I think it is more appropriate to combine the MVCC&LBCC of database with the problem of actual isolation level.

Interviewer: Do you do any secondary spring development in your job? Or have you implemented extensions for Spring?

Programmer Xiao Jian: We had a project that used SpringBoot to develop microservices instead of Spring Cloud. The registry uses NACOS, but there is no automatic registration when spring Cloud and NACOS are integrated. It requires programmers to manually register microservices with nacOS through the PUT command. We extended this feature ourselves through the extension mechanism provided by Spring to complete automatic registration.

Interviewer: Good answer. Last question: How would you have done your job without Spring?

After thinking about this for a few minutes, programmer Xiao Jian is so answer: Spring’s core source code, such as: IOC, AOP, Spring transactions, MVC principle from 02 to now basically 80% have not changed, core source code I still have confidence to control, handwritten a similar to the Spring core framework, in my ability range.

In addition, if the business is urgent, there are many open source projects on Git that can be borrowed, because I know Spring source code, it won’t take too much time to change;

Interviewer: What are your requirements for the company? Would it be possible to start tomorrow?


IT is difficult to be a programmer, but IT is even harder to be a programmer in 2020. With the increasing number of IT personnel, our competitive pressure is also increasing. In order to stand out from the crowd, the test is actually the breadth and depth of our technology stack.

The advent of the Spring framework has provided us with good expansibility, easy maintenance, convenience for our development, improved efficiency and saved time.

Spring’s use is not limited to server-side development. Any Java application can benefit from Spring in terms of simplicity, testability, and loose coupling.

Anyone who does Java has probably heard that Spring redefines Java.

What does Spring look like underneath? The following are my study notes to share with you. I hope it will be helpful for you to master Spring. (XMIND format available at the end of the article)

Spring study Notes

Spring is the most popular Java development technology, and its internal source code design is excellent. However, quite a few programmers have never used Spring, and many of them only have a superficial understanding of Spring. They only focus on the logic of the part of the code they use, but do not really understand the framework, and do not understand Spring source code at all.

How dare you go for an interview without knowing Spring?

The following information is free to receive, help xiaobian three even about the article,Click hereYou can get it for free!

The directory above is the core knowledge of Spring, you can look inside the content, can master these, naturally is qualified.

Part of content display:

Of course, there’s more to Spring than that, like e-books:

Spring interview questions:

The above information is free to receive, help xiaobian three even the article, scan below can be free to receive!