3 rounds of technical interview experience for a Java post of a research institute (Spring+JVM+cache+algorithm+concurrency)

Recently, some friends in the group asked me to help promote JD. Those who are interested can try it!

Requirements: The first degree is to recruit undergraduates. According to the requirements posted above by our boss, we need a java development engineer, 5 years of experience, and no more than 2 companies.

Insert picture description here

What I shared today is also the recent interview experience of friends in the group: 3 rounds of technical interview experience for a certain research institute Java post

This article is shared with friends who need to interview and brush up questions, and I wish you all the best to get the offer you want. This information mainly includes Java basics, data structures, jvm, multithreading, etc. Due to limited space, only a small part is shown below. Interview questions, friends who need the full version can click a link to jump to receive, link: click here to download for free, get code: CSDN

Insert picture description here

one side

1. Ask questions about the project;

2. How to ensure the sequence consistency of Kafka's messages?

3. How to ensure the reliability of Kafka's messages?

4. Kafka's controller election and leader election;

5. What are the measures to make A thread wait for B thread?

6. What is the difference between ReetrantLock and sychronized keywords?

7. If I have an http api method, the execution of this method suddenly takes longer than usual. How to troubleshoot possible problems?

8. There are two survivor areas in the GC Mesozoic and Cenozoic. What role do these two survivors play? Why are two survivor areas needed? How to adjust the size?

10. What is the difference between CMS and G1?

11. How to solve the circular dependency of Bean?

12. What design patterns does Spring use?

13. Flyweight mode, agency mode, template method;

14. Algorithm question: design data structure and algorithm suitable for mobile phone 9-key input method;

Specific requirements: typing a 4 should return all strings starting with g/h/i; typing 43 should return strings starting with a combination of g/h/id/e/f;

Two sides

1. Project related;

2. The state of the thread and its corresponding calling method;

3. What are the locks in java and their underlying implementation principles?

4. How is the data in the network card loaded into the memory?

5. The difference between BIO and NIO. If the NIO channel is always empty, will the CPU soar?

6. What are the advantages of redis as a memory database?

7. How does the cluster mode of redis communicate? When a node is added to redis, the slot is reallocated?

8. A 100G data file contains strings, find the string with the most occurrences, and limit the memory usage to 4G

9. Algorithm question: Design an algorithm that can generate random numbers, and the generated random numbers must be something that has not appeared before;

10. Algorithm problem (forgot)

Three sides

1. Self-introduction, introduction of personal advantages and disadvantages;

2. Project introduction; is the project a mature demo? How is the testing process done? Is there anything that can be improved?

3. Intelligence question: horse racing problem: 25 horses, 5 tracks, no counter, find out the fastest Top3, how many times is the least required

4. Go down the stairs, take two steps or one step, and ask how many options there are. It's almost like a frog jumping up a staircase.

5. How to judge whether the linked list has a ring? How to find out? How to do the shortest time complexity?

6. Are there any activities that have nothing to do with IT?

7. Reasons for leaving, and expected salary?

Guess you like

Origin blog.csdn.net/qq_41770757/article/details/110733664