background
I graduated from 985 for just a year. I used to do testing and then switched to development. When I did testing, I kept developing the pot. Now I am regarded as a master. In July, I invested in the back-end development of the Java post at Ant Financial. I originally wanted to increase my interview experience. I didn’t expect that I was so lucky to get the offer. Below I will share my interview experience and the information before and after the interview.
One-click triple + comment, then add my VX (tkzl6666) to receive it for free.
1. Introduce yourself;
2. Ask about project experience and talk about "data synchronization"
3. Then I talked about the K8S project
4. Are there any deep-studied technologies?
5. What is the architecture of kubernetes?
6. Comparison of golang and java
7. Golang's gc algorithm
8. How to extend kubernetes scheduler so that it can handle large-scale node scheduling?
9. What do you want to ask me?
Before and after the interview, I compiled kubernetes (k8s) in-depth notes and felt that K8s asked a lot
- K8S Practice
- K8S Practice
Two sides:
1. Talk about the project first.
2. What changes have been made to Prometheus?
3. What did the self-developed configuration center specifically do?
4. Have you ever used any advanced features of MySQL?
5. How is the core data table of the configuration center designed?
6. Why use Redis in business? What are the advantages of Redis?
7. Are you familiar with the implementation of data structures in Redis?
8. Which data structures of Redis have been used, and in what scenarios?
9. What parameters can be configured to initialize a thread pool in Java, and what are their functions?
10. Which JVM parameters have been tuned for Java applications written by yourself, and why are you tuned so?
11. Are there any parameters when using Jetty, and why?
12. If Jetty QTP's waiting queue is configured to be unlimited, do you think it is okay? Will there be any problems?
13. Which commands in Linux Bash have been used, and why are they used?
14. A written test question: You need to answer in the given link, you can't google, you can't jump out, and you can't use IDE: Use Java's wait + notify mechanism;
The topic is as follows:
Start two threads, one outputs 1,3,5,7…99, the other outputs 2,4,6,8…100 and finally STDOUT outputs 1, 2, 3, 4, 5…100 in sequence
Here, I mainly compiled MySql, JVM tuning notes, Redis core notes
- MySQL common objects
- MySQL architecture, storage engine and SQL optimization
- MySQL cache, parameter adjustment and lock
- MySQL common tools, master-slave replication and comprehensive cases
JVM tuning notes
Redis core notes
Three sides:
1. I still talk about the project first. I am very interested in monitoring the alarm project. I asked a lot of details, and finally asked a question: Now I want you to implement a query language that is not weaker than PromQL. Can you implement it?
2. What do you think is the most in-depth project?
3. Talk about data synchronization projects
4. How do you master Linux?
5. How do you master Golang?
6. How is the algorithm mastered?
7. Ask the shortest path algorithm
8. How is k8s mastered?
9. How is k8s exec implemented?
Four sides:
1. Introduce yourself;
2. How do you think you have mastered the basic knowledge?
3. What data structure is usually used?
4. What are the advantages and disadvantages of linked lists compared to arrays?
5. How to judge whether two acyclic singly linked lists have intersections?
6. How to judge whether two singly linked lists with loops have intersections?
7. How to judge whether a singly linked list has a ring, and find the entry point
8. What is the difference between TCP and UDP?
9. Describe the process of TCP waving four times
10. What are the statuses of TCP?
11. What is the LISTEN status of TCP?
12. What is the CLOSE_WAIT status of TCP?
13. What are the steps to establish a socket connection?
14. What are the common HTTP status codes?
15. What is the difference between 301 and 302?
16. What is the difference between 504 and 500?
17. What is the difference between HTTPS and HTTP?
18, handwriting fast type
HTTP full solution
Five sides:
1. Introduce yourself
2. What secondary developments have you done on k8s?
3. Have you ever built a chart with Helm? What?
4. Have you considered encapsulating a PaaS platform for R&D?
5. What did the configuration center do?
6. Why not use zookeeper?
7. How does the configuration center ensure consistency?
8. Spring uses singleton beans, how to ensure concurrency security when accessing Bean fields?
9. What if I still want to isolate the data of two threads?
10. What is escape analysis in Golang? How to avoid memory escape?
11. What is the timing of Golang's GC trigger?
12. Have you ever written the Operator or Controller of k8s?
13. Talk about your understanding of microservice architecture;
14. Talk about your understanding of Serveless;
15. In the end, what do you want to ask me?
Microservice architecture notes
- SpringCloud Microservice Architecture 1-Registration and Discovery (Eureka, Ribbon)
- SpringCloud Microservice Architecture 2---Spring Cloud Netflix (Feign, Hystrix)
- SpringCloud Microservice Architecture 3---Microservice Gateway
- Spring Cloud Microservice Architecture 4-Spring Cloud Stream
to sum up
The essence of the interview is a process of self-expression. Don’t turn the interview into a question by the interviewer and answer it by yourself. Take the initiative to throw out some possible points and wait for the interviewer to ask. For example, I have basically been asked about the guarantee between DB and cache. The consistency of the data is actually quoted up deliberately by myself. For example, the interviewer said, have you used Redis? You can say, used it, generally used as a cache to improve performance with MySQL. You need to pay attention to the data between them. The question of consistency (don’t be too deliberate, take your own measure), the interviewer will most likely ask you how to guarantee
One-click triple + comment, then add my VX (tkzl6666) to receive it for free.