Successfully got byte back-end development offer after working for 2 years! I attach my experience in autumn recruitment and hope to help everyone!

Preface

Originally, I had an appointment today at 2 o’clock in the afternoon last week. After one side, the interviewer asked me to wait directly for the second side, and then I was connected. After the second side, the interviewer asked me to wait directly for the third side, and then waited a while and said the three-sided interviewer No, make an appointment next time. . . . It seems to be connected on three sides, which is really difficult

I learned java, and I didn’t ask any questions about java during the two interviews. It was a bit uncomfortable. Haha I
went to HR a few days ago, and then I received the entry notice this afternoon!

One side (40min):

  1. Self introduction
  2. The difference between process and thread
  3. CPU scheduling algorithm?
  4. Tell me about the specific implementation of the priority scheduling algorithm? (will not)
  5. How to evaluate thread priority?
  6. What are the parts of the process context?
  7. The difference between process switching and thread switching, why is the overhead of thread switching smaller?
  8. select,poll,epoll
  9. From epoll to interruption, ask the concept of interruption
  10. From interrupt chat to the difference between user mode and kernel mode
  11. Which system calls will switch from user mode to kernel mode, and when will the switch state be displayed (just think of read and write, the interviewer laughed haha)
  12. MySQL query process
  13. Will there be no index
  14. MySQL optimization (sql statement, index, cache, cluster read and write separation)
  15. Leftmost matching principle
  16. MySQL transaction and isolation level
  17. Two-stage submission process of redo log
  18. Talk about common design patterns (factory, singleton, agent)
  19. Code question 1: Combine two sorted arrays (this interviewer, I love it)
  20. Code Question 2: The largest subsequence sum of the array

Two sides (70min):

  1. Binary tree, AVL tree, red-black tree
  2. What is the difference between Java and Python, their advantages and disadvantages, and what makes you feel comfortable?
  3. Features of dynamically typed languages ​​and statically typed languages ​​(don’t understand, answer badly)
  4. Understanding of OOP
  5. Are statically typed languages ​​suitable for OOP (do not understand)
  6. The characteristics of TCP and UDP, where are their applications
  7. Sliding window, delayed confirmation mechanism, why delay confirmation
  8. Two algorithms for congestion control, retransmission mechanism
  9. Wave four times, the state of each end
  10. The whole process of Https request
  11. Why use symmetric encryption to transmit data, and why is symmetric encryption faster than asymmetric encryption
  12. What is the difference between MySQL and Redis (I didn’t even mention that Redis is an in-memory database, I was careless, I was reminded by the interviewer)
  13. Why is Redis single-threaded performance so good?
  14. Coding good practice principles, kiss principles, solid principles (don’t understand)
  15. How to do personal blog, how to design database (no project, personal blog just started... Can't answer)
  16. The difference between text and varchar
  17. How to prevent others from using curl to directly call the interface (don’t understand)
  18. Log level, what level to use in what scenario (not very familiar)
  19. Distributed, CAP theory, microservices (talking about concepts)
  20. Code question: LRU

Three sides, afternoon on the 17th (40min):

First of all, I briefly talked about life, and I thought it was hr noodles. . .
Asked me about the project, I said I hadn’t done it before,
and then the whole interview consisted of two topics

  1. To write an array that can be automatically expanded, I asked if you want to consider thread safety. The interviewer said that the more perfect the better, I wrote it according to the idea of ​​CopyOnWriteArrayList, but every time I expand it, I expand it twice. Then there is a small problem with the expansion lock, just like the singleton, the interview tube reminded me, go in and check if there is any out of bounds
  2. Design a database for the student selection system, ask which tables are needed and what to put in each table, and then write SQL. . The sql is not very well written. The several tables that I wrote are fully connected, so I use sub-query optimization. At that time, I didn't write it out. The sub-query still wrote a Cartesian product. . The performance is not very good, the problem is not difficult, but at the time I was confused

It didn’t take long to finish the two questions. The interviewer asked me what I wanted to ask. It was a bit daunting. At first glance, more than half an hour had passed.
I asked the interviewer why he didn’t ask java for three rounds of interviews. The interviewer said that everyone who wrote java on their resumes would use the same set, jvm, gc, everyone knows, there is nothing to ask, it is a bit of luck to ask, you will know if you have read it, and you will not know. . .

to sum up

Finally, I prepared ava core knowledge points for everyone + a full set of architect learning materials and videos + first-line big factory interview collections + interview resume templates + Alibaba Meituan Netease Tencent Xiaomi Iqiyi Kuaishou Bilibili interview questions + Spring source collection + Let's share the Java Architecture Practical eBooks with everyone for free! Friends in need can click here to download the csdn at the remarks.
As a developer, not to say that you are required to be the top in the industry, but you must also ensure that you are not eliminated by the market. Learning is the most basic thing for programmers.
Insert picture description here

Guess you like

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