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):
- Self introduction
- The difference between process and thread
- CPU scheduling algorithm?
- Tell me about the specific implementation of the priority scheduling algorithm? (will not)
- How to evaluate thread priority?
- What are the parts of the process context?
- The difference between process switching and thread switching, why is the overhead of thread switching smaller?
- select,poll,epoll
- From epoll to interruption, ask the concept of interruption
- From interrupt chat to the difference between user mode and kernel mode
- 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)
- MySQL query process
- Will there be no index
- MySQL optimization (sql statement, index, cache, cluster read and write separation)
- Leftmost matching principle
- MySQL transaction and isolation level
- Two-stage submission process of redo log
- Talk about common design patterns (factory, singleton, agent)
- Code question 1: Combine two sorted arrays (this interviewer, I love it)
- Code Question 2: The largest subsequence sum of the array
Two sides (70min):
- Binary tree, AVL tree, red-black tree
- What is the difference between Java and Python, their advantages and disadvantages, and what makes you feel comfortable?
- Features of dynamically typed languages and statically typed languages (don’t understand, answer badly)
- Understanding of OOP
- Are statically typed languages suitable for OOP (do not understand)
- The characteristics of TCP and UDP, where are their applications
- Sliding window, delayed confirmation mechanism, why delay confirmation
- Two algorithms for congestion control, retransmission mechanism
- Wave four times, the state of each end
- The whole process of Https request
- Why use symmetric encryption to transmit data, and why is symmetric encryption faster than asymmetric encryption
- 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)
- Why is Redis single-threaded performance so good?
- Coding good practice principles, kiss principles, solid principles (don’t understand)
- How to do personal blog, how to design database (no project, personal blog just started... Can't answer)
- The difference between text and varchar
- How to prevent others from using curl to directly call the interface (don’t understand)
- Log level, what level to use in what scenario (not very familiar)
- Distributed, CAP theory, microservices (talking about concepts)
- 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
- 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
- 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.