Friends one year of work experience quit beating byte recruit experienced social share (already take offer)

 

 

Although near the end of the year, but still the initiation of the idea to look at new opportunities, the main reason is that the bottleneck in the current job encountered technological growth, and therefore wanted to do something more challenging work. Because there are still ready to continue to work in Shenzhen, and therefore selected three companies, Tencent, byte beating and shopee, job orientation is still considered background development (other positions were not on the plane ah, sad). Although the end-hop can not get year-end awards, but I think and develop their own personal career is nothing compared to, the best time is always present.

ready

Finalize the direction and goals after the system is ready to start, is divided into the following areas to prepare.

Algorithm title

Has previously been seen by other people's faces move society knows headlines round technical problem has algorithm, which is a usual practice is relatively small, brush strokes problem at school have forgotten a lot. Therefore, when the algorithm systematic review title it took more time. First, a quick brushing wins the offer, when the school has recruited brushed on both sides, so now brush up relatively faster. Then there's the question of eating LeetCode, LeetCode title more, I think brushing is basically impossible in just a few weeks, so I mainly go by type brush, brush a few of each type will have more feeling. The title list such as priority and the double pointer recursion to solve the problem stacks and queues with priority queues or two stacks to solve the problem basically recursion tree. But the question arrays and strings tend to be more flexible, this problem can only try to brush up. Usually go to work to brush the question is not easy, I used method is to look at the title, open LeetCode site using a mobile phone, would like to direct solution after reading the title, stroked his mind about how to write the code, can think of too, want not out to look at someone else's solution, use this method to brush up quickly. This way you may be concerned that wrote not complete the interview, in fact, do not worry too much, because when the interview the interviewer to see the core idea of ​​what you write is correct, the boundary processing is basically over, interview time is limited.

Theoretical basis

This is a major basis for a fast review, the main language (I mainly use C ++, so review C ++), operating system and network programming. The school will move this one more problem, move this one to ask community is relatively small, but if this one does not come to play is more embarrassing. Language is not to say, this one we should all know what examinations, school recruit, after all, when all ready been crazy. Operating system to see memory management, process management and file systems, virtual memory generally ask more. This network programming including TCP / IP protocol, HTTP protocol, three aspects of network security. TCP / IP is the main three-way handshake, four wave, these questions often test the role of the TIME_WAIT wait. Investigation protocol HTTP return code HTTP protocol, HTTP and the like. Of particular note is a detailed process HTTPS encryption to be very thorough, otherwise prone to feeling like everything clear, but I asked a little say. The last is the network security, but also mainly on the WEB security, including XSS, CSRF, SQL injection and so on.

Back-end technology

Here's the back-end technology mainly refers to the work to use some of the basic components, some common back-end architecture. The main prepared MySQL, Redis, message queues, zookeeper, distributed system architecture design and docker. MySQL main saw "MySQL 45 stresses" geeks time, with regard to the transaction, indexes, lock and binlog and redolog all speak very good, but also a favorite test of the interview, in addition to the separation of the database to read and write, sub-libraries sub-table should grasp. Without any stakeholder, is not advertising. Redis main saw "Design and Implementation of Redis", and then himself again summed up what Redis usage scenarios, and implementation of distributed lock Redis Redis basically no problem. Message Queue open source software more, I mainly choose Kafka to learn, mainly Tell me what network documentation, "Kafka core technology and practical" geeks time, and some technical articles. But "Kafka core technology and practical" geeks time, I think talking about more general, not very recommended. Distributed systems ready to CAP theory, BASE theory, current limiting, fuse, consistency election algorithm, master-slave architecture, cluster architecture, places to live, load balancing, layered architecture, micro-services.

Digging project

