As Internet workers, most of them want to enter giant companies such as BAT. Of course, they do not deny that people who can enter BAT have good abilities and qualifications. However, the Internet is changing very fast, and they are Meituan commented on the screen. No one thought that Meituan would be able to squeeze into the top three of Chinese Internet companies. No one wanted to bring it. BAT would become an ATM. And for three years of Java, I naturally have the dream of a big factory in my mind, but it is not BAT or ATM that attracts me, but the rapid development momentum of byte beating in the past two years, so this year I also set about preparing byte Interview, planning to change jobs.
In June, I submitted my resume to ByteDance. After 3 rounds of interviews, I didn’t pass it. It was also because I was not sufficiently prepared and I didn’t answer many face-to-face questions. So I came back and started to review some knowledge points. At the beginning of September, I got the number of referrals. After 4 sides, I finally won the Tik Tok offer.
ByteDance's first interview (3 rounds of technical coolness)
The first round of technical
Self introduction
Introduce in detail about the project I made
Some questions were asked according to the project
Asked about the implementation principle of HashMap
Database B+ tree
final keyword
Design a juicer class, how to design object-oriented
The difference between get and post, usage scenarios, idempotence
TCP, UDP, which protocols are in the application layer
Algorithm problem 1: The array value is 1-n, each appears once, first add x (x is also in the range of 1-n) to find x
Algorithm problem 2: Given n nodes and a value on each node, if the greatest common divisor of the two node values is greater than 1, then an edge is connected between the two points. Find the number of nodes with the largest connected component of this graph.
Puzzle: Give ten buckets of table tennis balls (the number of table tennis balls in each bucket is unlimited). One bucket weighs 9g, and the remaining buckets are 10g. How many times do I need to test the 9g barrel?
What do you want to ask?
The second round of technical
Chat project
Various methods of http
The difference between http and https
https encryption process
What happens when you enter a url from the browser to the generated page, write SQL
Introduction to Java multithreading
The difference between session and cookie
Introduction to TCP
Status code introduction
Algorithm question 1: Reverse the linked list and press k, the longest repeated substring
Algorithm question 2: catch rain (I don’t remember the details)
The third round of technical
Introduce the principle of HashMap
Introduce the red-black tree, how to become thread safe, lock mechanism
Introduce JVM
Introduce MySQL, B+ tree, storage engine
What to do without using redis to store sessions
Linux basic system instructions
If A transfers money to B at the same time B transfers money to A, how can the concurrent amount be the highest
Do you have any questions?
I received a failed text message the next day and it was so cool!
ByteDance Douyin department pushes the quota, 4 passes (3 rounds of technical side + 1 round of HR side)
Tik Tok inside push side
Self introduction
Project Introduction
What rpc framework is used? What agreement is coral based on? What is the structure of the HTTP protocol header?
The difference between TCP and UDP
How does TCP guarantee reliable transmission?
If the tcp connection is broken (for example, the server is down), how does the client handle it?
Introduce linked list
The difference and application scenarios of singly linked lists and double linked lists
MySQL index
Do you understand the operating system and database?
The underlying implementation of HashMap?
What are the elements stored in the array?
Introduce in detail the execution process of the put method
hashcode returns a 32-bit int result
Take the modulus with the length of the array (bitwise AND), calculate the index, and insert the linked list under the index
The role of valatile
How to ensure visibility?
Algorithm question: Input a data stream (4,3,10), please output the median of the current data in turn, declare a linked list to store these data, and return the median of the linked list (ON)
Give a large log file in the form of user id, login time, logout time, how to find the peak value.
Douyin pushes two sides
Chat project
Java的hashmap
Locks used in Java
There are two locking methods in a class, can they be called by different threads at the same time?
How to ensure read and write consistency between the cache and the database?
How to implement distributed caching for tens of millions of accesses per second? How to ensure consistency of master-slave exchange
The difference between Git rebase and Git merge
Algorithm question: print the left boundary of the binary tree
Douyin pushes three sides
Comparison of Java Servlet and Filter
For 100 floors, give two eggs and find out where the eggs will break. The method that requires the least number of times in the worst case.
MySQL SQL
Solution for sharing session between multiple servers
Have you learned redis? Introduce redis
Binary tree to doubly linked list
Logic problem: There are n people on the island, some of them have red hats and some have white hats. Each person can only see the hats on other people's heads and cannot communicate with each other. If you confirm that you are a red hat, you can leave the island. A fisherman who passed by said, "At least one of you is Red Hat!" What happened next?
Do you have any questions?
Douyin pushes HR face
Self introduction
Future career plan
Tell me about my usual learning methods
Which of these learning methods do you think is the most effective?
Evaluate the previous interviewer, or whether the previous interviewer impressed you the most
Why do you want to come to ByteDance?
Which products of Byte do you usually use? Any good suggestions?
expected salary
Do you have anything to ask?
to sum up
I'm very glad that I got the TikTok's referral quota, and I also tried to seize the opportunity, and the byte beating in these two interviews, the most important part is the algorithm. The byte really likes to ask algorithm questions. To prepare for a byte-beating interview, it is necessary to scan some questions in advance.