Meituan intern position

Meituan, I submitted my resume on The pull hook website. I also 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 opportunity. 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.

One side (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

Very good (in fact, the heart is still a little empty, but recently brush a lot of questions can only be emboldened to fill the 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 figure out where the ring is, you find the last node, and then you do the acyclic thing that we did before.

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.

6, 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.

Second Interview (60 minutes)

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. So I told the interviewer that I had a good understanding of some important mechanisms in Spring, and then I used a practical example to explain my understanding of IOC and AOP. 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 one (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.

6, 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 fields, cookies, 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 give you a quick overview of what they are.

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 is 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? Is it to 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.

Three sides (25 mins)

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

1. MySql optimization

2, talk about what the project did, architecture, etc.

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.

HR four sides (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 a database table is particularly large how to do

Database optimization I spoke before spoke many times of the point, he asked a table especially large how to do: large table subdivided into small tables, 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, determine the internship time

This aspect really makes me feel a sense of pressure, the project is done by undergraduate, quite a long time, some technical details are not too summarized, so I can only think about it, heh heh.

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.

I am so tired, I don’t want to find an internship, I have to say that the internship interview of Meituan is as grand as the offer of the official school recruitment, I am so tired, this department is also very good, I am very satisfied, so I don’t want to continue to look for.

So far, The Java foundation, database, computer network, operating system review is also over. Now just brush them every day and keep doing it.

Next ready to look at Tomcat source code, to enter the next stage, this is not the end, come on.

From:

blog.csdn.net/csuliyajin2012/article/details/49430659