Before the order

From that moment on, I of the university entrance exam from my progress on the voluntary college entrance examination “computer science and technology” is at the heart of the words “holy”, I had the highest hall “BAT” to enter the Chinese Internet as my whole university goal, even if I attended was a double of a university in inland I also think that I can achieve their goals. But when I entered the university, I found that everything was different from what I imagined. Entering the Student Union, I hoped to exercise my face and organizational ability, but found that my task was only to check the attendance of others’ classes and stand guard at the welcome party. I participated in the interview of ACM team, one of the eight teams in the school. Five people in my dormitory went to the written test, but I was the only one who failed. When I went to the team leader to bully him, I was teased and laughed at (this thing hit me so hard that I still feel bitter about it). I hope that university professors can impart knowledge vividly, but I find that a PhD professor from Tsinghua University can’t even speak clearly. Fortunately, I was just a freshman, full of energy and interest in computer, I started the road of self-study. When the teacher was still talking about the introduction to computer, I finished learning C language by myself, and then I chose the path of Android development based on my own interest. From then on, I started to love the feeling of being my own teacher. In the sophomore year, I made several apps, some of which even launched Kuan, which was downloaded by thousands of users. The feeling of communicating with users greatly increased my sense of achievement. Although I like Android development, I conducted a survey on Android development in the second term of my sophomore year, and found that the number of Android recruitment in the same company was far less than the number of Java development. This survey gave me the idea of switching to Java background development. But I was worried that I would not change direction until the second half of the sophomore year. I was worried that I would not have enough time to accumulate in the third year. It was only in September last year that I really decided my future direction of Java background. However, it was only one semester before the 2018 Spring recruitment, so I made a plan and a list of books for myself to prepare for the 2018 spring recruitment. Due to full preparation, I finally got 5 offers including Ali, Jingdong and netease. I would like to share my interview experience with you in this article.

To prepare

The written test

I have long understood that the interview of Internet companies is a must for programmers, and my algorithm level is just passing the level, which is certainly not able to reach the level required by the interview, so I began to plan to brush questions in LeetCode in July and August last summer vacation (the second summer vacation of sophomore year). At first, I planned to do 8 Easy problems a day. As I became more proficient, I did 4 Medium and 4 Easy problems a day. Then I changed to 4-6 Medium problems a day. A summer down brush more than 200 questions, the results are still very good.

In this part, I concluded that I should first make it easy and then difficult in Leetcode, and then break through the problems by classification (Leetcode has its own body type classification).

Handwritten code

During the interview, the interviewer will probably ask you to write code by hand (in my experience, it’s about 50% of the time, depending on the company and the interviewer). According to my summary, handwritten code has the following characteristics:

  1. The difficulty is easier than the written test.
  2. Because it’s written by hand, it’s very different from typing code on a keyboard. It’s possible that you can type on a keyboard and fly, but you can’t write a line on paper.
  3. The form is flexible, and you can communicate with the interviewer when you have no ideas. Even if you don’t write them out, your ideas can be approved by the interviewer.

For this part, I have prepared a book, which is the famous Sword Finger Offer (must read!!). .

This book can be said to be a great contribution for me to get a satisfactory offer later, it can be said that this book made me no longer afraid of handwritten code in the interview. This book is written in C++, but it’s not a hindrance to reading, so you can translate it into Java to test your mastery. I read the book twice, first typing it on the computer and then writing it by hand. It is recommended to master this book completely.

Interview Question preparation

As for the background, I only learned a little Flask in order to do the project before, and I just learned it without studying its principle deeply, so I have almost zero experience in this aspect. In order to study all the JavaWeb topics by December, which I had planned, I made a list of books for myself after researching on the Internet.

  • Head First Servlets & JSP (Chinese version) read September
  • Proficient in Spring 4.x Read October and November
  • In-depth Understanding of the Java Virtual Machine (version 2) read in January
  • Illustrated TCP/IP: 5th edition read February
  • Computer Network read in March

After reading Head First Servlets & JSP and Mastering Spring 4.x, I realized that I lacked Java Web project experience, so I played a full hands-on project on MOOCs in December. After following this project I thought I had a solid foundation for JavaWeb, and then began to lay a solid foundation. I realized that due to the short time spent learning the backend, I had to rely on solid foundation to impress the interviewer. So in January I finished understanding the Java Virtual Machine. It’s a really good book that covers 99% of all the Java virtual machine questions you might ask in an interview.

In the next January and February, I plan to lay a solid foundation for myself. In these two months, I need to finish reading JDK source code, including HashMap, ConcurrentHashMap, ArrayList, LinkedList, HashSet, ReentrantLock, AQS, etc. As well as reading some of the important Spring source code, I made myself go through it many times to make sure I understood the design of these classic classes and implemented some of the JDK classes myself. In addition to the source code, there are some knowledge points need to keep in mind, such as SpringMVC principle, TCP/IP some classic problems, database principle, this part I think there is a bit of test components in the inside, because a lot of knowledge points need to back, I will introduce how to remember complex and trivial knowledge points.

