In 2021, I can finally "Versailles" again! Tencent 6 sides, byte beating on three sides at once-the side is served

Gossip written at the beginning

2020 has passed. For many people, there has been too much this year. It may be a relatively strong stroke in the memory of the past ten years. In the past year, "simmering" is my keyword at this stage. It is true that I have to give up too often. Fortunately, I have "simmered" and have a very good start in the new 2021. I I got my favorite offer.

To put it simply, just like the title, I also want Versailles today. It turns out that the interview at the big factory is not as difficult as I imagined. Bytedance 3 sides + Tencent 6 sides, it's just a one-time pass, the following is detailed Let’s talk about the experience of my big factory in detail, hoping to provide some experience to friends who are going to interview.

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

PART1: Bytedance 3 rounds of interview scenes reproduced

——The first side of byte beating:

The first aspect must be relatively simple, so the central state of the whole process is relatively stable, and there is not much tension. This round is mainly to investigate the basics, and then ask some project-related questions.

①Basic knowledge of TCP

  • Question 1: Please describe in detail the process of the three-way handshake and the four-way wave (requires familiarity with the mechanism of the three-way handshake and the four-way wave, and draw a state diagram)
  • Question 2: What is the purpose of the TIME_WAIT state with four waves? (It is required to draw a state diagram of four waved hands, and then the question will be extended, asking why four waved hands are four times and not two times?)
  • Question 3: What mechanism does TCP use to ensure reliability? (This question is simple, but it needs to be answered more comprehensively. It needs to be answered from four aspects, including ACK confirmation mechanism, timeout retransmission, sliding window and flow control, and even the flow control mechanism in detail.)

②Basic knowledge of language

  • ByteDance is based on Go, so even though it is a back-end position, you will be asked how much you know about Go and how much do you know about other languages?
  • Basics of Java Syntax

③Basics of network programming

  • Question 1: What are the network IO models? (5 network I/O models, blocking, non-blocking, I/O multiplexing, signal-driven IO, asynchronous I/O. From data from I/O device to kernel mode, kernel mode to process user mode are described separately The difference between these 5 kinds.)
  • Question 2: What is the difference between select/poll/epoll in I/O multiplexing? (From the mechanism of select and the three shortcomings of select, explain the epoll mechanism and how epoll solves the three shortcomings of select. Also talk about the difference between horizontal trigger and edge trigger in epoll.)

④HTTP related foundation

  • Question 1: What will the client experience when accessing the URL to the server? (From the seven-layer network model, the whole process of HTTP->TCP->IP->link explains the message generation and transmission process)
  • Question 2: Describe the difference between HTTPS and HTTP (from the difference of ports, and how HTTPS is based on SSL and encryption)
  • Question 3: The format of the request message and response message of the HTTP protocol (It is necessary to be very clear about the components of the request message and the response message, and it is required to write a specific case.)
  • Question 4: What are the HTTP status codes? (From 2xx, 3xx, 4xx, 5xx to give examples of common codes, the interviewer will ask the difference between 301 and 302, and in which scenes 500/503/504 appear respectively.)

⑤Basic knowledge of cache and database

  • Question 1: Describe what data structure redis has? (There are 5 basic data structures and 4 advanced data structures. The interviewer also asked about the principle of BloomFilter and the realization principle of Zset, mainly explaining the jump table.)
  • Question 2: MySQL scenario topic (interviewer provides scenarios, asks to write query SQL, examines joint statements, how to page and optimize complex statements.)

⑥Naked writing algorithm

  • Non-recursive pre-order traversal of the tree.

——The second side of byte beating:

①Project experience

The questions on the two sides are basically based on personal project experience, and a series of questions are raised according to the project. The process is not much different from the usual interviews with other companies. The interviewer will ask you to introduce your own company's project. During the introduction, you will ask questions based on the details you said. Generally, it will be extended to the difficulty and structure of the project. In terms of, for example, if you want to tell us the difficulty encountered in the project, and the solution, and then go deeper to ask if there is a better solution.

  • Distributed projects, test points: distributed transactions, distributed consistency;
  • API business, test points: (1) Load balancing, CDN, DNS and other issues; (2) HTTP related issues, such as describing the difference between HTTP versions, etc.;

②Naked writing algorithm

  • Back row matrix traversal

——The third side of byte beating:

①Project experience

  • The same is to investigate the project experience, but different from the second side, the third side pays more attention to the aspect of system design. The general situation is that you are asked to describe the project experience that is different from the two sides, and ask the details to ask about your project plan, shortcomings, and areas for improvement.
  • Requires modularity: If the current system is to be a microservice architecture, how to split the service? What are the rules for splitting?
  • Review the knowledge of microservice microservice architecture: service governance (current limit, downgrade, circuit breaker)

②Naked writing algorithm

  • The nearest common ancestor of multiple nodes in a binary tree

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

PART2: Tencent 6 scenes reproduced

——Tencent side:

① Ask questions about microservices:

  • Microservice architecture
  • Implementation of the framework
  • Service governance
  • Distributed consistency

