To engage in Java in "Vipshop", what level is needed to achieve an annual salary of 40W?

I graduated in 2014 and have been working for 6 years now. The current annual salary is stable at around 40W. So I will answer this question. It should be considered as having a say, and it can represent the situation of some people. Source: know almost, author: Chen Shuyi

To achieve an annual salary of 40W, according to what I have learned, there are two possibilities: one is that the fresh graduates will get an SP Offer from a big factory (BAT), and the other is that the working life is longer (more than three years).

In the first case, the number of people who got the SP offer, after all, is a minority, otherwise, how could it be called an SP offer. The prerequisite for getting a SP Offer is definitely that you are very, very good, and you may graduate from a good school. I am a student who graduated with a master's degree from Sun Yat-Sen University. In the past few years, I got a Huawei SP Offer with a monthly salary of 18K. If you count the end of the year for 5 months, the annual salary is about 30W. Therefore, it is still quite difficult for fresh graduates to get a 40W annual salary, and it also requires good luck.

The second situation, like the original poster, has a long working life, and the annual salary is gradually increased to 400,000 yuan. Let’s talk about what level it should have to reach 40W.

Basic knowledge

For those who can get an annual salary of 40W, the basic knowledge of Java must be familiar.

For Java development positions, these knowledge points include but are not limited to:

  • The principle of the collection HashMap, and the difference between Hashtable and ConcurrentHashMap?
  • The core attributes and processing flow of Java thread pool
  • Java concurrent package principle, Synchronized keyword, lock
  • Thread life cycle
  • JVM class loading mechanism
  • JVM memory model
  • JVM generation and garbage collection mechanism
  • Spring Bean container life cycle
  • Spring AOP principle
  • Dubbo request process and principle
  • Database SQL optimization, database index, index principle
  • ……

So I am here to sort out a few of the latest Java core knowledge points

Friends in need can click: click this! Click this! , Code: csdn.

Insert picture description here

Seeing so many knowledge points, I was stunned at once. When would I have to read so many points before I could finish it? But I want to understand later. In fact, you don't need to understand all of them, but you need to understand most of the knowledge points, and some of these most knowledge points need to be deeply understood. If you reach this level, you can basically pass the assessment.

Regarding this piece of knowledge, we actually need to systematize it and form our own knowledge system. On the fifth anniversary of my work last year, I wrote an article to sort out my current knowledge system: talk about my knowledge system. This article basically summarizes what knowledge points I have mastered with an annual salary of 40W. It may not be very in-depth, but most of them have used them and have a certain understanding.

The foundation of this piece is, at least, what you need to master is:

  • Collection source code
  • Concurrent collection source code
  • Concurrent package source code
  • Blocking queue source code
  • Thread pool source code
  • JVM principle

Project experience

If you have mastered the above basic knowledge, but do not have good project experience, there is a high probability that you will not get a 40W annual salary. The good project experience mentioned here refers to system development and design experience with high complexity and a certain amount of concurrency.

The complexity is high, and it can be simply and roughly understood as the use of message queues, caches, and microservices in the project. These are the most basic. A little more complicated, you can use netty, ElasticSearch, Canal, Otter, etc. The more complex it is, the more it can explain your technical prowess to a certain extent.

In addition to using these more complex frameworks, you also need to know why these frameworks are used, what problems they solve, what scenarios they are used in, and what are their advantages and disadvantages. If you are just playing soy sauce in a project, the framework has never been used, and you don't know why you want to use it, then this project does not make any sense to you.

E.g:

  • I have done a "Member Information Search Refactoring Project" in which ElasticSearch + Canal is used to achieve tens of millions of real-time searches.

Member information search reconstruction project

  • Another project is the development and transformation of IM instant messaging, which uses RocketMQ + Netty to achieve.

IM system reconstruction

If you have experience in a project like this, and can understand the framework and technology involved in the project clearly, then you can think that you have no problem with the project experience.

Project depth

If you have the above project experience, you will basically have a comprehensive understanding of the entire project, and the problems at the application level will basically not stump you. But in the assessment of "project thinking depth", it is not just a question on the appraisal level.

Still use a search project I have done as an example, in which Canal, an open source framework, does not implement the function of clustering temporarily, then the interviewer asked:

  • How do you transform this project to realize Canal's cluster function?

At this time, you will find that you are confused, because you have never thought about this problem. All your work is thinking about how to use open source frameworks, without further thinking about whether these open source frameworks are good or not and what can be improved.

Therefore, at this level, what is assessed is the depth of your thinking about open source frameworks, whether these frameworks are good, what is good, what is bad, and what can be improved.

The assessment of "project thinking depth" also occurs in the third or fourth rounds of technical interviews. At this level, you must not only have a deep enough understanding of the project itself, but also jump out of the project itself and think about the problems of the open source framework itself.

to sum up

In my understanding, a person with an annual salary of 40W should be able to independently complete the design of a complex system, and take the team as the core development to complete the implementation and delivery of the system. In my company, we have senior engineers (P5) and senior engineers (P6). A very important difference between them is whether they can complete a complex project independently.

If you can complete a complex project independently, then you are eligible to upgrade to P6, and our company's P6 salary can reach an annual salary of 400,000. If it's only P5, then there is probably only 250,000 to 300,000. But to become a P6, not only must you be able to complete a complex project independently, but also require you to reach a certain level of communication skills, expression skills, and project management.

At last

Provide free Java architecture learning materials, learning technology content includes: Spring, Dubbo, MyBatis, RPC, source code analysis, high concurrency, high performance, distributed, performance optimization, microservice advanced architecture development, etc.

Friends in need can click: click this! Click this! , Code: csdn.

There are also Java core knowledge points + a full set of architect learning materials and videos + first-line interview books + interview resume templates can be obtained + Ali Meituan Netease Tencent Xiaomi Iqiyi Kuaishou Bilibili interview questions + Spring source code collection + Java architecture Practical e-book + 2020 latest interview questions from major manufacturers.
Insert picture description here
Insert picture description here
Of course, there is also the learning plan and knowledge map of Ali P8.
Insert picture description here

Guess you like

Origin blog.csdn.net/weixin_48011329/article/details/109564585