The agency recruited Ali on three sides to "fall out of the list", and was fortunate to get the number of referrals, and 4 sides took the offer from Meituan

table of Contents:

  • 01 Interview experience sharing (Ali failed the list + Meituan interview questions)
  • 02 What kind of ability should I have when I interview Meituan?
  • 03 How to improve yourself quickly and pass the interview?

Write at the beginning

Growth background:

Let me talk about a personal growth background. Born in a small town in the south of the Yangtze River, I didn't leave the province in university. After graduating, I went to Shanghai to work in an Internet finance company for two full years until the end of last year. After resigning, I didn’t have much luck. I encountered the epidemic, and now it’s almost the end of March. In fact, I was already in the interview early. As of now, Ali has “lost the list” on three sides, and later got an opportunity to referral. , 4 sides took the offer of Meituan.

Interview experience:

After this interview, I have only one feeling. Dachang is worthy of being a Dachang. Ali’s interview is still very difficult, and it is not so easy to enter. After several links of the interview, it can be said that there are many talents and I feel quite inferior. Yes, but I am not an unconfident person, so the interview with Meituan was fairly smooth, and the development of Meituan was quite fast. The whole interview was quite exciting!

The following content of the article will give the interview questions (answers + analysis) of Ali and Meituan, interview question bank, Java core knowledge points combing, etc. If you need these documents, you can privately send me [Dachang] to receive it for free~

The agency recruited Ali on three sides to "fall out of the list", and was fortunate to get the number of referrals, and 4 sides took the offer from Meituan

 

01 Interview experience sharing (Ali failed the list + Meituan interview questions)

(1) Alibaba three-sided interview questions (partial questions):

  1. The difference between String and StringBuffer
  2. The concept of gc, if A and B objects are cyclically referenced, can they be GC?
  3. How is the memory overflow in Java caused?
  4. String s = "123"; How many objects does this statement produce?
  5. What is the difference between Error, Exception and RuntimeException?
  6. List more than 3 RuntimeException
  7. The difference between reader and inputstream
  8. The role of hashCode
  9. What are the methods in the Object class, list more than 3 (can be guided)
  10. Can a Chinese character be stored in a char variable? why?
  11. List several commonly used classes in the Java Collection class library
  12. Do List, Set, and Map all inherit from Collection interface?
  13. The difference between HashMap and Hashtable
  14. Can any object in HashMap be used as a key? Are there any requirements for user-defined objects as keys?
  15. The difference between interface and abstrat class can inherit multiple interfaces, can it inherit multiple abstract classes?
  16. Do I start a thread with run() or start()? How many implementations of multithreading are there? How are synchronization and concurrency solved? What is a daemon thread, and what method is used to implement a daemon thread (the meaning of Thread.setDeamon()) How to stop a thread? Explain what is thread safety? Give an example of thread insecurity. Explain the role of the Synchronized keyword. When a thread enters a synchronized method of an object, can other threads enter other methods of this object?
  17. Have you learned about the new features of JDK8, and describe the corresponding features with examples?
  18. What are the principles for optimizing SQL?
  19. Servlet life cycle is the difference between life and cgi?
  20. What are the advantages of StringBuffer? Why fast?

(2) Meituan Sutra:

one side:

  1. Self introduction
  2. Project introduction and highlights
  3. What are the 8 data types of Java?
  4. Asked the range of Integer cache data?
  5. Then I asked what methods the Object class has?
  6. I asked here and then came up with a question. The interviewer has a small note with the title on it. String A = "123"; String B = new String("123");. How many String objects are generated?
  7. Since wait is mentioned, by the way, what is the difference between wait and sleep?
  8. Since hashcode was also mentioned, the interviewer then asked me, where is hashcode used?
  9. Sure enough, the interviewer said, talk about hashmap?
  10. It is mentioned that hashMap is not thread-safe. The interview asked me why it is not thread-safe. Give some examples?
  11. I thought I was going to ask ConCurrentMap next, eh, it was beyond my expectation. I didn't ask. Maybe I thought I had prepared enough hashmap, and then I asked me if the JVM understands it?
  12. Let me say what parts of JVM are divided into?
  13. Since memory overflow was mentioned, the interviewer asked me the difference between memory overflow and memory leak?
  14. After asking here, I asked the database, what are the 4 major features, for example?
  15. What are the isolation levels of data, for example for each isolation level?
  16. Then I asked about the computer network and asked me which 7 layers are there?
  17. Then I asked me where is TCP, where is UDP, and where is HTTP?
  18. The question is over here, and then the interviewer asked me what I want to ask, I asked how to evaluate my interview performance?

Two sides:

  1. Self introduction
  2. Project introduction, and its highlights.
  3. Then I asked me about the collection, let me talk about the difference between ArrayList and LinkedList?
  4. Continue to ask me whether linkedList can be traversed with a for loop?
  5. Introduce ConCurrenthashmap
  6. Let’s take a look at this question and take out a small note
  7. Then ask me if I understand the simple interest model, write a singleton model?
  8. Then I asked if I understand the virtual machine, and introduce some virtual machine memory models?
  9. Introduce some garbage collection algorithms you know?
  10. Asked here, asked me. Do you know why the SurvivorRatio parameter is initially the default 8:1:1?
  11. Suddenly asked, do you understand binary trees, write a deep search traversal of binary trees?

