Huawei OD's back-end experience

This article is a summary of Huawei OD's back-end interview questions. The background is the school recruitment experience of a freshman.

1. Written test

The written test consists of three arithmetic questions. The time is 150 minutes, which is two and a half hours. The scores are 100, 100, and 200. If it is the target college, it seems that 150 points is enough to pass. Otherwise, the score line seems to be much higher. The questions I got were not difficult and passed with full marks.

There are mainly three questions: data classification, finding the mode and median, and the single-source shortest path problem.

2. Personality test

After passing the written test, you will do a set of personality test questions. Don't ignore this part, as this part may get you hooked. (At the end of the interview, the interviewer told me that my personality test results showed that I was a little anxious, and asked me to explain the reason)

3. Technical aspect

On the technical side, the interviewer of the project team you are in will come to meet you, so it will be a little easier. Like me, I am chatting with the interviewer throughout the whole process. The hand-torn code questions are also very simple, so I won’t go into details.

4. Two aspects of technology

The second side was a cross-interview with different project teams, and the time was quite long, and it took me a full hour to interview. . .

1. Self-introduction

2. What is the composition of JVM?

3. How is a java file loaded into the jvm?

4. Do you understand SPI (Server Provider Interface)? (never heard of that)

5. How to determine whether an object needs to be recycled?

6. What are the ways to create threads?

7. What is the difference between Runnable and Callable? How do they handle exceptions? (The exception handling part is not answered, the foundation is not strong)

8. Why do thread safety issues occur? Java's memory model (JMM)?

9. How to ensure thread safety? (both volatile and synchronized are mentioned)

  1. The difference between volatile and synchronized, combined with JMM to talk about?

11. Tell me about the workflow of the thread pool?

12. What is the rejection strategy of the thread pool? How do we set the rejection policy in actual production? (Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh.

13. Spring AOP? Principle (design pattern)?

14. Now I want to implement a permission verification function, and I don't want to use a security framework, what do you think? (I happened to have done such a requirement, that is, to customize an annotation, add the annotation before the method that requires permission verification, and then use AOP for verification, which can also be achieved with interceptors)

15. What improvements has SpringBoot made compared to Spring? (starter dependencies and autowiring)

16. Tell me about the automatic assembly process of SpringBoot? (The @Conditional annotation is mentioned)

17. I now have a Provider class, which is managed by the container, but I don’t want to use it anymore. I want to use a new Provider class. If I hand it directly to the container, a Bean conflict will be reported. Then how to use the @Conditional annotation to let the new Provider’s bean directly replace the original Provider’s bean? (In fact, how to use the @Conditional annotation to achieve conditional injection of beans, but unfortunately I haven't tried it myself, so I didn't answer it)

18. How does MyBatis implement paging?

19. Tear-off code: roughly give a string of numbers, such as 104032, and express it in Chinese: one hundred and forty-four thousand and thirty-two. (At that time, I thought of doing it step by step. Units like tens of thousands and billions would appear every four digits. It can be judged by dividing by 4, and tens of hundreds of thousand is a cyclical modulo judgment. A bit, but in the end he didn't say what the best practice is...)

20. Rhetorical questions

Five, comprehensive surface

1. Self-introduction

2. Asked about my main project, specifically asked about the amount of code.

3. Ask about the internship experience, which part of the internship project you are mainly responsible for.

4. The results of the personality test show that you are a little anxious, can you tell me the reason?

5. Expected salary?

6. Where do you expect to work?

7. Rhetorical questions

6. Qualification interview
Similar to the hr interview, I asked about the basic situation of the individual, expected salary, why not take the postgraduate entrance examination, etc.

To sum up, the above questions are actually not that difficult, especially in such a turbulent market, but he is OD for this position after all. . .

The JVM, multi-threading, Spring, and Mybatis questions asked above are actually relatively routine questions, and they are inevitable.

Guess you like

Origin blog.csdn.net/Wis57/article/details/131478821