A Java programmer with four years of development experience went for an interview and came out in 5 minutes? Why on earth? !

As an excellent programmer, technical interviews are an inevitable part of the process. Generally, technical interviewers will use their own methods to examine the programmer's technical skills and basic theoretical knowledge.

Most programmers think that the things interviewed are extremely tall. This is basically the common feature of all corporate interviews. The things that are examined must be a little more than the ones actually used. For a normal company, this is understandable. Yes, leaders want to spend appropriate money to recruit a programmer with great technical potential.

There are also some friends who have a tragic interview experience. You will definitely think: a four-year Javaer, can't hold on for 5 minutes?

Let me tell you how my friend was interviewed by diss: I was notified by HR at two o’clock in the afternoon to go to an Internet company in Beijing for an interview. Three minutes after the first and second sides, I was taken to the technical manager’s office. .

As soon as I entered, I was shocked by the sight. The technical manager looked at him with a bald scoop. It's a personal worker... The interviewer will start the following question and answer after understanding the basic situation!

Interviewer: Look at the frameworks your projects use. Are you familiar with the implementation principles of Spring, mybatis and other frameworks?

He: I have done some projects proficiently, and I understand the principles.

The interviewer continued to ask: I think you have been exposed to messaging middleware, load balancing, RPC framework and other technologies? Have you done MySQL sub-database sub-table?

Him: Uh, very little contact

The interviewer then asked: What about distributed architecture design, Redis distributed lock?

Him: I don’t know this operation at all...

Interviewer:...

What kind of people does the business need

On this basis, the Internet industry's recruitment demand for Java development has also been the largest and most stable in the supply and demand of technical positions in recent years. The proportion of face-to-face invitations issued by enterprises to Java engineers is also much higher than that of other positions. On the 100 offer platform, the demand for Java engineers accounts for nearly 60% of the total demand. It can be said that in the current background of "personnel optimization" in major companies Next, Java engineers, especially senior Java engineers, are still hard currency.

What kind of engineer can be called a senior, and how to become a senior Java engineer?

In terms of working hours, senior engineers generally have 3-5 years of work experience. For Java engineers with 3-5 years of experience, companies will require a solid algorithm foundation and programming ability. Distributed and high concurrency experience is preferred, and they can be independently responsible. The development of a module. In terms of technology, one specializes in multiple skills. Not only is it limited to writing Java well, but also comprehending by analogy. You can quickly learn and apply the new technology required by the company's business. Take a senior Java development recruitment as an example:

Several information can be seen from the above recruitment information:

  1. ** Even in this industry winter, companies are willing to pay for capable senior Java engineers. **It is no problem for a senior programmer to achieve 50w+ treatment. There is also a view in the IT field: an excellent programmer is 10 times more efficient than an ordinary programmer, but for a somewhat innovative project, companies would rather pay twice the salary to choose an excellent programmer than spend Hire two mediocre programmers for the same money.
  2. Focusing on specific skills , what do companies expect from senior programmers? Almost all recruitment requirements will mention: Familiar with distributed systems, and experience in distributed system development is preferred.

The high threshold of distributed systems is mainly reflected in three aspects:

The knowledge involved is too wide , the concepts are relatively similar, and the degree of distinction is not high, such as distributed storage, distributed cache, RPC, microservices, etc., resulting in frequent confusion when learning, and a feeling of cloudiness;
There are high requirements for practical scenarios . Generally, small projects will not use these skills. The proportion of programmers who can be exposed to distributed system development is relatively small. Even if they know some distributed-related technical concepts, it is difficult to implement them. The formation of technical minds, technologies that cannot be practiced will soon be left behind; there are
many abnormal situations . Compared with a stand-alone system, distributed systems must consider complicated abnormal situations in each link. For example, network abnormal problems that do not exist in a stand-alone system are commonplace in a distributed system. Any influential distributed framework will spend a lot of code to solve these abnormal problems.

**If you have worked for 1 to 2 years and want to further your studies in distributed fields, the most important thing is to systemize your knowledge. **Usually programmers have the following channels to understand a technology:

  1. Blog forum
  2. Official document
  3. books
  4. Course video

These approaches are gradually improving in terms of knowledge systemization. No matter which way you learn, you must constantly update your knowledge base, link this knowledge to form an organic whole, and you will be handy when dealing with distributed problems.

The industry winter is a good time to eliminate low-end programmers, and it is also a good time to work hard to become a senior programmer, so that you can be confident when facing high-paying job invitations.

Guess you like

Origin blog.csdn.net/doubututou/article/details/109231776
Recommended