②Log monitoring system:

  • Investigate the architecture and ELK related knowledge, focusing on describing some of the architecture principles of ELK, such as the principle of inverted index;

③Message queue:

  • Can messages in Kafka be consumed by multiple consumers?
  • Election mechanism
  • HW mechanism

④Database and Redis are related:

  • Principle of Index
  • The difference between several transactions
  • data structure
  • How to realize the delay queue
  • Principle of Distributed Lock

⑤Other open issues:

  • Open problems, but do not describe too much, such as problems encountered in the project, how to solve them? Describe the running problems during the production process and describe the troubleshooting problems.

——Tencent two sides (written test):

Investigating the basic knowledge of the technology stack language for a specific post, the topic is not difficult, and it requires a solid foundation and breadth. The text will not go into details, and the general topic will be organized into a pdf file.

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

——Tencent three sides + four sides (technical leader side):

Tencent’s three and four sides are all from the technical team leader. This stage is relatively tense. The interview content is mainly about problem-solving ideas and project experience, examining the breadth of personal mastery of technology, involving comparison Multi-architecture design.

  • project
  • Open questions: problem-solving ideas, collaboration issues between colleagues.
  • Load balancing
  • algorithm
  • How does ngnix limit current?
  • The difference between four-layer LVS and seven-layer Ngnix
  • Design Ideas of Microservice Architecture

——Tencent five sides + six sides (technical director side):

The interviewer on these two sides should be the technical director. The difficulty of the interview should be the most difficult in this set of procedures. It mainly examines the two aspects of the interviewer, including system design and architecture design. The interviewer needs to have a deeper understanding of technical knowledge and understanding.

①Questions regarding system design:

  • How to design the spike system? It is explained in four aspects: access layer, interface layer, message queue layer, and logic layer. The access layer can do service management related things, and the interface layer can deal with snap-up switching, black and white lists, and random rejections. The logic layer implements specific snap-up logic. It involves redis distributed locks and the consistency of DB and Redis.
  • Several implementations of distributed transactions. Focusing on the differences between these implementations, the interviewer asked me to draw a diagram of a distributed transaction architecture based on a reliable message service-based message queue, and then how to ensure message reliability and consistency for upstream and downstream services.

② Ask questions about the microservice architecture:

  • The principle of service split
  • RPC framework principle
  • Configuration management (etcd) consensus protocol raft election principle

③Other:

  • Service governance
  • Service current limiting algorithm
  • Service degradation indicators and recovery indicators
  • Service fusing

④Open issues:

  • In the project, how did you solve the most impressive problem you encountered?
  • During the interview process, which question do you think the interviewer asked impressed you the most and why?
  • Have you encountered any difficulties in your life?

PART3: How did I prepare for the interview?

①Prepare your resume (stepping stone, programmers who don’t know how to package resumes can only outsource)

Programmers must work harder on their resumes, especially for some words, such as "proficient, familiar, and understanding". The difference between the three must be clearly distinguished, otherwise you are digging holes for yourself. Of course it will not be packaged. I can give you my resume for your reference. If it is not enough, then you can choose from the following resume templates:

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

②Understand the interview company, do your homework, and know what to ask

I also made the following summary for the interview sites of major Internet companies:

  • Alibaba, Baidu, Tencent

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

  • ByteDance, Meituan, JD

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

③Combine the knowledge system and learn to learn from other things

In fact, combing the knowledge system is the easiest thing, but many developers are always confused. In fact, we can summarize and sort out what we should learn and master from the interview site of the second point. My method is "Dachang interview sites" + "working years" to sort out my next learning and development roadmap.

After that, you need to carry out targeted learning based on the key points on the roadmap. In the learning process, learn to draw inferences, learn to write notes, and make summaries.

Here I share some of my personal notes:

  • Java development core notes

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

  • Redis study notes

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

  • SpringBoot core technical notes

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

④Swipe the interview questions

I don’t think I need to say more about the importance of brushing questions. For fresh graduates or people who have not worked for a long time, on the one hand, you can quickly understand a certain technical point by scanning the interview questions. On the other hand, during the interview, there is a certain chance of being asked the same or similar questions. In addition, you can more or less increase your self-confidence in the interview, which shows that it is necessary to apply appropriate questions.

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

For the first time in Versailles, ByteDance 3 sides + Tencent 6 sides once. Let’s talk about my big factory experience

 

Written at the end of the summary

The last thing I want to say is that the gold three silver four one in 2021 is about to arrive in the blink of an eye. It is a good opportunity for many people to change jobs. Interviews with big factories are far less difficult than we think. Set your mindset and prepare yourself. It is possible.

In addition, if you encounter problems in the interview, you might as well try to talk about your own ideas, because some problems are not about our programming ability, but the ability to express logical thinking. Finally, we usually need to conduct self-analysis and evaluation, make a good career plan, and constantly Explore and improve your programming skills and abstract thinking skills.

In the above article, all the notes, interview questions and other materials mentioned can be shared for everyone to learn for free, as long as you: [forward] + [comment] the article, add VX: Mxy98811 to get it

 

 

 

Guess you like

Origin blog.csdn.net/sinat_37903468/article/details/112236781
Recommended