Memory artifact – curtain

At the beginning, I also felt that there were so many complicated knowledge points. Even if I remembered them at that time, I would forget them in the interview. How can I remember so many knowledge points? I later found a solution on the Internet – using a curtain of hierarchical notes to record important points. Here’s how I used the curtain:

  1. By module

  1. Module subdivision

  1. Record knowledge points by level

  2. You can also generate mind maps with one click

Since the curtain has Android and iOS clients, it’s easy to carry around, so you can pull out your phone and carry it on your back at any time. If you’re waiting in line for an interview, you might get asked later.

resume

Creating a resume is one of the most important things you can do. How well prepared you are will be reflected on your resume. Here I summarize a few key points of resume making:

  1. If you’re not familiar with someone, don’t put it there.
  2. Include at least one of your GPA, projects, awards, and open source work on your resume.
  3. The programmer resume should not be too fancy, I use the super resume template, relatively simple.

Face the

Because I have no interview experience and have never had an interview before, I wanted to practice my skills in small companies in Chengdu before going to BAT companies to accumulate some interview experience. So from March, small companies in Chengdu began to invite me for interviews. A total of more than 30 companies, through the written interview about about 10 or so. There is no record of the interview questions, so I do not remember very much, but most of the questions are very basic, basically according to your resume to ask.

Cloud and sail combination (mounted)

This company was the first one I interviewed. It was very small and the interview experience was terrible. When I went there, THE HR asked me to sit first, and the interviewer took me to the conference room for interview:

  1. To introduce myself
  2. What projects did you do at school
  3. Talk about the four isolation levels for a database
  4. Let’s talk about HashMap
  5. What is JavaEE

And that’s it. I traveled half way across Chengdu to be here for an interview, and they asked me a few questions, and it took 10 minutes, and it was over before I could get nervous? Then he said the interview is here first, if there is notice to contact me……

Know chuangyu (Hang up)

I know that Chuangyu is the second company I interviewed in Chengdu, which is engaged in Web security. It seems to have been invested by Tencent, so the company’s address is in Tencent Building, Tianfu 3rd Street, Chengdu. This company is in sharp contrast with the previous company, the whole interview process lasted more than one and a half hours, because the interviewer is doing C++ not Java, so almost did not ask Java.

  1. Ask the project
  2. The effect of volatile
  3. How HashMap works
  4. Isolation level of the database
  5. What is magic, unrepeatable, dirty
  6. An algorithm problem, given an array, find the only number that does not repeat in pairs
  7. TCP/IP three handshake four wave
  8. Spring’s transaction isolation level
  9. .

The interviewer was very nice and we had a pleasant conversation. Unfortunately, I didn’t do well in the interview due to my lack of experience and preparation. The interviewer asked HR about the internship time and told me to go back and wait for the notice. The next day I received my first rejection letter……..

CVTE (already offered)

CVTE was the first big company I interviewed. After passing the written test, I was informed to go to a hotel in Chunxi Road for an interview the next day. The next day I went to the hotel lobby early to wait for the interview, only to find myself waiting in line as soon as I scanned the QR code. The service staff led me to a big conference room, where there were many interviewers, each with a number before it. I immediately saw the interviewer who was interviewing me. It was also the first time I saw the interviewer wearing a suit and tie.

  1. Question item again
  2. Java’s memory model
  3. Talk about Java’s garbage collection mechanism
  4. How does the new generation recycle
  5. The SpringMVC workflow
  6. What improvements do you think MyBatis has brought about
  7. Spring IOC concepts, creation, initialization, and underlying implementation
  8. .

There was also an algorithm problem, I can’t remember the details, but I didn’t finish it when I had time. I originally wanted to do it with O(n) complexity, but later I found that O(n) complexity was impossible, so I wasted a little time, so I told the interviewer my idea, and I told him a method of O(n^2). After the interview, the interviewer asked me to go back and wait for the notice in the evening. In the evening, I was informed to attend the final interview (HR interview).

HR surface or the hotel, I with a front surface (special pull is I later on the cattle from a CVTE question also came across on the Internet) and the front end brother, asked me have a girlfriend ah, what parents do, and if ali CVTE sent you offer you back which this kind of problem, which lasted for about 20 minutes. In the evening, I checked the status and found that the final offer had passed, which meant THAT I would receive the first offer in my life. I received an oral offer about a week later and a formal offer about two weeks later. After receiving the first offer, I was really relieved.

Alibaba Pictures (offered)

One side (half an hour)

