Author: only love badminton program luca brasi blog.csdn.net/csuliyajin2…

Here is a student’s interview experience:

Meituan: I submitted my resume on The pull hook website. I had submitted my resume once before, but my resume failed to be deleted. Later, I asked my senior student to help me modify my resume and re-submit it to another department, and I got an interview. At noon on October 23rd, HR called to make an appointment for an interview at 4:30pm. They said they would write codes online and asked me to prepare for the network environment.

Didn’t call at 5:30, got stood up. After re-communicating with HR, we decided to meet again next Monday afternoon, but it seems that communicating with HR to make an appointment is of no use in Meituan.

Meituan technical side for 20 minutes

At 7:00 p.m., I was just about to go out to play badminton because I thought of the interview next Monday. The call from Beijing came. The interviewer apologized for the delay.

1. Introduce yourself

Said many times, very smooth pick up the key introduction.

2. Ask me if the data structure algorithm is good

Pretty good (in fact, the heart is still a little empty, but recently brush a lot of questions can only be emboldened to fill fat)

3. Find the third equal point of a singly linked list, if the singly linked list has a ring

Using the fast and slow hands, one takes one step, one takes three steps. If you have a ring, you know where the ring is, you find the last node, and then you do the acyclic thing, right

4. Talk about the project structure

I focused on MVC

5. Describe a design pattern you are familiar with

I focused on singletons, factory methods, and agents

5, has not configured the server what what what

I don’t know about that. I’ve never heard of it. I have to be honest.

I was in a hurry. I guess the interviewer just finished a meeting and hasn’t had dinner yet. He told me to wait, maybe have another colleague meet me, maybe just tell me the result. From the voice and tone of the interviewer, I judged that he must be the boss of the department and asked too many questions. Later, HR told me that he was the boss of the department I wanted to go to. Ha ha.

Meituan technology second interview 60 minutes, detailed q&A

After the face is ready to go out to play badminton, Beijing’s phone came again. (Doomed to miss the team activity this Friday!)

The second interview: The interviewer sounded like a tech developer in comparison to the first interview, and sure enough, it was a one-hour technical phone interview! Face is particularly comprehensive!

1. Spring: Have you ever used Spring, Spring IOC, AOP mechanism and implementation, Spring MVC

Actually, I don’t want to be asked about the details of Spring. I haven’t reviewed the framework and can’t remember it. Therefore, I told the interviewer that I had a good understanding of some important mechanisms in Spring, and then I explained my understanding of IOC and AOP with a practical example. He said that he had a good understanding (it was very happy to meet an interviewer who could give feedback during the interview).

In fact, I have used Spring MVC before. I told the interviewer about the MVC implemented by Servlet, JSP and Javabean in my project, as well as the responsibilities of each MODULE of MVC and how each module is connected. Finally I’ll add that I think SpringMVC has the same idea as this (he’s right, it’s nice to have feedback)

2, multithreading: how to achieve thread safety, what is the difference between each implementation method, the use of volatile keyword, the understanding of reentrant lock, Synchronized is not reentrant lock

Here I mainly talked about the Synchronized keyword, as well as some locks below the package, and their advantages and disadvantages and differences. The volatile keyword is used to disable JVM reordering in double-check, a multithreaded singleton pattern.

3, collection: the underlying implementation of HashMap, how to achieve HashMap thread safety

I talked about the bottom of HashMap is array plus single linked list implementation, Node internal classes, add process, Hash conflict resolution, expansion, and three collection views. The thread-safe implementation of HashMap mainly describes that HashMap can be encapsulated by HashTable, ConcurrentHashMap, and the Collections static method SynchronizedMap. And the difference between these three ways, efficiency performance.

4. JVM memory management, GC algorithm, garbage collector in HotSpot, class loading

JVM memory is divided into five partitions, which are shared by threads, which are exclusive to threads, and what is stored in each partition. GC: how to determine which objects need to be GC, the method of GC, Minor and Full GC. HotSpot GC algorithm and 7 garbage collection periods, mainly covering the CMS and G1 collectors. Class loading: the process of class loading, Bootstrap classloader-extClassloader-appclassloader, parent delegate mechanism.

5. The difference between processes and threads

From scheduling, concurrency, resources and system overhead.

HTTP has no state, I say stateless, how to solve HTTP stateless how to solve HTTP stateless is actually how to do Session tracking, there are four methods: URL rewriting, hidden form field, Cookie, Session.

7, Java IO, NIO, Java has implemented asynchronous IO

Java IO implements synchronous blocking and how it implements synchronous blocking. I used the read() method as an example. NIO implements synchronous non-blocking, and I talked a little bit about the select() method polling in Selector and how it implements multiplexing IO. And then compare their efficiency. The interviewer may see me on this piece of more understanding, and continue to ask me if there are any asynchronous IO in Java, I don’t feel like, but the interviewer said, let me think about it, actually I don’t know, here so I just tell the interviewer about my understanding of the Unix asynchronous I/o model, and then say for Java inside have I really don’t know much about it. (He laughed! It doesn’t matter if it’s in Java! Ha ha)