The experience was not involved in open source projects, the work done in the project is very general, this project I really nothing too much to take the shot, but still want to dig a bit, after all, this one can not escape. I said a few points I think of it:

  1. Find local projects have relatively bright spots. For example, I use redis implements a delay queue, and then I come to this delay queue solve the bottleneck by fragmentation, to speed up processing by distributing. Although this technology is not complicated, but it can be fully considered can show their ability to have a certain framework.
  2. Find Project in complicated place. If you have a complex project where you do, even if you do not, you can take it, the premise is that you should be made very clear.
  3. Quantitative indicators. An interface that there are performance issues, such as you have done a little optimization, time-consuming optimization of its TP99 from the original number of 500ms to 200ms.
  4. Enabling the entire team. In the process of business development will certainly encounter some repetitive work, or may be multiplexed services. You can develop a certain tool or service of a function can be extended to the whole group to use, the company creates value.

Shopee

one side

  • mysql those storage engine, what difference
  • mysql index Under what circumstances would fail
  • The difference between innodb and myisam?
  • mysql index model
  • mysql master-slave synchronization how you do that? Which of course points? If there is a new machine to be added to the machine, how a process.
  • The difference between optimistic and pessimistic locking lock?
  • binlog log is a master salve to push or pull?
  • redis persistence, which has several ways, how the election?
  • redis master-slave synchronization What process?
  • redis of zset how to achieve?
  • redis key expiration policy
  • hashmap is how to achieve?
  • tcp handshake and waved
  • The difference between select and epoll
  • The difference between http and https, and how encryption plus?
  • raft main algorithm selected algorithms and zk
  • Kafka selected master how to do?
  • kafka and rabbitmq difference
  • How kafka partition synchronization
  • kafka how to ensure that messages are not lost
  • Why kafka can Kang Zhu such a high qps
  • http various return codes, 401 406 and the difference between what?
  • redis clusters and Sentinel
  • kafka partition broker consumer consumer group topic are all what relationship?
  • Two-way linked list, return the list structure after summing, e.g. 2-> 3-> 1-> 5, and 3-> 6, results returned 2-> 3-> 5-> 1

Two faces

Two faces have nothing to say, and talk of life to the interview, I thought it was cool to the rhythm, but got the offer.

Three sides

HR surface

Tencent

Tencent interview 1 day ahead one hour in advance will send SMS tips. Interview, a high degree of modernization of the building to Tencent Marina Tower, but need to be reminded about that, Tencent coastal building is divided into the North Tower and South Tower. When I went to the wrong building, 4th floor again need to be replaced next elevator.

one side

written examination

  • It features micro-services, service discovery and how to achieve load balancing
  • c ++ memory management
  • time_wait at which end of the produce, what is the role of
  • How to locate a program crash
  • How to locate the service performance issues
  • Two sorted array to find the median
  • On the square root of the number n
  • Design an algorithm, the more the higher the probability of winning lottery number
  • How MySQL analysis of the implementation process a statement. delete distinguished from t1 limit 3 and delete from t1's?

Interview

  • Q. project
  • Step jump
  • An odd number of array elements
  • There is a building n-tier, do not know eggs thrown down from the first layers will be broken, we will find out just broken with the least number of floors
  • Dynamic programming and greedy What is the difference
  • Underlying data structure implemented redis
  • How to achieve high availability redis
  • What are the load balancing algorithm
  • Service discovery is how to achieve
  • Fuse is how to achieve
  • How to achieve id generator, how to achieve global increment
  • Difference coroutine and threads
  • Interprocess communication method
  • What are the usual forum shopping, which Algorithm
  • paxos algorithm which I do not know, then said raft algorithm
  • gdb how switching threads
  • How to judge whether there is a loop in FIG.
  • Introduce Cache
  • View CPU and disk IO commands Command

Two faces

  • System architecture project about painting
  • If the user how to optimize the amount of rise
  • Weighted Round Robin Load Balancing of how to achieve
  • Knapsack problem
  • Principles of Bayesian probability
  • Segmentation algorithm
  • Summing consecutive integers (leetcode question 829), requires less than the time complexity O (N)

to sum up

