1
头图

This is a contribution from a reader from the algorithm to the Java backend! The article mainly shares the author's experience from being confused and collapsing to finally gaining offers from major companies such as Tencent, JD.com, and Baidu. The content of the article is very comprehensive and true, I believe it can be helpful to the friends who are preparing for the interview!


Seeing that the 2022 autumn recruitment information was gradually released on the official account, I realized that another year's autumn recruitment drama was about to begin, and I couldn't help but think of myself at this meeting last year. I just want to write this article to record the past autumn recruitment road, and hope to help everyone who read this article.

Recommended 👍: Github Star 100k Java Interview Guide

Personal profile

Without too much introduction, and without too much advice, you can make everyone scream in three seconds... well... okay, no more trouble. begin!

I am a graduate student graduating in 2021. I studied in a dual non-university undergraduate, majoring in software engineering, and I learned some Java development during my undergraduate study. Because of the average academic qualifications and the illusion of scientific research, I chose to take the postgraduate entrance examination, and finally got admitted to a midstream 985 school.

During graduate school, I mainly worked on natural language processing. but! Because our group started to do natural language processing when I was just entering graduate school, and even at that time, the entire laboratory only had one graphics card, so I basically didn't do anything. During the summer vacation of the first year of study, I entered the door with the help of my seniors and started a research project and an engineering algorithm project.

Confusion period

It was the end of February 2020, which is the next semester of the second year of study. Because of the epidemic situation, I was trapped at home. The idea at that time was still to do algorithms. So I prepared the algorithm project and prepared the basic knowledge, so I started to invest in the internship test. water. But because there were no harder papers, and no harder projects, I invested in several big factories and ignored me.

Although Meituan gave me an interview opportunity, I was hanged by the interviewer. In the end, only two "medium plants" that were still good were passed. However, because the instructor is strictly prohibited from going out for an internship, the internship is not successful.

At that time, I was very confused. I asked some algorithm bosses on the Internet every day, and I was anxious! 😥

I thought at the time: I am preparing for June on my own terms, and it is almost impossible to interview the algorithm post of a major factory ashore in the autumn recruitment.

Algorithm to Java backend

I have been struggling with one thing throughout March, whether to continue to harden the algorithm or switch to the Java backend. Algorithms do have a higher salary, but I actually prefer to do some engineering applications in my heart (because even if I do algorithms, I also like to do engineering applications).

Moreover, at that time, it was already difficult for one's own conditions to enter the algorithm of a large factory, and I would definitely not be able to go to a good algorithm team, and I might be able to go to a better team for development.

However, because Java was mainly learned in undergraduate years, I haven't done it for a long time, and many of them have forgotten, and even the Java syntax is very rusty. And, like JVM , Redis , RabbitMQ related, I didn't learn it at that time, I have been thinking about whether I can really learn these things in a few months. Fortunately, at noon one day in early April, lying in bed and to sleep, an important decision was made: 160a4f6c71bf76 to Java backend .

Recommend 👍: 2021 latest Java actual combat project! It's so suffocating!

After consulting a few seniors and a few friends, I made a study plan. The plan at the time was like this.

  1. First review the basic grammar of Java and some usage of collections, first to be able to write code in Java more proficiently. Because I have been brushing LeetCode since February, I have brushed more than 30 in Python at that time, and I wrote these inscriptions again in Java. By the end of September, I brushed a total of about 130 in the autumn move. Brushed twice.
  2. I took out the e-commerce system I made in Java in my undergraduate study and changed it to a spike system. This was my first project. Another project is to watch the online course imitate the Spring source code to make a simplified version of the Spring framework (only implements a few basic functions).
  3. Begin to learn the principles of JVM, MySQL, Redis, and some implementation methods of Java collections.
  4. This was the preparation made from April to June at that time. By June, the project was not very clear. In fact, some parts were written by looking at the online code, but they were only usable. I couldn't tell how to do it, and I didn't remember the basic knowledge of the interview. But because the time was almost there, I started to send resumes abroad.

Recommendation👍: high-quality computer books + recommendation of learning routes!

Collapse period

The period from the end of June to mid-to-late August in 2020 can be said to be the most difficult period. In mid-to-late June, I began to submit resumes to some companies. Most of the resumes were cast to nothing, or there was no news after the written test.

Finally, I received a written test and interview opportunity from China Merchants Bank.com in early July. The interview with China Merchants Bank was easy to ask, but because of the poor preparation at the time, I was ruthlessly put into the talent pool of China Merchants Bank.

I was uncomfortable. I was defeated in the first interview, which caught me a bit off guard!

For nearly 10 days, I did not receive any call from the company hr. Then, in the following month, Baidu was listed on one side, one-point consultation on three sides, fast hand on one side, byte on two sides, and NetEase failed to pass the written test... and various companies failed to trust or pass the written test after submitting their resumes. During this period of time, there may be two written examinations and three interviews in a day. In the evening, I don’t want to talk too much when I’m tired. But oncoming is a letter of thanks for entering the talent pool.

Keep the cloud open and see the moonlight

Fortunately, I did not give up studying during that time. I started to sort out my projects under the guidance of seniors.