Will the front end, what is Ajax, Ajax implementation principle

I just know how to use js for the front end. I used jquery framework and asked me what Ajax stands for. I guess it is asynchronous JS and XML. In fact, I do not understand the Ajax implementation principle, I just briefly explained it through the XMLHttpRequest object asynchronous query, Ajax engine in the client side to run, reduce the workload of the server.

Let me design a thread pool

Because it says in my resume that I have a good understanding of multi-threading and concurrency. That’s why he keeps asking questions about it. Since I had seen the source code for ThreadPoolExecutor before, I thought about the design of that class in detail, covering the core pool, creating threads that can be designed using the factory method pattern, thread pool state, blocking queues, and rejection policies. The design is quite comprehensive.

10. Talk about some design patterns. Where are they used and why

Singleton, getRuntime() in JDK; Factory method pattern, ThreadPoolExcutor uses ThreadFactory; Observer mode: Observables and observers under the java.util package. Finally, the usage scenario of the factory method pattern is discussed.

11, Mysql optimization, index implementation

I’m talking about database design optimization and query optimization. Index B+ tree implementation, InnoDB and MyISAM primary key index implementation difference, a clustered a non-clustered.

12. Transaction isolation level

There are four isolation levels, and what exceptions can occur, the default level in mysql.

13. Have you used Hibernate, Mybatis, git

I’ll just talk about that briefly. What are they

14, Linux

I said I had learned this in my undergraduate studies, but I had not used it for a long time and had forgotten all the commands. He said nothing, test you a few simple: CD, LS, dir (really simple)

15. Algorithms

  • Find the smallest 10 out of 100,000 numbers, time complexity analysis (maximum heap, considering memory)

  • Finding the Maximum Sum of continuous Subarrays from a Positive and Negative group, Time Complexity Analysis (Dynamic Programming)

  • How many nodes does a full binary tree have at the i-th level? How many nodes does a full binary tree have at the n-th level

Finally, it’s time for my questions

  • 1. What department are you (he said the core department, big data research and development)

  • 2. I am quite interested in high concurrency and load balancing, but I don’t have such an environment to experience it in school. How do you recommend me to learn it now?

  • 3. What does middleware do specifically? Does it solve high concurrency and load balancing? (He said almost yes, and then he said our department is not middleware, but big data.

  • In the end, it was all right. He told me to keep the line open.

After all this, my mouth was dry and I suspected that he might not know that I was applying for an internship. There’s so much to sum up, put it in the summary.

Meituan technology three aspects for 25 minutes

The interviewer said he was in another department and needed a cross-interview.

  • 1. MySql optimization

  • 2, tell me what the project did, architecture and so on

  • 3. Write code online on CollabEdit. The title is simple and original on the beauty of programming. An ordered array of integers outputs two numbers so that their sum is a given value. I’ve done it before and I’ll write it down quickly and I’ll give him the idea. He goes on to ask what happens if the array is out of order, sort first.

  • 4. Two files, each containing several urls, find the same URL in both files (using HashMap)

Collabedit is an online editing tool used by some Internet companies, such as Facebook, to write code for remote interviews. It is a text document that can not be compiled and run without prompting, just like whiteboard writing. Just practice your skills.

Meituan technical HR four times 30 minutes

The three interviewers said that was the final interview and that I had waited for HR to contact me. I never expected that the HR interview half an hour later was actually a technology.

  • 1, self-introduction, are all around also self-introduction? ! I thought it was a simple HR interview, so it was all about my personality and life, but it wasn’t.

  • 2, ask the project, ask the special special details, technical details, and what problems encountered, how to solve, do the project with anyone, how to communicate with others.

  • 3, database optimization, if the database a table is particularly large how to do database optimization I spoke before many times of the point, he asked a table is particularly large how to do: large table sub small table, how to achieve: the use of partition table

  • 4, ask the graduate student’s scientific research topic, why choose this topic, see what some papers (fine to ask me what those papers are published in the journal, the author is which school), why choose this algorithm, how to optimize and how the results compare with other people, why do better than others algorithm (questions constantly hit come over, I guess he didn’t understand all the technical terms I was saying, just trying to figure out if IT was me.)

  • 5. Determining the internship time really makes me feel a sense of pressure. The project was done by undergraduate students for quite a long time, and some technical details are not summarized, so I can only think about it and make up for it. In terms of scientific research, I was working on this last semester. I still remember clearly the implementation and improvement of some algorithms and the comparison. My answers are quite smooth.

Read more on my blog:

1.Java JVM, Collections, Multithreading, new features series tutorials

2.Spring MVC, Spring Boot, Spring Cloud series tutorials

3.Maven, Git, Eclipse, Intellij IDEA series tools tutorial

4.Java, backend, architecture, Alibaba and other big factory latest interview questions

Life is good. See you tomorrow