What does the resume of Alibaba's 120w annual salary P7 architect look like?

Preface

Internet giants such as Alibaba, Tencent, ByteDance, Baidu, Meituan and other companies are IT engineers’ dream companies. Not only do they have good benefits, but they can also work with top talents in the industry. However, due to fierce competition in the industry, large companies The skill level of technical personnel is also relatively strict, especially for the understanding of the underlying technology. This chat will share an interview resume of Ali P7 architects to analyze how to write resumes that can be favored by interviewers from major manufacturers.

How to write a resume so that it will not be screened out by Internet companies

This is a resume of an ordinary architect. The part of the description of personal advantages in the resume looks like this:

First of all, you must specify the concurrency indicators of the system in your resume, such as daily active, registered number, QPS, TPS, etc., which is also commonly known as "God";

Then it must be stated that there is a high-concurrency distributed system architecture experience;

Then the underlying principles of JDK concurrent programming, the underlying principles of collections, the underlying principles of NIO programming, data structures and algorithms, design patterns and other basic skills must be solid, that is, "into the ground" in the common name;

Finally, tuning experience with JVM, Mysql, and Tomcat will definitely add points.

Insert picture description here

This is a description of the personal advantages of the more experienced Alibaba P7 architect. It can be seen that his resume writing skills are the same as the last architect’s resume, but with 3 years of management experience, the current big factory has a deep technical foundation And candidates with team management experience are very popular.

Insert picture description here

You can see the most valuable technology stack this year from the personal skill description of the P7 boss. Have you mastered it?

In terms of Java basics, data structures, algorithms, design patterns, and concurrent programming, these basic skills must be solid, and they must be able to speak from the most basic principles to the machine code level. In fact, basic Java syntax and concurrent programming are the most difficult, understand Only the principle of Linux kernel, compilation principle, and operating system can truly understand concurrent programming;

In terms of framework, the source code of Spring, SpringMVC, Mybatis, Dubbo, and SpringCloud must be proficient, and they must have the secondary development capabilities of these frameworks, and they can be expanded accordingly;

In terms of distributed transaction plug-ins, 2PC, TCC, Saga, transactional messages, and best-effort notification schemes all require in-depth understanding. It is still difficult to solve distributed transaction problems, otherwise there will be no unified framework so far. To deal with it, and Ant Financial’s distributed transaction framework Seata recently exposed loopholes;

In terms of JVM tuning, in recent years, questions about JVM interviews have become more and more in-depth, especially tuning parameters. If you don’t want to remember, you have to gnaw it down, which is the "eight-legged essay" in the common name. There is no way for IT industry programmers. More and more, the involution phenomenon will become more and more serious in the future. It will not be eliminated if the technology is deeper or wider than other candidates. Because the learning cost of JVM is very high, once you master it, you can interact with other peers. Form technical barriers to crush opponents;

In terms of Mysql tuning, big companies attach great importance to the principles and tuning experience of Mysql. If you are more proficient in Mysql tuning than your DBA classmates, you will surely surprise the interviewer;

In terms of middleware, there are actually a lot of technology stacks that need to be mastered. It is not only necessary to understand the principles, but to have actual combat experience is the most valuable;

Insert picture description here

How to combine your work experience to polish your resume

Are you scared after reading the resume of the boss? In fact, many of the students’ companies are not Internet companies, and they don’t have “God”, that is: tens of millions or even hundreds of millions of high-concurrency architecture experience, but you can combine your own work experience. In recent years, most small and medium-sized companies have begun to conduct stress tests , Medium-sized companies may also have full-link stress testing, so you can write it on your resume, and it is a bonus to describe the entire system of full-link stress testing in an orderly manner.

Maybe the company of some classmates is just a traditional company. There is no high concurrency or even full link stress test. There is only a management console system. Then you can rely on your business. There must be very complicated business in your project. You can write on your resume, for example, because an order management system you are responsible for has brought great convenience to the brother team and created great value for the company.

In addition, many students like to write a lot of business on their resumes, and the project responsibilities are filled with various businesses. In fact, this way of writing is very unpopular with interviewers, because it does not highlight technical difficulties, you will It is impossible to fully summarize the details of the technical architecture and what is the point of filling the business.

What technical capabilities does Alibaba hope architects need

