If you don’t believe it, you still can’t understand the key points. 25K brother gave a detailed interview summary and successfully entered the byte

Preface

I am a bottom-level 211 undergraduate. I have just graduated with no scientific research experience, but have some project experience.
Worked for a period of internship in a leading company in the domestic surveillance industry.
Thinking of investing in a byte, you can accumulate a trial experience and prepare for the golden, nine, and silver moves. After
I
submitted my resume, after a period of time , HR called me to make an appointment and explained that I voted for Beijing office.
The following is the whole process of an interview, share it with friends who are interested.

one side

The interviewer is very kind. At the beginning of a self-introduction, I immediately started to ask the item, such as:
(Answered SpringBoot, Redis, Mysql, etc., which are often used by myself. There is basically
no Java background on the byte side . , So I feel that the tester will not ask Spring, Java, etc., but it is for the database and intermediate

1. What are the commonly used web components?

Piece ⽐᫾interested)

2.Kafka related,

How to ensure that there will be no repeated consumption,
Kafka consumer group structure, etc. (this is only based on feelings and the test officer, because Kafka is really not prepared enough, but the state is stable)

3. Mysql index, B+ tree (must take the test, students!!!)

There are also some details in the items, these are different, so I won't put them up.
One reminder is to introduce some dazzling places in the project,
such as what powerful data structure is used, what are the characteristics of the architecture, the amount of concurrency is large, and how to hold the amount of concurrency!
After that is the algorithm problem , I have done two in total

1. Determine the balance tree

This question is not difficult in general, but the examiner has interspersed the knowledge of garbage collection in the middle, which is very uncomfortable.The
specific thing is to judge when the object will be recycled, and what is the reachability analysis. At that time, it is
unreachable for this object , and how the memory changes in the recursive function. This is for us to model the execution process of this function. If only the
stack frame size changes, there should be There are two peaks, and there will be jitter in the middle)

2. Variations of the sub-point search method

Given a target and an ascending array, find the next number that is smaller than the number of the array. This question is not difficult,
depending on the familiarity of the score search method. Of course, there is an optimization point here. , You can check my blog for inspiration
.

The test officer asked me to wait for a while, about 10 minutes, let me continue after a short break

Two sides

First of all, let me introduce myself, of course, the same routine, the same crispness,
and then asked me some questions about Redis  ,
like the implementation of zset (jump table, this high frequency), the key expires Strategies, persistence, etc.,
these can be found in most Redis introductions, so I won't go into details!

There are also some data structure issues:

