Java programmers with a monthly salary of 40K in Beijing, what technology stacks do they need to master to match Ali P7?

Now the salary of Java-related positions is getting higher and higher, and the increase is getting bigger and bigger.

It can be viewed through the data of the staff. Take Beijing Java related positions as an example. Among them, [20k-30k] Java engineers with salaries account for 30.8% of the total practitioners!

"Salary Income Level" of Beijing Java Engineer

What kind of technology stack does a Java programmer with 40K in Beijing need to master to match Ali P7?

 

If you are in a small and medium-sized company, in fact, around 20K is almost the limit, and it is very difficult for you to continue to increase your salary. In Alibaba P7 level Java technical personnel, the salary can easily reach 30K-50K, which is not counted as shares and year-end bonus.

What kind of technology stack does a Java programmer with 40K in Beijing need to master to match Ali P7?

 

But is it really difficult to become an Ali P7 level programmer? In fact, it may not be.

Technologies that Java architects need to master:

1. Be proficient in using various frameworks and know the principles of their implementation.

2. Principles and tuning of jvm virtual machine, knowing jvm allows you to write code with better performance;

3. Pool technology, what kind of object pool, connection pool, thread pool... Java reflection technology, the necessary technology for writing frameworks, when encountering serious performance problems, alternatives to java bytecode technology;

4. nio, there is nothing to say, it is worth noting the characteristics of "direct memory" and usage scenarios; java multi-threaded synchronization and asynchronous; the realization principle of various collection objects in java. Understanding these will allow you to choose the right data when solving problems. Structure, efficient problem solving, such as the implementation principle of hashmap, many people with more than five years of experience can’t figure it out, and why are there performance problems during expansion? If you don’t figure out these principles, you can’t write efficient code. I think I did it right;

In a word, the more basic things are more important. Many people think that they can use them to write code. In fact, they only know how to call the API, which is far from being able to use them.

5. Proficiency in using various data structures and algorithms, such as arrays, hashes, linked lists, sorting trees... In a word, it is either time for space or space for time. It can be said that there are a lot of things to expand here, and some application experience is required. Used to solve various performance or business problems.

6. Familiar with Linux operating system, essential, nothing to say.

7. Familiar with the tcp protocol, creating the whole process of three-way handshake for connection and four-way handshake for disconnection. If you don’t understand, you cannot optimize high-concurrency network applications. Familiar with the http protocol, especially the http header, I have found a lot of work for more than five years They can't figure out the life cycle of session and cookie and the relationship between them.

7. System clustering, load balancing, reverse proxy, dynamic and static separation, static website. Distributed storage systems nfs, fastdfs, tfs, Hadoop understand their advantages and disadvantages, and applicable scenarios. Distributed caching technology memcached, redis, is necessary to improve system performance. In a word, put the content on the hard disk into the memory to speed up, and by the way, mention an algorithm consistency hash.

8. The necessary skills for the tool nginx are super easy to use, high-performance, basically a server that will not hang up, and many functions to solve various problems.

9. Database design capabilities, mysql essential, basic database tools, free and easy to use, optimization of its basic parameters, slow query log analysis, master-slave replication configuration, at least half a mysql dba. Other nosql databases such as mongodb.

10. There are also queue middleware. For message push, you can first write the message to the database, push it to the queue server, and then the push server will go to the queue for processing, so that the message can be put in the database and queue and directly feedback to the user. The push process is performed by the push server and queue. Server completion, benefits of asynchronous processing, alleviating server pressure, and decoupling the system.

The above are purely commonly used techniques, and there are a lot of them to explore slowly; because there are so many things to know, so to become a qualified architect, you must have a strong self-learning ability, no one will teach you hand-in-hand everything.

If you want to become an architect, you don’t need to know a lot of technologies. These are the basis and tools for solving problems. How to provide solutions if you don’t understand these? This is a necessary condition for becoming an architect.