In the spike project, I made some optimizations of my own from the MySQL part and the Redis part (the architecture designed by myself is considered to have some innovations). In addition, the simplified version of the Spring framework has been sorted out, and the design methods and intentions of several basic functions of Spring have been deeply understood.

These two projects really played a big role in the later stage of the interview. And did some understanding of some of the underlying design of MySQL, such as how MySQL implements rollback. And I started to read some good questions on the Internet, such as 160a4f6c71c0e7 JavaGuide ~ (I really read it, not advertising). And in every interview, I remember these knowledge points firmly.

In late August, I felt that my strength should have been greatly improved, so I changed a department and re-interviewed Baidu. On the one hand, the interviewer was a more serious person. I just introduced a few words about the project, that interviewer. Interrupted me directly and said, wait a minute, let's come bit by bit, so he sorted out the spike item bit by bit. After he asked a lot of questions seriously, he suddenly said with satisfaction, I think you did a good job. At that moment, I felt that my two lines of Ren and Du were all connected, and I felt that I was not afraid of any interviewer asking again. This project was completed. In the following half an hour, he asked me some basic knowledge and talked about some career plans, and ended the interview with satisfaction (but afterwards, the department seemed to recruit enough people, and the interviewer was also very satisfied on the second side. , But still failed the interview, but I didn’t know it at the time).

After Baidu was over, I received an appointment call from Du Xiaoman, and asked for an interview the next day. Du Xiaoman's interview experience is a turning point for my entire interview. The importance and plot are as ups and downs as Li Yunlong's fight in Pingan County. The interviewer on the other side was a few minutes late for the meeting. He sat down and apologized to me. I also expressed my understanding and said that you have worked hard. Then the interviewer started the interview, but during the interview process, the interviewer didn't know why he was very angry and interrupted me from time to time, asking some tricky questions in a bad tone.

After putting up with him a few times, I was not used to his problem, so I also started to answer his questions in a bad tone, and for some questions that I thought were not good, I directly asked: "Do you think you asked me Do these questions make any sense?".

In the interview for nearly an hour, I felt that we were about to quarrel. When I was about to close the video at the end of the interview, the interviewer suddenly said, you wait for the next interviewer. My expression at the time may be a bit indescribable...

After waiting for a few minutes, the interviewer from the second side came. As soon as he sat down, he said: "The interviewer on the first side gave you a good comment, let's get started!".

The interview with the second interviewer ended in a good atmosphere. The questions the interviewer asked me were basically what I was good at. The interviewer asked me how I learned so well during the interview. So immediately there was an appointment with three managers, but because there was something in the evening, the appointment came to the next day. I finally got to the supervisor, so I had to behave well. After the interview, I was very polite, but the supervisor didn’t know what was going on. Maybe it was a bad mood? I always frustrated me during the interview. After I had to endure a few more times than the interviewer, I started to frustrate again. During the one-hour interview, I felt almost quarrelsome several times... Ask at the end of the interview. Do I have any questions? I said in a bad tone that I had no problem, and I was about to turn off the computer. At this time, the magical scene came again, and the supervisor suddenly said to me: "I think your learning ability is pretty good. We plan to give you an offer, but After you receive the offer, you must make sure to do a stable period of time with us before you accept the offer".

? ? ? Ok? What's the matter with you... The next story is amazing. At around 9pm on the day the supervisor finished the interview, my phone vibrated and I received the first letter of intent in my life. I almost cried with excitement. Came out.

Recommend 👍: computer high-quality books collection + study route recommendation!

reward

The later story is very beautiful. In September, all the resumes submitted before received reply letters, and successively passed three rounds of technical interviews by JD.com, three rounds of technical interviews by Tencent, three rounds of interviews by Huawei, and three rounds of interviews by Meituan. I remember that on the last day of September, the morning was the last round of hr meeting for Meituan. In our instructor’s meeting room, we set up the computer, had a pleasant chat with hr, and ended the last interview. That day was also my girlfriend’s birthday. After the face, I had to go to town to celebrate my girlfriend’s birthday. While leaving school, I recalled the journey over the past few months. I felt that all my efforts were not in vain. This experience is also a precious memory in my life.

to sum up

Next are some personal opinions for your reference.

  1. I think there is no good or bad in the two directions of algorithm and development. You should choose according to your own interests, and finally try to find a team that is better in this direction.
  2. It will be very difficult in the early stage of the interview, but don't give up studying. You will feel smooth when you wait until September, October, or even November. (And personally feel that after the interview until October, because the companies still recruiting are not recruiting enough people, the interview requirements will be reduced to a certain extent).
  3. Pay attention to sorting out your projects, and the logic is clear when explaining your projects, which is a bonus.
  4. Although it is not necessary to be an offer harvester, don't end the autumn recruitment after getting an offer, so that you will be passive when discussing salary later.

I am Guide brother, embrace open source and like cooking. Github is close to 10w the author JavaGuide 160a4f6c71c2bb. In the next few years, I hope to continue to improve JavaGuide, and strive to help more friends who learn Java! mutual encouragement! Hoo! Click to view my 2020 work report!

Originality is not easy, welcome to like and share. Let's meet again next time!


JavaGuide
9k 声望1.9k 粉丝

你好,我是 Guide,开源项目 JavaGuide 作者。