preface
The epidemic was almost over, and we all had time and no place to go. Therefore, we communicated with each other in the wechat group to go camping, and then several people went to a mountain ditch together. After dinner, we discussed the impact of the epidemic on the IT industry. IT lap before a few years the development of fast, although there are Internet winter, but never an opportunity, the outbreak is an opportunity, for carried out a shuffle in the fish in troubled waters, a very simple example, a programmer work for 5 years +, has been the company’s technology, the company projects and technology selection is conducted in, After accumulating some experience, I felt that I was ok, so I went to interview an architect, but I was told: you are not capable of architecture, and I was confused. In fact, this is now a common problem of the program.
Currently, the average 5-year salary range for Java programmers is around 15-25K. Is it possible to reach 30K ahead of time? Some people say that only large Internet enterprise engineers can get, small companies can get 30K should have been transferred to management. Especially around me there are such a group of programmers who have worked for a period of time, ** appeared to meet technical bottlenecks, but did not timely technical reflection and planning **. For example, when asked about big data, distributed caching, load balancing, etc., can’t confidently claim to be proficient in them? I think this may be the key to limiting career and salary growth for programmers.
The technical requirements
April comes around, and that means the prime interview period is halfway over. Everyone wants a monthly salary of 30K, but comparing these technical requirements, is it up to the standard?
**1, basic clearance **
Theory is the first hurdle to pass in an interview, which involves the interviewer’s first impression of you. For example, an in-depth understanding of the JVM, memory model, virtual machine optimization, etc., preferably by studying the source code and understanding the underlying design.
**2. Have programming thought and architecture ability **
Java programmers need to improve the breadth and depth of technology in order to achieve technical advancement. Internet enterprises commonly used high concurrency, micro services, source code analysis, distribution and other content need to dabbler.
**3. Master comprehensive Internet mainstream technical knowledge **
From the bottom up, have an in-depth knowledge of Mysql, Redis, Tomcat, Nginx, etc. For example, you need to know the common parameter Settings of Mysql, how to choose the storage engine, but also need to understand the common index engine, etc. This time, however, may be someone will say, I will, these technologies, there are many is often used in real production environment, however, is that you will use, can only say that understanding, not proficient and interview now, basic it is ask the underlying principle and practical tuning scheme, but this knowledge is lacking every programmer, Therefore, more steady and in-depth study is needed.
Technical point
So, what skills does an architect need to master? So I put together the following
**1. JAVA concurrent programming **
< p style = “max-width: 100%; clear: both; min-height: 1em; Because concurrent programming is the most obscure knowledge in Java language, it involves operating system, memory, CPU, programming language and other basic abilities, but also tests the internal skills of a programmer.
**2. Java Virtual machine **
“> < p style =” max-width: 100%; box-sizing: border-box! Important; At the same time, this is one of the important components of Java technology, is an essential knowledge to achieve technological advancement.
3, Nginx * * * *
> Nginx is popular because it is a panacea that can be found in any situation where there is a performance requirement. It can easily implement high-throughput Web services with millions of concurrent connections. At the same time, third-party modules such as OpenResty and Tengine have further developed a new ecosystem, making the application of Nginx further extend to the application firewall, CDN and other fields.
**4, Spring family bucket **
“> < p style =” max-width: 100%; clear: both; It becomes one of the required courses for Java programmers. At the same time, the emergence of Spring Boot and Spring Cloud can help engineers build systems quickly based on Spring and various infrastructures. It can be said that the birth of Spring Boot and Spring Cloud once again liberates everyone’s productivity. Therefore, Spring Boot and Spring Cloud have become integral parts of the Spring ecosystem. To be a qualified Java backend engineer, you must have a solid grasp of Spring Framework, Spring Boot, and SpringCloud.
* * 5, Kafka * *
“> Kafka is a distributed high-performance messaging engine developed by LinkedIn. More and more companies are implementing Kafka in their own systems. Kafka is the preferred data pipeline technology in the era of big data.
* * * * 6, Redis
Redis is the most widely used cache in today’s Internet architecture. Support complex data structures, support persistence, support primary/secondary clusters, support high availability, support large value stores… Redis is also one of the most popular questions to be asked in technical interviews for middle and senior back-end engineers. Especially those excellent and highly competitive large Internet companies (such as Twitter, Sina Weibo, Ali Cloud, Tencent Cloud, Taobao, Zhihu, etc.) usually require interviewees not only to master the basic use of Redis, but also to have a deep understanding of the details and principles of the internal implementation of Redis. It is no exaggeration to say that if you can understand all the knowledge points of Redis, your half foot has already stepped into the technology research and development department of the big company you want.
These techniques are just a few of the common ones that have been compiled, but there is still more work to be done to take the next step. The Java Architect Consortium Public account has prepared some materials for you to learn
Finally, xiaobian send you a sentence: there is never an overnight interview results, although the process is difficult and painful, but as long as you master the right method, standing on the shoulders of giants, you can get the desired results faster. May this April bring good news to all of you.