Architects must put forward design solutions that can solve problems and low cost according to business characteristics and system performance requirements to be qualified. A system with hundreds of users will not have a large amount of access and a small amount of data. You can cluster and upload to others. Distributed storage and high-end servers are constructed for the sake of architecture. This is very nonsense. The role of the architect is to meet business needs and use low hardware network costs and technical maintenance costs.

Architects also need to foresee in advance the solution to the next stage of system architecture according to the business development stage, and consider the upgrade and expansion of the architecture when designing the current architecture, so that it is easy to upgrade; otherwise, the system bottleneck will come, and problems will occur. Going to the plan again, or the existing architecture cannot be extended, throw away and redo, or expand a lot of troublesome problems, which will cause losses to the enterprise.

Ali P7 corresponds to the learning technology stack

  1. Multithreading and high concurrency programming
  2. Introduction and detailed explanation of spring and ioc
  3. Simple construction of maven, spring AOP
  4. Explanation of circular dependency and proxy mode in spring
  5. SpringBoot mvc project structure development hot deployment
  6. SpringBoot web project integrates data sources, Thymeleaf
  7. Project development-Thymeleaf, Jpa, Bootstrap
  8. mybatis integrates SpringBoot, mybatis-generator
  9. Role, process, and task allocation in enterprise project development
  10. pageHelper, page turning, Example usage, asynchronous form
  11. Development-RBAC, table design, YAML, project configuration
  12. Development-RBAC front and back end, mybatis multi-table, thymeleaf
  13. Development-Odata, Restful, SpringBoot file upload
  14. Development-Authorization, Icheck, Mybatis plus
  15. Tengine principle, comparison, deployment, configuration, virtual host
  16. Tengine reverse proxy, load balancing, session sharing, etc.
  17. Tengine dynamic and static separation https SSL asymmetric encryption
  18. Nginx OpenSSL self-signed certificate xca FastDFS introduction
  19. FastDFS deployment principle integrates Nginx JavaAPI
  20. High Concurrency Load Balancing: Principles of Network Protocols
  21. High concurrent load balancing: derivation of LVS's DR, TUN, and NAT models
  22. High concurrency load balancing: DR model test construction of LVS
  23. Principles of Spring Environment
  24. High-concurrency load balancing: LVS high-availability construction based on keepalived
  25. Spring listener
  26. FastDFS keepalived high availability zookeeper
  27. dubbo demo, role, RPC, principle, RMI
  28. Project microservice split registration center, dubbo admin
  29. WeChat public account project under dubbo
  30. Spring AOP principle
  31. dubbo core configuration aggregation project construction
  32. Multi-level cache architecture solution for billions of traffic, openresty Lua
  33. Multithreading and high concurrency programming one
  34. Redis string type & bitmap
  35. redis的list、set、hash、sorted_set、skiplist
  36. Redis message subscription, pipeline, transaction, modules, bloom filter, cache LRU
  37. Redis persistent RDB, fork, copyonwrite, AOF, RDB&AOF mixed use
  38. Redis cluster: master-slave replication, CAP, PAXOS, cluster shard cluster 01
  39. Redis cluster: master-slave replication, CAP, PAXOS, cluster sharded cluster 02
  40. Redis development: spring.data.redis, connection, serialization, high/low api
  41. Zookeeper introduction, installation, shell cli use, basic concept verification
  42. Knowledge of zookeeper principles, paxos, zab, role functions, API development basis
  43. Zookeeper case: distributed configuration registration discovery, distributed lock, ractive mode programming
  44. 100 million-level traffic, multi-level cache, and high-concurrency system architecture
  45. Spring Cloud microservice overview and registration center construction
  46. Multithreading and high concurrency programming 6
  47. 100 million-level traffic, multi-level cache, high-concurrency system architecture, actual combat IV
  48. Calling and fuse degradation between microservices
  49. Use of microservice gateway, link tracking, and configuration center
  50. 100 million-level traffic, multi-level cache, high-concurrency system architecture, actual combat five
  51. Multithreading and high concurrency programming seven
  52. 100 million-level traffic, multi-level cache, high-concurrency system architecture, actual combat 6
  53. Spring source code summary
  54. Online car-hailing project combat 1: Passenger user functions
  55. Current limit of billion-level flow system architecture
  56. Online car-hailing project actual combat 2: interface security design and distributed locks
  57. Expansion of billion-level flow system architecture
  58. Downgrading of billion-level flow system architecture
  59. JVM entry and class file format
  60. Java NIO
  61. Distributed transaction principle of billion-level flow system architecture
  62. The actual traffic distribution layer of the billion-level traffic system architecture
  63. Car-hailing project actual combat 3: message queue application
  64. Explain the Class loading process in detail
  65. The actual domain name and https of the billion-level traffic system architecture
  66. E-commerce system details page PLAN A
  67. Static file generation-rsync
  68. NIO之ByteBuffer
  69. Online car-hailing project actual combat 4: project summary
  70. Java memory model
  71. Static document generation business process and technology selection solutions
  72. Arica develops actual CRUD
  73. Netty's NIO selector
  74. Memory barriers and JVM instructions
  75. Static file generation
  76. html synchronization, home page generation, batch generation, health check
  77. Single machine transaction, concurrent lock, stress test
  78. Netty's memory management
  79. Java runtime data area and common instructions
  80. Application scenarios of html architecture, capacity expansion, implementation of static paging
  81. Paging logic 2, dynamic and static, lua access mysql
  82. resty_template, implementation of static file compensation mechanism
  83. Summary of high-concurrency projects with billions of traffic
  84. Proficient in mysql tuning master class
  85. Essential theoretical knowledge for JVM tuning-GC Collector-Three-color mark
  86. PS+PO tuning actual combat
  87. Netty course summary
  88. JVM tuning actual combat
  89. Blockchain-Bitcoin, mining, and speculation principles
  90. Blockchain-Ethereum principle
  91. Blockchain-ghost protocol, pow, pos
  92. JVM actual combat tuning 2
  93. Blockchain-DPOS consensus protocol, solidity smart contract development
  94. Blockchain-solidity handwritten cryptocurrency
  95. Messaging Middleware-ActiveMQ
  96. Garbage collection algorithm talk
  97. apache dubbo
  98. spring cloud
  99. Learning and thinking of service mesh microservice design
  100. JIRA sum findbugs
  101. jenkins+code inspection

