Java interview must-test points--Lecture 01: Career development path for technical personnel

This class mainly popularizes the job branches and promotion requirements of engineers at all levels, and explains how to quickly find a job with a high degree of matching. The following 8 or 9 classes focus on the commonly used Java knowledge framework lectures and interview points. Before looking for a job, you should have some understanding of the target company, job requirements and interview process, so that you can make targeted breakthroughs.

The content of Lesson 1 has the following aspects, which can help interviewers solve most of the confusion about job hunting:

  1. Common technical staff development paths and BAT promotion requirements;

  2. What are the general procedures for technical interviews;

  3. How to select a position with a high hit rate;

  4. How to prepare before the interview;

  5. The map of inspection points for Java interviews will be explained separately later.

Engineer development path

Let’s start with the career advancement potential of engineers. "Can you tell me about your future career plans?" I believe many people will be asked this question during interviews. Technical positions are the same as other positions. You must first have a plan for your career.

Generally speaking, technicians have two career development directions, one is technical and the other is management. These two paths focus on different ability points, and they need to focus on ability development according to their own interests and ability advantages. , the growth path is shown in the figure below.

In the first 1 to 3 years after joining the job, the development path of technical personnel is relatively simple, mainly from engineers to senior engineers. The main goal at this stage is to accumulate and consolidate the foundation for subsequent development, focusing on improving their basic work capabilities and cultivating technical depth. and breadth, maintaining strong curiosity and a desire to learn new technologies in different directions.

After fighting monsters all the way and upgrading to a senior engineer, you will face a choice of development direction: technology or management.

  1. If you plan to dig deeper in the technical direction, the ascending channels include: senior engineers, technical experts, senior technical experts, researchers, scientists, etc. You need to focus on cultivating technical ability, including troubleshooting difficult problems, functional splitting of large projects, and building technical brands. Specific work includes: principles, implementation, focusing on the cultivation of architectural capabilities, and at a deeper level: large-scale, high-concurrency scenarios, high-availability, scalable measures and solutions, business abstraction, architectural capabilities, and distributed service design principles. Understand etc.

  2. Another direction is management. The management sequence focuses on team control, which requires the team to form technical combat effectiveness, use all resources to advance the project, and allow the team to achieve combat goals. In addition, good communication and collaboration within and across teams is also an important part of management work.

In actual work, there is no particularly clear boundary between the two sequences. For example, being in management does not mean staying away from architecture design; technical experts do not work alone, but also need to lead a team. The difference between these two directions lies in the different focus of the work content: whether it is more technical architecture or more management and project promotion.

Going back to the original interview question, "What is your career plan?", the answer is not to make a draft before the interview and then complete the task, but to have it in mind when you enter the workplace and prepare to become an engineer. A spectrum.

Here is a little interview tip for you. Maybe you can get a lot of extra points by answering like this: "From past experience, I am more interested in the overall planning and management promotion of projects, and I also have outstanding performance in task promotion and coordination and communication. So my career plan is to become an excellent technical manager, with management as my development goal." Following this, the interviewer may start asking about your relevant experience.

Classification of common technical positions

In addition to having a clear career plan, if you want to go higher, you must also understand the division of ranks and the corresponding soft and hard skill requirements. In this way, you can consciously make up for your shortcomings and improve your skills while working.

When applying for positions in different companies and at different levels, which skills should you focus on improving? The answer is very simple.