I was very surprised to receive a phone call from Ali at the end of March, because it had been a month since I applied for ali’s resume, and I did not expect that Ali would pick out my resume among tens of thousands of resumes for an interview. I was very flattered to receive the phone call. I had to keep saying, “Excuse me, can you repeat that?” Most of the questions in the interview were similar to other interviews, but some of them were quite impressive:

  1. How would you design SpingMVC?
  2. There are several ways you can manage sessions, one in detail.

Second interview (45 minutes)

It was only a week later that I received the phone call from the second interview to have a video interview. Since it was Ali, I did not dare to neglect it, so I found a quiet hotel with good Internet speed and waited for ali’s video interview. The two aspects of ali is according to your resume on every point deep asked, but they are all pretty basic, not asked if I would not distributed and cluster problems (probably because I didn’t write) on the resume, most feel a pretty well, but there are a few problems such as the Spring Bean lifecycle the answer of question did not answer, Makes me vaguely worried.

Three sides (half an hour)

The next day I received a call from HR asking me to prepare for a third interview, which surprised me because I only wanted to experience the interview process of top Internet companies when I invested in Alibaba, and I didn’t expect to go this far. HR told the interviewer that he was the head of the department, which means this should be the last round of technical interviews. The boss of the department looked about 35 years old and looked nice. At first, he asked me why I wanted to learn computer science and how I should fill in my application form for the college entrance examination (I was a little strange to ask these questions at that time), and then it was like chatting about how I learned in college. Sure enough, I was still too young. The interviewer asked me why I switched to the background from Android. I said I liked the pure logic of the application layer rather than writing interface, and I didn’t like the use of XML to write interface in Android. He then asked me if I had studied the Android Framework layer for so many apps. I was speechless and said no (it was really my fault that I didn’t know the bottom layer of Android). He asked me if I liked the application layer and didn’t like the bottom layer, and I quickly said no, but I couldn’t find any evidence that I liked the bottom layer. So I have to say that I have read Spring and JDK source code… Then talk about the project, I have an Android project involving uploading photos function, just ask me if there are any compressed images, said I have to use a third-party library compression, the interviewer ask again, the compression algorithm of images ever know I remember at that time before class studied image processing is somehow said to understand a little, And then confused to the interviewer about an algorithm, the interviewer smiled and said to me that you this seems to be the algorithm of Mosaic ah, Mosaic algorithm and compression algorithm? I dare not speak. Then the interviewer changed the subject and I breathed a sigh of relief. The interviewer also told me how he studied in college, and then emphasized to me that the bottom is really important

HR surface (10 minutes)

It’s been a week since the HR called me in person. I was still in the interview if I didn’t notice my status. Based on my performance in all three interviews, I thought I had failed. The HR said that the salary of interns was lower than that of social recruitment. They asked me if I knew what I knew about Alibaba Pictures and if I was willing to come to Beijing. Finally, THE time of the internship is difficult. HR said that it would be better to start the internship immediately, which is beneficial to the employment, but I can’t leave the school because of a lot of classes. Finally, HR said to go back and ask their leader if they could do the internship in July. When I hung up the phone, I felt quite nervous. Now that I have come this far, I will not hang up because of the internship time.

After the last week, I still received the offer from Ali, but I was not very excited and a little confused (because I had already received the offer from netease Cloud Music at that time).

Netease (Cloud Music, offer already)

To tell the truth, I had heard that these companies were very difficult to enter, so I never thought I could enter their interview process after finishing the written test. However, Netease still passed the written test and sent me a text message asking me to go to netease Building in Hangzhou on April 14th for an interview, and reimburse me 600 yuan for travel expenses. I calculated the 600 yuan reimbursed. I have to pay more than 1000 yuan out of my own pocket to go to Hangzhou. I could not help feeling very confused, because Ali had already had three interviews and might get the offer. If he got the offer, there would be no need to meet netease again. However, I did not want to miss this precious opportunity, so I decided to go to Hangzhou, which is 1000KM away.

One side

One day in advance to Hangzhou stepped on a little, the next day smoothly arrived at netease building on time, after signing in on the side of waiting, after 20 minutes called me to one side. On the one hand, the interviewer looks young and in his mid-20s, and asks regular questions. I’m glad I asked the HashMap question. I’ve asked this question countless times in the interview, so I went through the source code of HashMap in detail, and also explained the ConcurrentHashMap. Then I asked some questions about database indexing and Spring.

Second interview

After the interview, the interviewer asked me to go to the front desk five minutes later to ask for the result and told me to prepare for the second interview. At this time, it was almost twelve o ‘clock. HR led us to the famous pig farm canteen for lunch

This is supposed to be the external canteen. The real staff food might be better.