Atlas of the seven systems:

Need a more detailed map to see the welfare package at the end of the article

1. Multithreading and high concurrency


 

2. Case-based practical guidance for JVM tuning


 

3. Analysis of operating system principles that are often asked


 

4. Interpretation of network principles from the bottom up


 

5. Case-style in-depth analysis of 23 design patterns


 

6. Design a prototype


 

 

7. No dead angle analysis netty at the source code level


 

 

 

Fan benefits:

Explaining welfare resources for fans: Specially explain free tutorials to teach you how to learn, source code, distributed, microservices, performance optimization, multi-threaded concurrency, from 0 to 1, to show you the essence of the bottom layer.

Click here to get it for free! !

Electronic source code book series

What kind of technology stack does a Java programmer with 40K in Beijing need to master to match Ali P7?

 

Redis series

Fan benefits:

Explaining welfare resources for fans: Specially explain free tutorials to teach you how to learn, source code, distributed, microservices, performance optimization, multi-threaded concurrency, from 0 to 1, to show you the essence of the bottom layer.

Click here to get it for free! !

What kind of technology stack does a Java programmer with 40K in Beijing need to master to match Ali P7?

 

Redis series

What kind of technology stack does a Java programmer with 40K in Beijing need to master to match Ali P7?

 

Spring source code analysis

 

 

 

 

 

Guess you like

Origin blog.csdn.net/m0_46995061/article/details/114178325