A lot of skills have been described above. Alibaba has strict requirements on the understanding of the underlying principles of the technology. In addition, the actual combat experience of the technology must be possessed. Otherwise, if you encounter a problem, you have no experience in this area and you need to deal with it immediately. You just started to learn and understand that it is really uncomfortable. The current architecture pursues close to 100% downtime. If faced with high concurrency and large traffic, many users and traffic will often be lost due to frequent downtime, thus losing business to competitors.

You need to read thoroughly and master the source code of which frameworks

JDK source code such as collection source code, JUC source code, and NIO source code must be mastered. These are the foundation of all other frameworks, so a good foundation must be laid;

The source code of Spring, SpringMVC, Mybatis, Dubbo, SpringCloud framework must be mastered;

The source code of RocketMQ and Kafka middleware must also be mastered. Other MQ middleware is written in other languages, but if you can learn the corresponding language and understand the source code, you will have a deeper understanding of its principles;

Although the Redis middleware source code is written in C language, you also need to have a general understanding of the source code. You can even write your own middleware using GO language to imitate Redis. It is also excellent to understand the thinking contained in the source code;

Zookeeper middleware, as Dubbo's service registration center, has not diminished in recent years, and the inspection of source code is also a focus;

Skywalking middleware provides link tracking functions for distributed services, so the source code is also necessary;

Sentinel middleware provides the function of service degradation and fuse for distributed services, and its source code is in line with the requirements of large-scale distributed technology stacks;

Seata/XTS middleware is distributed transaction middleware of Ant Financial, or distributed transaction middleware developed by other companies, you must master the source code of a middleware;

Mycat/Zdal middleware is a distributed database middleware, and a general understanding of its source code is also necessary. Big companies like to ask surprise questions so that you can extend the distributed database plug-in for a certain technical scenario to meet a certain need. You talk about your own thoughts and examine your understanding of its principles in this way;

Webflux is a responsive programming framework based on Netty. It is often used as a gateway. Large manufacturers have recently favored this framework very much. If you have a basic grasp of its source code, it will fit the technology stack of large manufacturers;

Netty is widely used as a high-concurrency network communication framework, so it is necessary to master the principles. If Netty is not even sad on the side of the big manufacturers, it can be seen that the big manufacturers attach importance to it;

How to make a good impression on the interviewer when introducing projects I have done

Many students always wait for the interviewer to ask questions during an interview, and the interviewer asks one question to answer one. This way the interviewer is very tired and wastes time. If the interviewer asks a question, you can immediately think of related technical difficulties and expand. You can show your technical level to the interviewer more completely.

For example, the interviewer asks you about the principle of ThreadLocal. If you only answer the basic principle, then the interviewer will think that you only understand so little will naturally not give you a high salary, but if you also raise ThreadLocal after answering ThreadLocal, it may cause Memory leaks, and then Barabara talks about the solution, and then talks about the problem that the parent thread cannot pass the updated data to the child thread through ThreadLocal when the thread pool reuses threads. How does InheritableThreadLocal solve the remaining problems? Alibaba's open source TransmittableThreadLocal tool class solves the legacy of InheritableThreadLocal. Finally, I will talk about how Skywalking passes TranceID to the next link across threads. Barabara talked a lot.

Some interviewers may be impatient at this time, but at least they can leave a good impression on the interviewer with good technical depth and breadth.

In addition, some students’ attitudes were not correct during the interview. When the interviewer asked about the work in the project, he would talk about a lot of business matters without mentioning technical details. They would be more or less exposed to technology at work. There will always be some accumulation if only the business does not reflect your experience in designing complex systems.

For example, there is an order management system. Some students only talk about some basic business logic and the flow of data in the database table during the interview. This description is not qualified at all. If distributed transactions are used in the order system, you should When talking about the order management system, I also learned 2PC, TCC and other related components, designed a reliable message final consistency plan, and finally used the best-effort notification plan. We must tell the technical details to reflect our complex system design capabilities .

to sum up

Students must pay enough attention when writing resumes. The interviewer can see your work attitude and technical level from the resume.

In addition, if you want to learn more, please subscribe to my fine articles:

What does the resume of Alibaba's 120w annual salary P7 architect look like?

Guess you like

Origin blog.51cto.com/14892619/2541687