A friend was interviewed by Alibaba Cloud and was brutally defeated by Waterloo. Unexpectedly, I got the opportunity of Huawei's internal promotion. I like to offer offers (Java development post) to share my experience.

Last month, the buddy resigned from a small factory and switched to Alibaba Cloud. He has an excellent resume and successfully received the interview notice. However, the progress made the buddy doubt about his life afterwards, or what made the buddy confused is that the interview with Alibaba Cloud was unexpected. Was hanged on the first side? Let the buddies start to wonder if they have not made any progress after working these years?

Fortunately, after being recommended by his friend, I went to interview for Huawei. The interview process for Huawei was extremely smooth and I got the offer soon. This makes the buddies even more puzzled. With the level of Huawei's offer on four sides, Aliyun was beaten when interviewing?

Simply, buddies would like to share the interview experience this time, so that you can help him refer to and come up with an idea!

In addition, I have also compiled some review materials of buddies below, and friends in need will forward and follow them, and add my VX (tkzl6666) to get a free way to receive it!

Aliyun cools the scriptures (and even asks for an hour and a half, what's the situation?)

This time I felt like I was fighting psychological warfare. The guys’ own defenses were basically defeated, and they were suspicious of life, so the process didn’t feel very good. Many of the guys didn’t answer well, or they answered "lack of arms." "Less legs" or "superfluous".

  1. Let's talk about the project, 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. The time complexity of inserting and accessing ArrayList and LinkedList?
  4. Java reflection principle and annotation principle?
  5. How many regions are the Cenozoic 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. In 1.8, red-black trees are also used to talk about the characteristics of red-black trees. Why do people have to use red-black trees instead of AVL and B trees?
  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 gave a few specific parameters to analyze how 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 request?
  14. Talk about AtomicInteger, why use CAS instead of synchronized?
  15. Which situations will not use the index in the query?
  16. Database index, how is the bottom layer realized, why use B-tree index?
  17. The realization principle of Mysql master-slave synchronization?
  18. How does MySQL use B+ trees?
  19. Talk about database optimistic locking and pessimistic locking?
  20. What NoSQL databases have you used? Which scenarios are applicable to MongoDB and Redis?
  21. Describe the TCC service design for distributed transactions?
  22. What is the difference between Redis and memcache? Why does Redis have an advantage over memcache?
  23. When considering redis, did you consider capacity? What is the approximate amount of data?
  24. Talk about the implementation comparison of distributed locks and distributed global unique ID?
  25. When cluster monitoring, which technical indicators should be focused on? How to optimize these indicators?
  26. From tens of millions of data to billions of data, what technical challenges will it face? Your technical solution ideas?
  27. The biggest setbacks encountered in the past two years, what have you learned from the setbacks?
  28. Have you learned a new technology recently?

Huawei’s four sides: 3 rounds of technical side + HR side (Huawei’s truth, worthy of reference)

Huawei's interview process is very smooth. On the one hand, the questioning is relatively basic, so the whole person is quite confident. The interviewer is also a more "kind" question method throughout the process, so it is relatively easy, so the interview goes smoothly, and the offer is also fast. The following are four technical questions from buddy Huawei, excluding HR.

Huawei technical side:

  1. Briefly talk about the characteristics of object-oriented and the 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 threads, 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. The isolation level of the database
  12. How to sort large files of 500 million integers?

The two sides of Huawei technology:

  1. Java memory model
  2. How to trigger full gc?
  3. gc algorithm
  4. JVM recycling strategy
  5. Principle and Application of ClassLoader
  6. Which gc algorithm to use for high throughput
  7. ConcurrentHashMap和HashMap
  8. How to realize the bottom layer of volatile and how to maintain visibility?
  9. Have you participated in an open source project?
  10. Principle of thread pool, rejection strategy, number of core threads
  11. 100 million mobile phone numbers, repeated judgments
  12. What are the ways of interaction between threads? Is there a wrapper class for thread interaction (join)?

Three aspects of Huawei technology:

  1. How to prevent repeated orders after two clicks?
  2. Database table design, index
  3. Redis's cache elimination strategy and update strategy
  4. Introduction to dubbo, netty, and RPC principles
  5. Current limiting algorithm
  6. What should I do if zk hangs up?
  7. Implementation of distributed locks, comparison of zk implementation and Redis implementation
  8. Spike scene design to cope with sudden bursts of traffic
  9. Distributed data consistency
  10. Consistent hash
  11. Introduction to the principle of message queue
  12. The principle of annotation
  13. Database principle, database middleware, index optimization
  14. ioc principle, aop principle and application
  15. Big data related, MapReduce
  16. The principle of Docker

Dachang interview questions answers

 

 

 

In fact, the buddy is not a lucky person, but a hardworking person. Today's all these are all based on the efforts of the buddies. Although Alibaba Cloud is cold on the side, it can be considered as a buddy for many years to enter Huawei. Accumulation, the following is a personal learning method and experience summary shared by the buddies.

Learning methods and experience summary

All the information shown below can be shared and forwarded + followed for free, and then add my VX (tkzl6666) to get it for free.

(1) Multiple questions

It is very important to brush more interview questions by yourself. Even when you don’t need an interview, you should always understand what the big and small factories will ask in interviews. What are the more popular technologies and so on. So how did the buddies write the questions? 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 brushing]. For example, there is LeetCode for algorithms.

Essential core knowledge points for Java interviews:

 

Algorithm Brush Question LeetCode:

 

(2) Look at the actual combat book of the technical cow

In fact, the current state of many people is that they lack actual combat experience, or that they don't know how to get started in actual combat. So, it is good for you to read some practical books written by the more skilled Daniel, and you can learn some practical experience. At present, the actual combat 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 to be emphasized is to communicate more and think more. Nowadays, many programmers fall into a strange circle, and they 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 do you meet someone who is 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 and exchange questions more; ③Participate in some offline activities, such as face-based, seminars, etc. .

Write at the end

Learning is like climbing. Although there is physical and mental fatigue, there are more beautiful scenery along the way, and no matter how far you can see after climbing. After that, you will always lament that what you have done is worthwhile.

The interview questions and learning materials shown above can be shared with everyone for free

Guess you like

Origin blog.csdn.net/JavaBUGa/article/details/109289455