Refer to the figure below to briefly introduce the position division, corresponding working years and ranks of BAT's technical sequence.

  • Junior engineers with 1 to 3 years of experience. Positions at this level rarely carry out social recruitment in major companies such as Alibaba, Baidu, and Tencent. They are usually promoted internally through school recruitment.

  • Senior engineers generally need to have 2 to 5 years of work experience. This position corresponds to T4 in Baidu, P5 in Alibaba, and T2-2 in Tencent (corresponding to T7 in Tencent's latest rank system).

  • Senior engineers generally require 3 to 6 years of work experience. This position generally corresponds to T5 in Baidu, P6 in Alibaba, and T2-3 in Tencent (corresponding to T8 in Tencent's latest rank system). Senior engineers and senior engineers are the absolute technical backbone of each company, and the company attaches great importance to the growth and training of these talents.

Technical experts and senior technical experts need at least 5 years of experience in the Internet industry, so I won’t go into details here. Please remember this table. The specific interview points for the three positions of junior, senior and senior engineers will be detailed later.

Interview position selection

After clarifying the development direction and job level, it is time to choose a company and position. You may have encountered this situation when changing jobs: a company has several technical positions, do you need to apply for them all? I have multiple offers in hand, how should I choose? Should I choose the one with more money, or the one with a big platform and good benefits?

Let me give you a suggestion: When selecting a position, you generally start from the following aspects: the size of the company, the importance of the business line or team, and the matching of personal conditions.

Company and Team

Let’s look at the company and team first. There should be a concept: every job now is a preparation for the next better job.

Large factories are more suitable for gold plating to increase their value, and core business is more suitable for long-term stable development. Joining the core team can achieve greater growth in ability and experience.

As shown in the figure below, the first quadrant is the first situation. The core business of a large company is undoubtedly the best choice, but it is also the most competitive. Try to find one that matches your own abilities. Don't compete with many experts and waste valuable time. Job hunting time and opportunities. The third quadrant, the marginal business of small companies, is definitely a last resort and alternative.

There are two remaining situations: one is the marginal business of a large company, and the other is the core business of a small company.

This is also the most troublesome choice. Let me give you a suggestion: For those who have worked for 1 to 3 years, I recommend giving priority to the core business. I mentioned before that the main task in the early stage of your career is to accumulate knowledge and experience. The core business can provide you with more experience scenarios, and you can gain good gains in both application experience and architectural experience.

personal fit

Another factor is shown in the figure below, personal compatibility. Not everyone is born to be admitted to Tsinghua University and Peking University. Everyone has to evaluate their scores before applying for the university. The same is true in the workplace. You need to objectively evaluate your own conditions first, and then make the right choice. The scope of evaluation includes job requirements, business direction, and the degree of matching with one's own abilities, interests, experience, etc. The higher the degree of matching, the higher the success rate of the interview will be, and it will be more conducive to personal development after joining the job.

To sum it up in one sentence: give priority to core businesses and positions that closely match your own conditions.

Common interview process

After clarifying the previous points, you must also understand the interview process before looking for a job. I have seen some candidates who did not understand the interview requirements and came directly without preparing for the corresponding round of interviews. This is likely to waste an opportunity.

For technical positions, the interview process of most companies is basically the same, as shown in the figure below, which is divided into 6 links.

  1. First of all, there may be some preliminary interviews. If you are applying for a position in a different place, you may arrange a phone interview first to get a general understanding of the candidate's situation and technical level. There are also some companies that will conduct a written test or computer programming before the formal interview. Therefore, before the first interview, you must communicate with the interviewer whether there will be a telephone interview first, whether there will be a written test or computer programming, whether you need to bring your own computer and other details.

  2. The formal interview starts from the technical side, and there may be 1 to 2 interviewers. They are likely to be your colleagues in the same group after joining. One side mainly tests basic abilities and practical application abilities. It lasts about 1 hour and is a purely technical interview. You may be asked to write some small algorithms by hand, such as sorting, string processing, etc. For specific test points in this area, you can pay attention to the algorithm interview class later.

  3. The second aspect of the technical aspect is also focused on the technical aspect, with emphasis on technical in-depth examinations, such as project experience, architectural capabilities, algorithms, etc. The interview lasts about 1 hour, and you may be asked to draw the project's architecture diagram, interaction flow chart, etc., and review the project. Inquire about existing problems and improvement plans. Generally, the technical interviewer will be your immediate supervisor after joining the company.

  4. Some smaller companies end up with the second level, while most companies will have the third level of technology. The third technical interview is generally a semi-technical interview. There will be some questions about project experience and architectural design. In addition, it will also involve issues such as career planning, career interests, and technical vision, focusing on architectural capabilities, technical sensitivity, and development potential. The interviewers on three sides are usually department leaders. There are also a small number of companies that have four technical aspects. For example, when Tencent interviews for higher-level positions, there will be cross-department interviews, and the interview content is basically the same as the three aspects.

  5. If you are lucky enough to pass the previous rounds of technical interviews, then you will enter the HR interview stage. After this stage, there will basically be no technical interviews. They mainly communicate about personal development plans, reasons for leaving the previous company, values ​​and salary packages. wait. If you are particularly looking forward to this company, be careful not to miss the opportunity at this stage because you are struggling with the salary of 1-2k. In the early stage of work, the focus is on accumulating abilities, and we will talk about remuneration after three years.

  6. After the HR interview is the company-level executive interview. The specific round depends on the situation. Generally, the first and second interviews are mainly non-technical interviews. They may briefly ask about work experience, views on the company, views on the industry, future plans, etc. As long as If there is no principled error, it will generally pass.

The overall summary is as follows:

  1. Before the interview, ask whether there will be pre-interviews such as telephone interviews, written tests, and computer interviews;

  2. The technical side and the second side focus on practical work ability;

  3. The second and third interviews focus on structural capabilities and development potential. The second and third interviews generally determine your entry level, so you must perform well.

Preparation before the interview

Suppose you have an interview tomorrow, then the preliminary preparation work plays a decisive role in the success or failure of the interview. The three cornerstones that influence a successful interview are: ability, mentality and communication.

  1. ability. Excellent basic technical skills are a necessary condition. After all, the company recruits you to solve problems. Without technical skills, other things are impossible;

  2. mentality. Pay attention to a balanced mentality. Being too nervous may lead to failure to answer the usual questions;

  3. communicate. Smooth communication with the interviewer will give you extra points for the interview; conversely, if the communication is not smooth, it may become a fatal blow and you will be passed directly.

So, how to perform stably during the interview?

  1. Interview inspection points can be raided in a short period of time, and they are also important preparations before the interview.

    1. Review basic knowledge systematically.
    2. Refining work experience, and re-examining, sorting out and summarizing the original projects from the structural aspect.
    3. Learn the principles, usage scenarios and implementation methods of some typical frameworks, and conduct special attacks on frequently used test points.
    4. Read the source code of the frequently used test points.
    5. Prepare specifically based on the business of the interview position. For example, when interviewing for a position in the middleware direction, you can highlight your experience in storage middleware development, link protocol layer design experience, etc.
  2. Regarding mentality, before the interview, collect information from various aspects such as the interviewing company, the team to which the position belongs, and average benefits. Knowing yourself and the enemy will help increase your self-confidence. As a reminder, some companies like pressure interviews, especially when the interviewer is of a higher level. If you give yourself more psychological hints and control your emotions in unfavorable situations, you may have unexpected gains. For example, you may never meet this interviewer again, so it’s no big deal if you fail.

  3. In terms of communication, I would like to give you some suggestions.

    1. Prepare a short and distinctive self-introduction in advance, mainly describing your technical expertise and professional advantages. Be sure not to talk about irrelevant content such as hobbies, hometown, and horoscope.
    2. To avoid a cold moment, you can take the initiative to confess the questions you can't answer and provide ideas for solving the problems, or ask the interviewer if you can change the question.
    3. If you don't hear clearly or don't understand the question, don't force the answer. You can confirm the question with the interviewer again.
    4. Pay attention to some details, such as: your interview micro-expressions, don’t frown, control your sitting posture and gestures, don’t speak too fast or too slow, express logic clearly, have clear opinions; don’t interrupt the interviewer at will, be humble and polite, etc.
      Another tip is to pay attention to the interviewer's reaction. If the interviewer suddenly writes furiously on his resume, it means that the information you provided is useful. If he stops writing for a long time, you have to think about whether he has gone off topic; if the interviewer's expression shows impatience, Or take a deep breath. Maybe you didn’t understand the interviewer’s intention, so you can ask again.
Interview inspection points

The interview points are very comprehensive and are generally divided into hard skills and soft skills.

  • Hard skills include: mastery of basic knowledge, previous project experience, the ability to design system architecture, and the ability to comprehensively apply different frameworks and tools.

  • Soft skills generally include: whether logical thinking is flexible, whether communication, presentation, and collaboration skills are excellent, whether there is strong project management and promotion capabilities, new technology learning, summary and thinking abilities, and cultivation potential.

As mentioned in the BAT rank chart earlier, different levels of positions must have different ability requirements. Here we use a radar chart to show it, as shown in the figure below.

First of all, for junior and intermediate engineers, the basic requirement is to be able to complete the assigned R&D tasks, so the interviewer pays more attention to the mastery of basic knowledge, whether logical thinking is flexible, and whether there is development potential. The second is project experience and learning and thinking ability. However, architectural ability, management promotion, communication and collaboration abilities are limited by working years, and there are no higher requirements for these aspects.

For senior engineers, they generally need to independently complete the design and development of functional modules or sub-projects. Therefore, in addition to the abilities that junior engineers should have, they also have higher requirements for project experience, communication and collaboration, architectural capabilities, learning and thinking, and management advancement. , especially project experience and the ability to learn and think.

For technical experts, they must have project structure, project experience, management promotion and communication and collaboration skills, be able to independently take charge of a project, complete the project structure, complete the disassembly and task allocation of functional modules, and promote internal and external affairs of the team , Coordinate resources, manage progress, and lead the technical team to complete mission goals.

Warm reminder: being good at soft skills is definitely a plus for a technical engineer's career.

Hard Skills Genealogy

A systematic review of the hard skill inspection points is provided, which is also the focus of the next few classes, as shown in the figure below.

  1. Basic knowledge is divided into two parts: computer basics and Java system, including process and thread management; TCP and HTTP network protocols; data structures, classic algorithms; common design patterns, etc. Bonus points for the interview, for example, new technologies: new features of Java 8~11, G1, ZGC garbage collection algorithm, the latest network protocols HTTP2, QUIC; depth of knowledge: memory barriers, instruction rearrangement, JIT compiler, escape analysis wait.

  2. The project experience section explains how to present your own project experience, including project description, flow chart, project difficulties, project problem analysis and improvement, etc.

  3. The applied knowledge part takes into account the breadth of knowledge and the depth of knowledge in key frameworks. Including common tools, common frameworks, caches, queues and databases, etc. Among them, the toolset is mainly based on knowledge breadth and practicality, such as JVM tools JFR, tcpdump, Git, vmstat, iostat, etc.; the application framework is mainly based on common test points of classic architecture, including key knowledge of mainstream frameworks such as Spring and Netty. Cache, queue, and database will be mainly used in application scenarios.

  4. The architectural capability mainly introduces the microservice architecture, explains the architectural concepts and application scenarios, and also includes the implementation of some key mechanisms. For example, Docker, K8s and Spring Cloud, etc.

Starting from the next lesson, we will enter the content of improving hard skills.

Guess you like

Origin blog.csdn.net/g_z_q_/article/details/129739744