“Live up to the time, the creation of non-stop, this article is participating in 2021 year-end summary essay competition”

Talked about love at the beginning of the year, two people together of the happy time, and then she received the Shanghai big interview, well go all the way to the offer and eventually leave, I agreed with her together in Shanghai, she’ll go for a period of time, I’ll prepare for the interview, but unexpectedly than expected to fast, long distance for a period of time she was put forward to break up.

Of course, this is not the focus of this article, I want to talk about my three years of experience in Java development from the second line to the first line of a job search process.

To prepare

Want to go to Dachang that necessarily need very much knowledge reserve, as well as the number of basic algorithm questions.

Java

I’ve broken the Java content into several pieces:

  1. Java basics, such asHashMap,J.U.CCommon concurrent classes under the package are the most basicAQS
  2. Java low-level, such asJVMGarbage collection mechanism
  3. Common Java frameworks, such as the Spring family bucket

The first piece of basic knowledge is actually a lot of blogs have done some summary, see a few blogs to synthesize some of their content to the source code can be understood from different angles. It is not enough to just know the source code to write this, but also need to know why to write this, such as HashMap why does JDK7 have the problem of the loop list, why does JDK8 need to change the header method, why does JDK8 need to change the tail? All of these can be considered to form their own understanding of the blog content. And similar classes, such as the most common LinkedList versus ArrayList.

Like concurrency, in fact, many ideas are not complex, but the code is very complex, because to consider concurrency conditions and performance, so it is not so good to understand the source level, so we need to peel out the main content, such as AQS class, we can look from the lock point of view

  1. Grab the lock and move on
  2. Failed to grab the lock, blocking waiting
  3. Release the lock and wake up a waiting thread

What attributes do we need if we design ourselves?

  1. A mutex is required to indicate whether a lock has been grabbed, such as 0

  2. Queued queues, which represent blocked queued threads, can be considered as linked lists

  3. Thread-owner, which records who holds the lock so that it can be released without error

  4. If fair is supported or not, then a parameter is required to identify the current lock type

So at this time we go to see the source code, is not the idea will be clear some, at the same time AQS as an abstract class, so we also need to know what it abstracts the function, what function to leave to subclasses to achieve and so on, know why.

For the second PIECE of JVM, I mainly watch Zhou Zhiming’s “In-depth understanding of Java Virtual Machine” and “Decrypting the underlying principles of JVM Virtual Machine” video (B station has this video). I have read some books in this year, but in fact I don’t understand a lot of them. However, after repeatedly reading some answers about virtual machines and garbage collectors by R University in Zhihu, I gradually get some understanding. The gg1 garbage collector is one of the most popular garbage collectors, so it is important to understand why gg1 garbage collector is created and how it is different from CMS.

The third common framework, which I don’t ask much about myself, is Spring. The Spring Boot startup process, Spring Bean lifecycle, and AOP principles are all old school.

The middleware

Middleware depends on what you’ve used. I used to work with MySQL, Zookeeper and Redis.

Quick MySQL words strongly recommend “MySQL Practice 45 talk” (geek time) is very easy to use, read the basic enough.

Redis words I see code elder brother byte summary, barely can also, can also read some other bloggers about Redis content, do not stick to one word.

ZK’s words can be seen in “2021 latest Zookeeper 3.5.7 comprehensive upgrade a set of fixed” (B station has a video) suggested to directly read his document, a lot of knowledge is written in the document.

MQ is actually prepared for some, but because it is not used so basically no one asked this, mainly prepare some high-frequency questions, such as how to guarantee not to lose messages, ensure idempotent, these online actually have corresponding answers can be memorized.

algorithm

If you have time, I strongly suggest that you finish all the questions of “Finger Offer”, because the interview frequency is very high, and most of the questions you encounter are from it. I don’t have much time to make it fast, please use codetop.cc/home.

In addition to the sorting algorithm to master, there are also encountered ask sorting, common fast row, heap row, merge sort to recite.

trial

In the completion of the basic knowledge of learning, the face of the network is a very good test, to see if you can answer, if you can answer more than 80 percent is about the same.

The interview

Technical surface is generally three round technology +1 round HR surface. The first round generally asks the Java foundation and the middleware foundation, the second round some also ask the foundation, but most are some more flexible questions, may be inclined to think, not that kind of octuan recitation level, for example, to a scene question ask you the reason, just like the simplest singleton mode, why to double check lock? What happens if you don’t double check? Student: Is it just maybe one more instance, what’s going to happen? So you have to think about the meaning of the singleton pattern, and since it’s a singleton, you have more than one, which is not consistent with the design meaning of the singleton pattern. The second round is to go all the way down and ask, see if you’ve brought it into your own thinking. In the third round, the leader generally has some partial skills, and also asks some scene questions. Some may just ask the project to see your design ability and whether you have your own thinking in the project. HR will be relatively simple, basically ask some questions such as why to quit, why to change the city, what are the expectations of the post, and their performance in the original company, the general questions are not too big.

In almost two months, I have made 30 interviews with 10 companies and received offers from several large factories. I am very anxious waiting for the interview results and the next interview. I really want to fast-forward to the offer. Generally speaking, after a while to the result is more satisfied with your interview, if it is the second day or a few days after the notice is mostly in the candidate PK. Met his own experiences in every interview, the interviewer is good, not everyone on the Internet all sorts of fun what don’t respect the candidates, the interview will soon end, but it is myself feeling at the beginning of the interview performance is not so good, even writing code on the whiteboard are a little less skilled, skilled face much more slowly.

So the suggestion for everyone is to find other practice hands before you vote for your favorite factory, feel the atmosphere and find that feeling, and then really face your favorite company will be more calm.

Talk about salary

Because it is from the second tier to the first tier, some offers failed in the salary negotiation. They thought that the increase I wanted was too large and could not be approved internally. Several interviewers made a good impression on me, but UNFORTUNATELY I didn’t have the opportunity to work with them. So the second line think of a line about salary pressure is still very big, it is suggested that a few arguments will be better.

The results of

Joined PDD. There was a lot of abuse in my veins, but I came anyway, whether it was true or not, I had to experience it myself.

Hope for oneself

  1. Trying to make money
  2. Get out more
  3. How to read
  4. Practice your handwriting when you have time

conclusion

I hope everyone can find a good job, find a good partner, in the New Year!

My 13 Pro Max has arrived and I have to unpack it. I will stop here first. Later, I will sort out some of my interview experience and review materials