Recently, spring recruitment has almost come to an end. I have found several fans who have received offers from famous companies and asked them to summarize their interview experience, which will be sent to you in batches in the near future. I hope to offer some help to those students who are preparing for autumn admission.

The interview I share with you today has passed the spring recruitment in 2018 and several rounds of technical interviews of JINGdong. Here’s what he learned and prepared for the interview. Hollis made only simple formatting changes. I hope it helps.

Since the Beginning of the New Year, I started to make formal preparations. With the idea of giving it a try, I applied for the internship of JINGdong Java R&D engineer in Spring Recruitment. Then I passed the written test and the second interview by accident, and summarized my experience and preparation for the interview, hoping to help you

 

Before the interview, I made a List for myself, and then divided it into weekly plans and daily plans to complete the List according to the List. Although I haven’t gone through all my List so far, I still feel that I have gained a lot. If the students are not strong in self-control like me, they can also make a List like me.


Daily tasks

1. Design mode * 1 (I read “big word design mode”, easy to read, the implementation is C#, in addition to the delegation of the other part of the difference is not very big, if you have the ability to combine with “reconstruction · improve the design of the existing code” study)

2. Effiective Java * 2 (There is also a Practical Java book that feels a little old, I picked it up and read it. Effiective Java has also produced a third book with many new places added.

3. * 1 collection class source code (the best is to find a while learning side of the system linked source, looks better than the struggling students can surf the Internet reference some blogs to help understand, does not necessarily require to understand the details please everyone but a few key points, before I was system studied again, and then every day is after learning that prevent forgotten)

4. Algorithm * 1 (Leetcode also launched a Chinese version, or Niuke.com can also be, I have a weak algorithm, so I picked a classic question to brush down)

5. Basic knowledge questions (at that time, I passed all the Java questions in Niuke.com during the Chinese New Year, and the back is mainly to review the wrong questions, and some database and network choice questions)

 

Weekly tasks

It is better to arrange according to each person’s own time. It is also better to review the review of the previous week in the current week, and then have a theme every week instead of aimless review. I am in the habit of taking notes, so I recommend MarkDown or tools like Evernote Youdao Cloud Notes

 

Review key points

In fact, MOST of my preparations are based on the foundation and part of the advanced part of Hollis’s Java Road to God. In fact, I have summarized the Java foundation, JVM, network, database, data structure, and Java source code to be proficient (really not to advertise Hollis).

If you are not well prepared, you can find more interviews, look at other people’s questions, bring them into the interview scene, you can make a list of your weaknesses, and then review your weaknesses

 

On the one hand, I received a text message at six o ‘clock the night before, asking me to attend the interview in Shanghai at ten o ‘clock the next day. I really didn’t expect that I could pass the written test, thinking that I had never participated in the interview, so I came to the interview as the accumulation of experience.


Me: I’m a little nervous about my first interview

Interviewer: We’ll just have a chat. Would you like to introduce yourself first

 

Then there is a series of self-introduction (self-introduction is really a must test question, it is suggested that every student should have a self-introduction in their heart, I introduced myself at the same time I did several projects in college and what I learned).

 

Q: Your resume says you have a solid Java background. Let’s talk about some basic Java issues first

 

Q: What is the difference between StringBuffer and StringBuilder

A: The StringBuffer thread is safe, but the StringBuilder thread is not safe, and the underlying implementation is that StringBuffer has more Synchronized modifiers than StringBuilder

 

Q: Know which maps

A: Thread-unsafe HashMap, thread-safe ConcurrentHashMap, ordered TreeMap, WeakHashMap used for ThreadLoacl implementation

 

Q: Why is HashMap thread unsafe

A: Before 1.8, HashMap used the zipper method to solve conflicts. Drawing A picture explains the reason why linked lists form loops. In 1.8, red-black tree was used for processing, so the probability of conflicts was not so high

 

Q: Why is ConcurrentHashMap thread safe

A: I talked about red black trees and CAS, and I also mentioned ABA problems and Java solutions

 

Q: Your resume mentioned that you participated in the Blue Bridge cup competition, then write down the quicksort algorithm, and briefly state the idea

A: Quick hand tearing

 

Q: How do you use GIt and SVN for project management? What is the difference between GIt and SVN

Git is not used very well. It is mainly used to create A new branch for backup, and to merge the Feture into master when necessary

 

Q: Do you know anything about the JVM? Just a quick introduction

A: It covers the memory model, garbage collection algorithm, and garbage collector, which G1 and CMS feel are important

 

Q: Have you ever used locks? What do you know about JUC packages

JVMS are optimized for locking, and there are several locks under the JUC package that are different from Synchronized locks

 

Q: You used SpringMVC in your project, so you can talk about your understanding of SpringMVC

A: I talked about IOC and DI. The AOP section talked about JDK and CGLib dynamic proxies, and the differences between the implementation of the two proxies. Then I mentioned some things like Spring Data and Spring Security that were used in the project

 

Q: Do you mainly use Mysql or SQL Server

A: What database engine is used for Mysql? What database engine is used for Mysql

 

Q: Are you using MyBatis or Hibernate

A: Hibernate, but I have learned about MyBatis and suggested to change the item to MyBatis

 

Q: Why do you recommend using MyBatis and what’s the difference between it and Hibernate

A: Hibernate is a bit more cumbersome to write HQL, but if the database is ported, it is simpler than that. MyBatis writes native SQL statements, which may better meet the business needs of a large company like JINGdong. After all, SQL is more flexible than HQL

 

This is followed by a series of questions around the project, which should be different for each person, interspersed with multiple questions

Remind the students, their own items can be less, two is enough, but a point to be familiar with the project process open hair process, take out the items to have east and west can speak, it is best not to do between the university work to fill.

 

Q: Problems encountered in the project, and any experience with JVM tuning

A; How to use JPS Htop and other instructions to guide the line stack to do the problem check, and finally locate the problem

 

Q: What do you know about JD

A: (At the time, I felt that I didn’t answer this question very well. The students who proposed the interview should find out whether the technical team of the company has published any books or technical blogs before the interview, so as to have A general understanding of the technical type selection)

 

At the same time, the test officer said that I have a solid foundation, may also want me to come to the weekend, and then I will go back to school and so on the second notice


 

Second knot, face test officer said as far as possible afternoon text message, knot fruit nervously waiting for three or four days today to receive an appointment HR telephone message, I hope my HR face can be smooth, but also hope that students can get their desired offer as soon as possible.

 

Or in the study of a dish chicken, if there is an incorrect place to point out!

PS: This article is submitted by a fan. Let’s express our gratitude to our wonderful friend.