Around 2:30 p.m., call for a second interview. In the second interview, the interviewer looked very young and felt as if he was about the same age as me. In the second interview, he asked some open questions and a few technical questions. During the interview, the interviewer kept telling me not to be nervous, just to chat. The interviewer communicated with me a lot about learning and asked me how I usually learn new technologies and debug them. After almost 40 minutes of pleasant conversation, I was asked to check the results in five minutes.

HR side

HR face is really very happy, especially coincidence is I just sat down HR little sister asked me whether I am from Yibin, I was surprised and quickly said yes, the result HR said she is also from Yibin (heard at this time MY heart sky cry god help me also!!) We talked about my school project experience and student union experience. After hearing my self-study experience, she said she was very inspirational (I personally did not think it was inspirational). Half an hour later, HR said that the final result would come out in seven days.

I received the offer about 6 days after I returned to Chengdu. Netease interview experience is the most pleasant, I may go back to netease in summer vacation.

Today’s Headlines (already hanging)

One side

Headlines interview today is the worst experience (no black), all is the use of cattle from video interview interview tools, somehow, video has been break, the interviewer is very impatiently say why don’t you find a good network conditions to give you find a time to interview, I think I spent more than hundred pieces come out to rent a hotel to interview, how can the interview again? So bitter “begged” to continue the interview, embarrassing is to ask a few operating system questions I did not how to answer, finally jilted to me an algorithm, at that time I have no heart interview feel iron hang, spent more than 10 minutes to finish, the interviewer see also did not see to say for a while HR call hastily offline……..

Second interview

After one interview, I thought I would definitely hang up, but the HR called to tell me THAT I had passed and asked me to prepare for the second interview immediately. My heart is really…….. On the second interview, the interviewer seemed to be in his thirties and kept asking me about the operating system and computer network that I had not reviewed at that time, but the answer was very poor. Then he gave me an algorithm problem, which took a few minutes to finish. Then the HR called me and said that my interview was over, and I hope to have the opportunity to cooperate with you in the future. I guess so.

Where to go (oral offer)

One side

The interview was arranged at a hotel in Chengdu. On the one hand, the interviewer looked very serious and asked the resume one by one for more than 40 minutes. Then he asked the handwriting to search for two points. After I wrote out two minutes, he asked me to write an LRU algorithm. The interviewer seemed satisfied and sent me for a second interview.

Second interview, HR interview

Second interview the interviewer is pit, always give me out of the system design problem, I answered Dui again after I said that my method is not good to think of a good, then I have been Dui bored, want to say don’t let me hang up I want to go, the most to my surprise the interviewer asked me a Redis related problem, after I answer he asked baidu online answer… It was a real eye-opener. As a result, I was asked to go to HR, who gave me an oral offer after explaining the location and salary.

Jingdong (already got offer)

One, two, HR

In a company as big as JINGdong, the interview is the most difficult. On the one hand, it is a telephone interview. Almost no technical questions were asked, only a virtual machine was asked, and then asked how to deal with conflicts in the team. The second interview was in the same hotel as CVTE before, and the second interview was more water. I felt that the interviewer had been divorced from the front-line programmer for a long time. He probably didn’t know the answer to the questions he asked me, and he also asked how to deal with conflicts in the team (Jingdong values this very much?). It will be done in about 20 minutes. HR asked about the scholarship and the team work of the project, and after only 5 minutes of questioning, the offer was sent.

conclusion

In general, I summarize my interview experience as follows:

  1. Try to arrive early for the interview, and the interviewer will be more likely to approve you if you can get in early (just like the Voice of China, they turn around like crazy at the beginning).
  2. Use your sense of humor during the interview and try to make it as pleasant as possible so that the interviewer will remember you better.
  3. Be sure to back up your strengths with evidence or it will fall on deaf ears
  4. Won’t the problem don’t strong answer, careful pit, can say: “sorry this problem I won’t, but if let me design I will…….”
  5. The interview is a two-way street, the interviewer is evaluating your performance, and since the interviewer also represents the company, his qualities and questions are also what you should evaluate, so don’t be nervous.
  6. Use a curtain and go over what you’ve learned before each interview. I wrote tens of thousands of words of notes on the curtain, and I took them out and read them in every interview, so I could basically answer the basic questions in the interview.

At present, I have received offers of Java background R&D internship from Alibaba Pictures, netease Cloud Music, JINGdong Chengdu Research Institute, Qunar and CVTE.

This result was beyond my expectation two months ago (I originally thought it would be good if I could go to second-tier Internet). I also know that there is a bit of luck in getting so many offers. I will continue to work hard in the future, so that I won’t have to make autumn recruitment any more (job hunting is really painful).

I would like to express my sincere gratitude to the countless bloggers who have helped me in the past three years in college. From your excellent posts, I know what “excellence” really means. I hope this article can help you a little bit, I wish you all have a satisfactory offer in the end!!