Ali is cool on the one hand, fortunately, he was promoted to Huawei's technology, and the offer was obtained

Last month, my buddy resigned from a small factory and switched to Alibaba Cloud. With an excellent resume, he got the interview notice smoothly, but the progress made him doubt his life, or what made him confused was that the interview with Alibaba Cloud actually Was hanged on the first side? Let the buddies start to doubt themselves, is it because they haven't made any progress after working all these years?

Fortunately, after being recommended by his friend, he went to interview Huawei. The interview process went very smoothly and he got an offer soon. This made my buddies even more confused. With the level of Huawei's offer on four sides, Ali was hanged while interviewing?

Simply, my buddy wants to share this interview experience, so that everyone can help him refer to it and come up with an idea!

Ali was cooling off the scriptures (while asking for 2 hours, what's going on?)

This time, I felt like I was fighting a psychological warfare. My buddy’s own defense line was basically defeated, and he was facing doubts about his life, so the process didn’t feel very good. He also felt that he didn’t answer many questions well, or he answered “missing an arm.” Less legs", or "superfluous".

  1. Let's talk about the project first, from the project's architecture design to the deployment process.

  2. What are the Java containers? Which are synchronous containers and which are concurrent containers?

  3. Time complexity of insertion and access of ArrayList and LinkedList?

  4. Java reflection principle, annotation principle?

  5. How many areas are the new generation divided into? What algorithm is used for garbage collection? Why use this algorithm?

  6. Under what circumstances will HashMap expand, or what operations will cause expansion?

  7. The execution process of the HashMap push method?

  8. After HashMap detects a hash conflict, will the element be inserted at the end or the beginning of the linked list?

  9. 1.8 also uses red-black trees, talk about the characteristics of red-black trees, why do people have to use red-black trees instead of AVL, B-trees and the like?

  10. The difference between https and http, have you used other secure transmission methods?

  11. The working principle of the thread pool, several important parameters, and then give a few specific parameters to analyze what the thread pool will do, and finally ask what is the role of the blocking queue?

  12. How does Linux check the system load?

  13. Please describe in detail the whole process of springmvc processing requests?

  14. Talk about AtomicInteger, why use CAS instead of synchronized?

  15. In which cases will the query not use the index?

  16. Database index, how is the bottom layer implemented, why use B-tree index?

  17. The realization principle of Mysql master-slave synchronization?

  18. How does MySQL use B+ tree?

  19. Talk about database optimistic locking and pessimistic locking?

  20. What NoSQL databases have you used? What scenarios are MongoDB and Redis suitable for?

  21. Describe the TCC service design of distributed transactions?

  22. What is the difference between Redis and memcache? Why does Redis have an advantage over memcache?

  23. When considering redis, have you considered capacity? How much data will there be?

  24. Talk about the implementation comparison of distributed locks and distributed globally unique IDs?

  25. When cluster monitoring, which technical indicators should we focus on? How can these indicators be optimized?

  26. What technical challenges will be faced from tens of millions of data to billions of data? Your technical solution ideas?

  27. The biggest setback you have encountered in the past two years, what have you learned from the setback?

  28. Have you learned any new technology recently?

Four aspects of Huawei: 3 rounds of technical aspects + HR aspects (Huawei's scriptures, worth referring to)

The interview process at Huawei was very smooth, and the questions were relatively basic, so the whole person was quite confident, and the interviewer also asked questions in a more "friendly" way throughout the whole process, so it was relatively easy, so the interview went smoothly, and it was easy to get an offer. quick. The following are the technical questions of my buddy Huawei on 4 sides, excluding the HR side.

Huawei's technical side:

  1. Briefly talk about the characteristics of object-oriented and six principles

  2. Talk about the difference between final, finally, and finalize

  3. The difference and connection between ==, equals and hashCode in Java

  4. Talk about the understanding of Java containers ArrayList, LinkedList, HashMap, HashSet, and application scenarios

  5. Talk about the basic state of the thread, the difference between the wait() sleep() yield() method.

  6. What are the monitoring tools for JVM performance tuning?

  7. Briefly talk about the JVM memory model and the volatile keyword

  8. Garbage collector and memory allocation strategy

  9. garbage collection algorithm

  10. The difference between several commonly used storage engines in MySQL

  11. database isolation level

  12. How to arrange a large file of 500 million integers?

Two sides of Huawei technology:

  1. Java memory model

  2. How to trigger full gc?

  3. gc algorithm

  4. JVM recycling strategy

  5. ClassLoader principle and application

  6. Which gc algorithm to use for high throughput

  7. ConcurrentHashMap和HashMap

  8. How to implement the bottom layer of volatile, and how can we keep the visibility?

  9. Have you ever participated in an open source project?

  10. Principle of thread pool, rejection strategy, number of core threads

  11. 100 million mobile phone numbers, judging duplicates

  12. What are the ways of interaction between threads? Is there any encapsulation class (join) for thread interaction?

Three aspects of Huawei technology:

  1. Two clicks, how to prevent repeated orders?

  2. Database table design, index

  3. Redis cache elimination strategy, update strategy

  4. Dubbo, netty, RPC introduction principle

  5. Current limiting algorithm

  6. What should I do if zk is down?

  7. The implementation of distributed locks, the comparison between zk implementation and Redis implementation

  8. Spike scenario design to cope with sudden burst traffic

  9. Distributed Data Consistency

  10. consistent hashing

  11. Introduction to the Principle of Message Queuing

  12. The principle of annotation

  13. Database principles, database middleware, index optimization

  14. ioc principle, aop principle and application

  15. Big data related, MapReduce

  16. The principle of Docker

2023 Dachang Interview Questions and Answers

In fact, my buddy is not a lucky person, but a hardworking person. What I have achieved today is all due to my buddy’s hard work. Although Alibaba Cloud is not good at first, but being able to enter Huawei is considered a buddy for many years. Accumulation, the following is a personal learning method and experience summary shared by my buddies.

Learning methods and experience summary

(1) Multiple questions

It is very important to write more interview questions by yourself. Even if you don’t need an interview, you should always know what questions are asked in the interviews of large and small factories? What is the more popular technology now and so on. So how did the buddies solve the questions? The brush questions are mainly divided into two categories: Java technology and algorithms. Some relatively new question books have been collected, including [Java core knowledge] and [algorithm brush questions]. For example, there is LeetCode in terms of algorithms.

Algorithm brush question LeetCode:

(2) Read more about the actual combat books of technical cattle

In fact, the current state of many people is that they lack actual combat experience, or they don't know how to get started in actual combat. Then, it is very good for me to read some practical books written by experts with strong skills, and I can learn some practical experience to some extent. At present, the practical books I have compiled are relatively comprehensive, including Spring family bucket, JVM, concurrent programming technology, Redis related, MySQL tuning, Tomcat, ZooKeeper and other advanced technologies.

(3) Communicate more and think more

The last point I want to emphasize is to communicate more and think more. Nowadays, many programmers fall into a strange circle and only work mechanically in the office all day long. In fact, if programmers want to make great and obvious progress, communication is indispensable. So how to get acquainted with technical bulls who are better than yourself? In fact, there are many channels. My personal approach is: ① watch some technical live broadcasts and make friends in the live broadcast room; ② add some technical communication groups to exchange more questions; ③ participate in some offline activities, such as face-to-face, seminars, etc. .

write at the end

Learning is like climbing. Although there is physical and mental exhaustion, there are more beautiful scenery along the way, not to mention the distant view after reaching the top. Afterwards, you will always sigh that the previous efforts were worthwhile.

Guess you like

Origin blog.csdn.net/SharingOfficer/article/details/130947342