Three sides:

  1. Self-introduction and project introduction as usual;
  2. Let me tear up a singleton pattern
  3. Let me talk about what does the code mean?
  4. Since the JVM is mentioned in my project, I gave me a scenario question. In the garbage collector, after the mark is cleared many times, since the mark clearing algorithm is used, what problems do you think may occur?
  5. The full gc is mentioned here. Ask me, which situations will produce full GC and which situations will produce minor GC?
  6. In addition to the memory overflow problem in your project, what else do you know about memory overflow and memory leak?
  7. Then I gave me a handwritten code problem for dynamic programming. Let's write a code. It is roughly how many times the largest square is in the n*m ​​matrix. I forgot.

Four sides (HR side):

  1. Introduce yourself
  2. Why do you want to come to Meituan? How much do you know about Meituan?
  3. Sort of Internet companies in mind
  4. Which one does Tencent and Meituan choose?
  5. Own advantages and disadvantages
  6. anymore question

Answers to Meituan Interview Questions + Analysis:

The agency recruited Ali on three sides to "fall out of the list", and was fortunate to get the number of referrals, and 4 sides took the offer from Meituan

 

02 What kind of ability should I have when I interview Meituan?

(1) Solid basic knowledge: language foundation + computer foundation + algorithm + basic Linux operation and maintenance

If you want to interview a major Internet company, the most basic thing is to master the basic knowledge. First of all, Java language requires you to have a deep understanding of collection classes, concurrent packages, IO/NIO, JVM, memory models, generics, exceptions, reflection, etc. If you want to give yourself more advantages, it is best to use source code Read some parts too.

Most of the social recruitment positions are middle and senior positions, so the requirements for this part are relatively high, and they attach great importance to the interviewer’s mastery of the virtual machine, such as the class loading mechanism, memory model, etc. These aspects are optimized And concurrent programming are very important.

As for the algorithm, the basic point is the sorting and search algorithm. In addition, you must have a certain grasp of recursion and divide and conquer. It is recommended to read "The Fun of Algorithms" and "Leetcode Algorithm".

In addition, computer basics, such as TCP/IP protocol and operating knowledge reserves are also necessary. These are the basic conditions for development and basic courses of the university.

(2) The ability to build wheels: design patterns + various cache and database applications + middleware technology + high concurrency and high availability distributed system design

Large Internet companies face a large number of requests every day, and they will examine the architecture and design of distributed systems, how to build a high-concurrency and high-availability system, and because the user base is relatively large, a subtle optimization may bring great benefits , So the requirements for mastering some technology stacks are more in-depth.

For example, for MySQL database, you need to know the relevant configuration and optimization, how to divide the database and tables after the business comes up, and how to configure the cache reasonably. An experienced server developer should also be a competent DBA.

You must have a certain understanding of commonly used development components, such as middleware, RPC framework, etc. Although we may not use our own wheels in our work, we will be handy if we master the principles. This part of knowledge is mainly based on work accumulation. I recommend "Large-scale Website Technical Architecture and Java Middleware Practice", as well as "Large-scale Website System Architecture and Practice" by Zeng Xianjie, which covers the evolution of large-scale websites, service governance and the use of middleware Very detailed explanation.

As a business developer, it is necessary to understand the indicators related to stress testing, such as QPS, average user waiting time, etc., which can help you better understand your system.

(3) Soft indicators: the ability to learn quickly + good communication skills + understanding of related industries

In addition to basic technical requirements, large Internet companies also value a person's learning ability when recruiting, and identify whether this person is worth training. Such as communication habits, logical analysis ability, etc., these are all included, and these abilities are difficult to improve over a period of time, they are accumulated over a long period of time.

In addition, the degree of understanding of related industries can also add points. For example, Internet finance companies will be more inclined to people who have experience in payment and banking-related system development.

03 How to improve yourself quickly and pass the interview?

(1) Understand the technology stack of mainstream Internet companies and sort out relevant knowledge points

Many people interview on the front-line Internet. The main reason for their failure is that they do not understand the technical requirements of these companies, and do not know what aspects will be asked during the interview. Therefore, it is necessary to do some homework in advance. Regarding the technology stacks of mainstream Internet companies, I also have some sorting out. This document can help you sort out these technology stacks and the knowledge points you will ask in the interview.

  • Free document sharing, private message me [core] to receive

The agency recruited Ali on three sides to "fall out of the list", and was fortunate to get the number of referrals, and 4 sides took the offer from Meituan

 

(2) Appropriately understand the knowledge of some products or designs, and become a compound talent

Excellent developers must have some product or design-related knowledge, which is conducive to understanding the fundamental requirements beyond the functions required by the product manager, and is more helpful to product development and development.

To become a compound talent, you must also be aware of actual combat research. Regarding actual combat issues, I have also compiled a lot of documents, such as redis actual combat, SpringBoot core notes, etc.

  • Take the SpringBoot core notes as an example:

The agency recruited Ali on three sides to "fall out of the list", and was fortunate to get the number of referrals, and 4 sides took the offer from Meituan

 

(3) Brush up on the interview questions of Dachang over the years (including HR face)

The agency recruited Ali on three sides to "fall out of the list", and was fortunate to get the number of referrals, and 4 sides took the offer from Meituan

 

Write at the end

For programmers, learning many techniques is "defensive". In other words, we are learning for the future. Our purpose of learning new technologies is either to apply them in new projects or just for future interviews. But in any case, it must not be "stopped" or abandoned.

Act now, you still have time!

All the PDF documents involved in the above content of the article are free to share with everyone. If you need documentation, forward + comment on my article, follow me, and then private message [Dachang] in the background to get it~

Guess you like

Origin blog.csdn.net/x275920/article/details/108620487