Tencent two things to finish I knew it cold. Dynamic programming have to write recursive formula, because I have been using dynamic programming table ideas to solve problems, so this place is no good answer. And later asked Bayesian segmentation algorithm, not at all (my heart: I have come to face the background, but not surface algorithm). The last question can only come up with an algorithm (N) complexity of O, the interviewer must be less than O (N), and could not answer. This question is leetcode hard levels of difficulty, so there is no brush. But look at the back may also not that hard, but by the characteristics of this mathematical formula to solve problems are often easily overlooked. In short, Tencent side regarded as quite satisfactory, two faces does make me somewhat at a loss. Before looking at the online version is relatively small Tencent algorithm test questions, you may still have to sub-sector, and I Tencent video is the interview, second interview basically all test algorithms. There are most of the face by saying, algorithm very few questions to test leetcode hard level, I have to doubt this, because the headlines are behind Tencent and test the hard level. You can not completely skip the hard level title when brush title. So what questions will not test it? I think the test is not very complicated to describe the interview questions, interview because time is tight, if light when the title should read the explanation for a long time, this is not quite the examination, such as buying stock on that question LeetCode.

Byte beating

one side

  • Q. project
  • Mission systems how to ensure that the task is completed awards will succeed
  • zset Latency Queuing how to achieve
  • redis data structure what? Respectively, how to achieve?
  • redis persistence
  • mysql index
  • And find an unordered array maximum, the required elements in the subsequence which is not adjacent to the sub-sequence of the original array twenty-two

Two faces

  • Redis of ZSET how to achieve? The whole point jump table Jiaha Xi table and try to keep it compressed list
  • Do list, if you want to achieve the same scores in chronological order how to achieve the Redis ZSET? A score to said split into upper 32 bits and lower 32-bit, 32-bit high memory score, the lower 32 bits of the method of storage time. Q. Are there any other methods, I can not think of a
  • MySQL transaction isolation level four? Let me talk about the difference between four levels, each level and then say the problem may arise
  • binlog log and log redolog clear? He said the role of two logs and two-phase commit
  • Dynamic C ++ polymorphism how to achieve?
  • C ++ constructor can be virtual function?
  • Lack of a positive number (leetcode 41 questions)
  • linux system, a file can be opened by another process deleted it?
  • A 10M size of the buffer was still full of data, now put this buffer in the data sent out as much as possible, it can allow some packet loss, ask good or UDP TCP is good? why?
  • A complete HTTP request involves what agreement?

Three sides

  • Q. project
  • redis of ZSET is how to achieve?
  • Allows you to design a system limiting how to do? Token Bucket
  • Allows you to design a system delay task to say how to do two programs, one is to use ZSET redis to achieve, given the high fragmentation to anti-concurrent use redis persistence to achieve the floor, using redis sentinels failover. A method using a time round.
  • A conventional random number generator may generate a number of 0 to 4, and now let you use the random number generator generates random numbers from 0 to 6, to ensure a uniform generated log probability.
  • There are pieces on N, once everyone can take 1 to M, who took after the number of pieces of 0. whoever wins. There are 1000 pieces, take a maximum of eight, acquire A, then A law has to take to win it? After the first person to take the remaining piece number is a multiple of 8 on the win, or he will lose.
  • Given a binary tree root node, there is now this part of the binary tree of nodes, the nodes requires the most recent common ancestor.

All sides

HR surface

to sum up

Headline four interviews are video plane, video interview experience but it is still quite good, I'll sit at home and interview some of the more relaxed, so that the brain is also flexible. Man a tense mind to turn no more. 3 technical headlines are asked to achieve zset achieve ZSET can take a look at how to achieve the source code, so to say, when there are more things to say, not to say a jump table to get away. Another point is that the logic does not encounter problems or questions algorithms do not give up, ask the interviewer Can reminder. This question is at the interviewer if slowly prompt to complete, also will be recognized.

BLOG Address : www.liangsonghua.me

Focus on micro-channel public number: preserved egg blackboard, get more exciting!

Public No. Description: sharing technology insights to work in Jingdong, as well as JAVA technology and industry best practices, most of them are pragmatic, can understand, reproducible

 

Guess you like

Origin www.cnblogs.com/liangsonghua/p/www_liangsonghua_me_38.html