Because there are many posts on the Internet introducing recruitment and interview experiences, I will not record the running accounts here, but only record some key points in recruitment.
1. Interview time arrangement
Since the interview times of many companies may overlap after the written test, you must know how to make reasonable arrangements. Of course, many companies have multiple interview time slots, and you can negotiate with the interviewer.
2. Preparation of interview materials
1. If you have patents, published papers, or winners in competitions such as Tianchi, you must write it down in your personal information. Be sure to prepare these knowledge points during the interview.
2. At the same time, don’t forget to prepare the basic knowledge for the interview. Computer interviews may involve knowledge such as computer basics (data structures, algorithms, operating systems, etc.), Java/C/C++ basics (if you use Java, you will ask about JVM, GC, common classes and containers, concurrency, threads, synchronization, locks, etc.), OO and design patterns (application scenarios and implementation methods), databases (table structure design, index principles, etc.) and networks (TCP, Socket, NIO, Netty, etc. ) and various frameworks (and principles) will have focus according to different project backgrounds.
PS: Since I said during the interview that I was doing network research, the interviewer mainly asked about network principles, as well as my own projects and the languages used. Of course, the interviewer also asked two algorithm questions later.
3. Generally, company interviews are divided into three rounds, each round lasts about 20-40 minutes, and it mainly depends on the interviewer. If the interviewer is interested in you, the time will be extended.
4. During the interview, you must clearly understand the questions asked by the interviewer before answering. Do not rush to answer. When faced with unfamiliar knowledge points, you can talk about your own understanding and thinking, but you cannot talk nonsense, such as: " I've seen this before, but I haven't used it in the project yet. This is how I understand it..." If you have no idea at all, just explain that you haven't been exposed to it yet. The interviewer wants to examine your The boundary, breadth and depth of knowledge, so you will definitely be asked some questions that you don’t know, so don’t worry too much. At the same time, you can also guide the interviewer to ask you some familiar fields. Different interviewers will have different personalities, styles and routines. Just improvise.
3. Major categories of interview questions
1.Introduce yourself
2. Internship experience. If you have any, he will ask about the technology used and the technical details.
3. Thesis, usually you introduce the ideas and methods of the paper in detail, and its advantages.
4. Project: Detailed introduction to the composition and distribution of the project, as well as the main content of responsibility
5. If you are interested in a certain company or position, you can read the sharing of people in the corresponding company or position on Niuke.com. Some people will share their personal experiences in detail. This is just an overview and will not go into details.
4. Examples of knowledge points on some questions:
(Please learn relevant knowledge selectively, because I don’t use Java, so I don’t list many Java knowledge points)
TCP three-way handshake, connect and accept functions are used several times each
Enter the IP address, what does the browser do?
How many layers does Tcp/ip have?
Which layer is Tcp on?
Which layer is the IP at?
The difference between TCP and UDP
TCP congestion control
What are the applications of TCP UDP?
What protocols are there at the application layer:
coroutine
Do registers belong to processes or threads?
The role of restrict is how much it can reduce the number of commands used when a certain piece of code is executed.
Huffman coding: zmnzizi
The advantages and disadvantages of the c++ singleton design pattern, and write a simple c++ program
Average turnaround time for process scheduling
Methods of process communication---3 types
The difference between process and thread
Features of process and thread programming
How to avoid deadlock
Union and const keywords in C language
C program memory layout
There are several ways to store variables in C language
stack area and heap area
How to achieve independent access between threads - lock
Database things
Why databases need to create indexes and the disadvantages of indexes
The memory allocation problem of vector-------each expansion is 2 times
Memory Management Partner System
Time complexity of inserting n numbers into vector----O(n*n)
When defining an array, why can't a variable be used as the length of the array?
Define a character array within the function. When using the gets function to input a string, if the input is out of bounds, why will the program crash?
----Involving C/C++ function calling mechanism and assembly level knowledge
The difference between C++ references and pointers------References actually occupy memory space and point to the references.
The difference between new and malloc
The idea, time complexity, and optimization methods of quick sort
Linux commands, I say awk, grep
Heap sort, write code