1. Rather than asking what a hash table is, I gave the
tester a detailed explanation of how java.util.HashMap is implemented (of course, there are red trees interspersed with red trees. Look at the red trees. What are the characteristics?
2. Including why the chain address method is used to avoid conflicts and what are the detection methods?
3. Comparison of the advantages and disadvantages of chain address method and detection method

Later, I also discussed a long-term project with me, so I said that the project of the home must be done well, and there must be places with bright spots. Here, I have discussed
many optimization projects with the test officer . What's wrong, where else can you add new features, etc.?
I also didn’t elaborate on it. During the
discussion, I cracked and knocked a lot. It should be a kind of evaluation of the person’s face.

The latter part is the traditional art tearing algorithm of bytes. Three channels are made and one
channel is connected together. Given a rule S_0 = {1} S_1={1,2,1} S_2 = {1,2,1,3,1,2,1}
S_n = {S_n-1, n + 1, S_n-1}.
1. The first question is what is the relationship between their numbers (1 3 7 15...2
n times -1, solved by bitwise arithmetic).
2. The second problem is that given the number of arrays subscript n and index k, let us find
the number pointed to by S_n(k) , If S_2(2) = 1, I don’t have any good ideas when I do it. If there is any, everyone can share the next
3, the third is the next permutation: https://leetcode-cn.com/ The question type of problems/next-permutation, but
some modifications have been made, the array size is 10000<n<100000, and the brute force method cannot be used, and the number will be repeated between 1-9

HR face

There are some topics that are biased towards career planning, internship time, project experience, and internship experience.

to sum up

The foundation is important!
I have asked about the principles of Redis, Mysql, JVM, etc. that I prepared this time. (The network is not asked, but it is also necessary to
prepare well . For the background, network knowledge is not only a test, but also in the future. The knowledge base of the work).
Of course there are ready Your Own underexposed places subject:
⽐ middleware such as Kafka, not only Using the principle is absolutely not perform while the basics and not just back, ⾯ interviewer will melt.
Fit the item destination time ⾥ Cross-examination

Secondly, don’t panic if you don’t, because the examiner is testing your technical depth, and may be directed to a certain question. You won’t be wrong when asked, so it’s normal for you to have questions that you won’t.
Keep your attitude under control. Regardless of whether you are doing a question or answering a question, remember that you are not taking an exam, but communicating. It is very important to interact and communicate with the examiner.
You say something The omissions, if you give feedback to the tester in time, you can still remedy them.

The most important point of the byte test is that the algorithm must be firm, and there will be a tearing algorithm in every round!
No need to think about it, LeetCode+jian points to the Offer niche.
State is very important. You may not know how to solve the algorithm problems. You need to be prepared for a certain amount of reason. If you encounter a problem, you can calmly analyze it first.
It is also important to write bug free code.
Finally, I wish you your favorite offer on the occasion of the golden nine and silver tenth, and
I will give it to you! The above is an experience of my own interview in 2020.

Before this interview, I summarized some interview study materials. The article combines the information and cases of my friends and classmates who interviewed Meituan Didi.

 

Successful entry byte, 25K brother throws out a detailed interview summary, if you don’t believe it, you can’t understand the key points

 

 

algorithm

  1. Summary of common string algorithm questions

  2. Most common prefix

  3. Reply

  4. Add two numbers

  5. Flip linked list

  6. The kth node from the bottom of the linked list

  7. Delete the Nth node from the bottom of the linked list

  8. Merge two sorted linked lists

  9. Sword refers to the offer part of the programming questions

  10. Stepping problem

  11. Abnormal jumping problem

  12. 2-dimensional array search

  13. Replace space title description:

  14. Integer order of value

  15. Adjust the array order so that odd numbers are before even numbers

  16. The kth node from the bottom of the linked list

  17. Reverse linked list

  18. Merge two sorted linked lists

  19. Implement the queue with two stacks

  20. Stack pressing, pop sequence

Successful entry byte, 25K brother throws out a detailed interview summary, if you don’t believe it, you can’t understand the key points

 

data structure

  1. Queue in Java collection framework

  2. HashSet and TreeSet underlying data structure

  3. List's common implementation class ArrayList and LinkedList source learning

  4. Map

  5. Fork tree

  6. Complete tree

  7. Full tree

  8. heap

  9. Cross search tree (BST)

  10. Self-balancing binary search tree (Self-balancing binary search tree)

  11. Red ⿊ tree

  12. B-, B+, B* tree

  13. LSM tree

Successful entry byte, 25K brother throws out a detailed interview summary, if you don’t believe it, you can’t understand the key points

 

Redis

  1. Why use redis/why use cache

  2. Why use redis instead of map/guava for caching?

  3. Redis thread model

  4. The difference between redis and memcached

  5. Redis common data structure and usage scenario analysis

  6. redis set expiration time

  7. Redis memory elimination mechanism (MySQL has 2000w data, and only 20w data is stored in Redis. How to ensure that the data in Redis is hot data?)

  8. Redis persistence mechanism (how to ensure that the data can be restored after redis hangs and restarts)

  9. redis transaction

  10. Cache avalanche and cache penetration problem solutions

  11. How to solve Redis's concurrent competition Key problem

  12. How to ensure the consistency of the data when the cache and the database are double-written?

Successful entry byte, 25K brother throws out a detailed interview summary, if you don’t believe it, you can’t understand the key points

MyBatis

  1. What is the difference between {} and ${}?

  2. In the Xml mapping file, besides the usual select|insert|updae|delete tags, what other tags are there?

  3. In best practice, usually an Xml mapping file will have a Dao interface corresponding to it. May I ask, what is the working principle of this Dao interface? Dao access method, when the parameters are different, can the method be overloaded?

  4. How is Mybatis scored? What is the principle of the page plug-in?

  5. Briefly describe the operation principle of Mybatis plug-in and how to write a plug-in.

  6. Mybatis performs batch insertion, can it return the database primary key list?

  7. What does Mybatis dynamic sql do? What are the dynamic SQL? Can you briefly describe the implementation principle of dynamic sql?

  8. How does Mybatis encapsulate the sql execution result as a target object and return it? What are the mapping forms?

  9. Can Mybatis perform one-to-one and one-to-many related queries? What are the implementation methods, and the differences between them.

  10. Does Mybatis support lazy loading? If it does, what is its implementation principle?

  11. In the Xml mapping file of Mybatis, can the id be repeated for different Xml mapping files?

  12. How to perform batch processing in Mybatis?

  13. What Executors are available in Mybatis? What is the difference between them?

  14. How to specify which type of Executor to use in Mybatis?

  15. Can Mybatis map Enum enumeration class?

  16. In the Mybatis mapping file, if the A tag refers to the content of the B tag through include, can the B tag be defined after the A tag, or must it be defined before the A tag?

  17. Briefly describe the mapping relationship between Mybatis's Xml mapping file and Mybatis internal data structure?

  18. Why is Mybatis a semi-automatic ORM mapping tool? What is the difference between it and full auto?

Successful entry byte, 25K brother throws out a detailed interview summary, if you don’t believe it, you can’t understand the key points

 


MyBatis answer analysis

Due to space limitations, the detailed information of the document is too comprehensive, and the details are too much, so only some of the knowledge points are screenshots for a rough introduction, and each small node has more detailed content!

 

Guess you like

Origin blog.csdn.net/yuandengta/article/details/109237350