Autumn recruit summary! In the autumn of 3 months, I took offers from leading companies such as Meituan, Ali, Tencent, etc., to share my experience and give back to the public!

Preface

First of all, I am an international student, so I have the same common problems as most international students: I am not familiar with the domestic recruitment environment/time, I don’t understand the overall knowledge system, and practical/industrial knowledge is not popular in overseas colleges (and I lack more Many people don’t understand the popular framework, so many domestic interviewers feel that the foundation of international students is weak. Of course, it may be just my problem, not a common problem for international students. All in all, because of these reasons, my initial interview journey can be said to be completely stumbling. I repeatedly hit a wall with a lack of self-confidence, and I am even unwilling to go to the interview again. Later, I will use my girlfriend's encouragement, refresh myself, sum up knowledge points, and check for missing vacancies. Continue to interview, and finally won the above offer.

In addition, I am here to prepare interview materials for first-line manufacturers and my original super hard-core PDF technical documents, as well as a number of interview questions from large manufacturers that I have carefully prepared for you (constantly updated). Friends in need click here to remark csdn , Download by yourself ! Hope everyone can find the job they want!

Meituan side by side

  • Talk about database transactions, ACID of transactions

  • How are database transactions implemented

  • redo record

  • Talk about proxy mode

  • Talk about dynamic proxy

  • Talk about CAS

  • For undo redo 嘛

  • The index structure of the database, give you a table how do you design the index

  • How to troubleshoot and solve problems with slow database queries

  • What are the commonly used design patterns to know

  • Talk about the memory model of JVM

  • What are the processes of an object from creation to use to destruction, and where are these processes performed?

  • Algorithm problem: Adding linked lists

Meituan Two Sides

  • Database isolation level

  • How to solve the phantom reading? The realization principle of gap lock and MVCC

  • The difference between current read and snapshot read

  • The difference between TCP and UDP

  • Do you know the sticky packet problem of TCP? How to deal with it

  • LRU cache design, how would you design the data structure

  • LFU implementation, what will you do

  • What are the maps, except linkedHashMap

  • The difference between TreeMap and HashMap, the time complexity of TreeMap insertion

  • Algorithmic problem: the number of palindrome substrings LeetCode 647

Meituan Three Faces

  • What's in the HTTP request header

  • What is the difference between HTTP1.1 and HTTP1.0 HTTP2.0

  • The difference between Unicode and UTF-8

  • Let’s talk about class loaders. Why do we need so many class loaders? Isn’t it good to define a final type of class loader to ensure the uniqueness of the class?

  • Three handshake

  • Understanding of middleware

  • Fair lock and unfair lock

  • Transaction isolation level

  • In an easy-to-understand way, tell me the best knowledge you learned recently in two minutes

  • Algorithm question: Number conversion 12345

  • Converted to "12,345"

  • There are still many not remembered, and the interviewer has been exploring the breadth of knowledge. . No, the next one

Tencent

  • Ask the project, what problems are solved in the project

  • How to design database tables, how to design indexes, and what to pay attention to when adding indexes

  • Do you know Linux commands (no), we are all one-click deployments now, how do you see if the service is started?

  • Look at the log to see if the service can be tuned

  • What if there is no log? How to troubleshoot problems. . Should be to enter the Linux system to see threads and the like? Fortress machine

  • Tell me about the startup process of spring and how it processes services

  • Speaking of SpringMVC from dispatcherServlet to HandlerMapping to HandlerAdapter, then you talk about the implementation process of HandlerAdapter (no)

  • When will Mysql have slow queries? Did your sql have any slow queries?

  • Algorithmic questions, say ideas:

  • Calculate the Hamming distance of two 64-bit long integers, first convert to binary, and then XOR, and finally use n&(n-1) to find the number that is not 0

  • 1 to 1 billion, one less number

  • The final answer is to sum, and then use the arithmetic sequence summation formula to calculate the result, and the number obtained by subtracting the summed result is the missing number.

Anai Sutra:

  • Project, what did you do during the internship

  • How does Spring solve circular dependencies

  • Realized with three-level cache

  • What is the covering index

  • Leftmost matching principle

  • Talk about NIO

  • The difference between select, poll and epoll

  • How high is the B+ tree of 10 million data

  • Analysis: First, the size of each innoDB page is 16KB. If the primary key is of type int, it is 4 bytes, and the pointer to the next node will also occupy 6 bytes; if the primary key is of type bigInt, the occupied length is 8 bytes 16k/14 = 1170, then the number of nodes in the first layer is 1170.

  • At the same time, the number of data stored in leaf nodes can be calculated: if one piece of data is 1kb, 16 pieces of data can be stored

  • A B+ tree with a height of 2 can store 1170*16 pieces of data

  • A B+ tree with a height of 3 can store 1170 1170 16 = 2000w pieces of data

  • So the height of the b+ tree is generally 1 to 3 layers

  • Redis data structure

  • Talk about the data structure of the jump table

  • The difference between hashmap1.7 and 1.8, the time complexity of inserting red-black trees

  • Ask the project. . . Can't remember well

  • The phone interviews during the whole process, and they were all unannounced interviews, I felt that I could not remember many questions clearly

Didi one side

  • Algorithm question

  • 10 large files, each with 10 million rows of integer data, sorted. After sorting, the first file is a number between 1 and 10 million, the second file is a number between 10 million and 20 million, and so on, memory The limit is 32M, and the numbers in the file are not repeated (dictated)

  • Method, using merging, the number that can be stored in 32M is 800w, so if you want to split the file into small files, you can consider splitting into 500w files, sort them in the memory, and consider fast sorting. Then merge the 20 small files directly, find the first 1000w numbers and put them into the first file. And so on

  • Question project: How is the current limit in the project done?

  • Notes written to limit the current of the interface

  • What to do if you want to limit the current for each business

  • Ask the basics:

  • Three handshake and four waves

  • What if the client's process is killed during the third wave of the four waves?

  • Database isolation level

  • Thread process

  • Thread communication

  • Process communication

Didi two sides

  • Algorithm question: There are many strings in big data (with repetitions), how to judge whether the string contains a given string (dictation)

  • You can hash the string and divide the hash value modulo 10 into 10 small parts. If it is still too large, you can perform this operation again. Until each small part can be stored in the hashmap, here can be deduplicated, because the time complexity of the hashmap to find the key is o(1), so you can perform the above operations on a given string to see if the hashmap contains the above string

  • Features of Spring? IOC AOP

  • The implementation process of AOP?

  • Classification of annotations?

  • Does the annotation work at compile time or at runtime?

  • What does mysql know?

  • The difference between myisam and innodb

  • Talk about clustered index and non-clustered index (no answer)

  • What did you learn during the internship?

  • How to test the interface written by yourself, from which aspects?

  • The sequence test first is to run the process

  • Then perform the reverse process to test some possible errors

  • What has been learned from the project

  • What is the controller layer in SpringMVC? (do not know)

Didi on three sides

  • The whole project, what part of the project is responsible for, and what has been learned from the project.

to sum up

Finally, I prepared the Java architecture learning materials for everyone. The learning technology content includes: Spring, Dubbo, MyBatis, RPC, source code analysis, high concurrency, high performance, distributed, performance optimization, microservice advanced architecture development, etc. Friends in need click here to remark csdn and download by yourself ! You need to be able to take the initiative to learn at any time, and you should also prepare for the interview in advance. If you have a long-term plan and plan for your career development, you should calm down, down-to-earth, step by step.


There are also Java core knowledge points + a full set of architect learning materials and videos + first-line interview collections + interview resume templates + Alibaba Meituan Netease Tencent Xiaomi Iqiyi Kuaishou Bilibili interview questions + Spring source code collection + Java architecture actual combat electronics Share the book with everyone for free!

Guess you like

Origin blog.csdn.net/jiagouwgm/article/details/111597478