The emphasis of each department interview is really different ah… However, if your resume is reviewed by the company, the entire system is recorded and no other department will interview you twice for the same position. Combined with the different focus of the interview, more terrifying.

This interview is obviously focused on Linux kernel, it is said that Java backend, the entire interview experience even Java keyword search…… For example, there is a problem: write a strcpy function. It’s not Java, it’s C. There are two questions about SQL (B tree is also included), one question is about the front end, but also asked about HTTP protocol things.

Guess this department front-end and SQL work with well-known open source, not too in-depth, but need to understand the principle. To be able to develop high availability, the current position is strongly Linux related.

One. Baidu side

1. Given a function that returns 0 and 1 with probability p and 1-p, implement a function that returns 01 with equal probability.

2, 1 billion URLS, each URL size is less than 56B, requiring weight removal, 4G memory.

3. Convert a BST to a bidirectional list.

4, HTTP and HTTPS difference, HTTPS in the request of the extra process, HTTPS is how to ensure data security;

5. IP address subnets;

6, The difference between POST and GET;

7. DNS resolution process;

8. Difference between hard link and soft link;

Kill usage, the reason why a process cannot kill (enter kernel state, ignore kill signal);

10, Linux used command;

11. System management commands (such as viewing memory usage and network status)

12. Use of pipelines;

13, the use of grep, must master, every time will ask in the file search;

14. Shell script;

15, find;

16. Use awK

Two. Baidu second interview

I asked a few questions against my resume.

$(process id), $? (exit status of last command), how to view processes, sort by memory size, CPU usage, etc. (capital M and capital P)

2. HTTP get and POST methods.

3. Introduce what you know about epoll.

4. Knowledge of database SQL.

5. How did I solve the problems encountered in the project?

6. Write a full list by hand.

B tree and B tree.

8. Introduce hash and how to resolve conflicts.

9. Interprocess communication, advantages and disadvantages of shared memory.

Three. Baidu three sides

1. Talk about some technical blogs and books you read.

2. Some instructions under Linux;

3. What is the most frustrating thing about your job?

4, say your strengths and weaknesses;

6. Have you ever thought about starting a company in the past?

7, write a strcpy function;

Tell me about your own personality;

9. I give you a system (the interviewer seems to be from the unmanned vehicle department). The logic of the background has been realized, but the front-end loading is very slow.

In the future, you may have to learn a lot of new technology, what do you think?

11. Difficulties encountered in the project (think well in advance and make the implementation or optimization method clear);

12. System level, PV, UV, etc.

13. Solutions to high concurrency (distributed)

14. What work are you responsible for in the project?

Nginx load balancing;

16, distributed cache consistency, how to expand the server (hash ring)

I haven’t sorted out the answers yet. I will sort out one later and publish it later.