background

Five years in the old company, seven years in total, two companies. Leave on 2021-5-30. The company is small in scale, so there is not much pressure on the project, because it is not a 985/211 graduate, a unified admission undergraduate, majoring in computer science. Target: medium and large companies, preferably large factories, ha ha ha, but not hope, after all, the background is not very good. Next I will write a diary to record my interview experience, I hope to bring help to you!

To prepare

I write my resume, watch videos, read blogs, and read interview questions from 7-12 PM after work every day. Learning content: Java learning video + real interview questions. Prepare content: Java basics, thread pools, locks, MySQL indexes, transactions, Spring, collections, etc.

2021-5.30 –

Mentioned the resignation has been more than 20 days, today the boss signed the word, do the resignation procedures, “XXX direct hire” upload resume, refresh resume. Some East supply chain department called to ask whether my education background is unified admission undergraduate, and invited me to interview tomorrow afternoon. But he is also a big factory, no interview experience how to do, the heart is very uneasy, it doesn’t matter, start refueling! Yi, there is a message, I looked at my classmate to send me the screenshots, it turned out that he brush my resume, he said to help me push inside, the heart is still quite excited. Internal Promotion Company: Taxi

The 2021-6-01

I got up at 5:30 in the morning and began to watch videos, brush materials and prepare for the interview. I didn’t eat until 12:00. The company is too far away. In Yizhuang, it takes two hours to get there. When you get out of the subway, you can see their building. Went to the department and gave me an interview question.

  • What are the similarities and differences between HashMap, HashTable, and ConcurrentHashMap?
  • Spring init-method destroy-method
  • How many ways to achieve idempotent?
  • How many distributed locks can be implemented?
  • There’s a List collection, a multithreading summation, that tells you what you’re thinking about and what framework you’re using.
  • An open problem, counting triangles

Finished the topic, the feeling is still OK, came to an interviewer, about 30 or so.

  • To introduce myself
  • Introduce the project
  • JVM memory model
  • MySQL transaction isolation
  • MySQL > select * from ‘MySQL’;
  • What should I pay attention to when hitting indexes?
  • List to heavy, handwritten code, review the basis

Second interview: department head

  • Have a quick chat, introduce the team business, any questions? Wait for notice. (The promised “Taxi” inside push, why didn’t call me ah, forget it, may not pass the resume, but now it is also lucky not to go)

Summary: MySQL transaction isolation low-level implementation details need to be added, JVM details are more to see.

Received an interview invitation from xyz Rent Company. We will meet next Monday afternoon, just as we are preparing for Saturday and Sunday.

The 2021-6-04

I took the subway to the company building. Hi, I’m here for an interview. Received an interview question, came to the third floor lounge, a large number of people like food market. I wipe, competition pressure is so big, saw an interview question, a lot of not, forget it, don’t do, walk. Here we go. Let’s try it. Let’s do it.

  • String new String equals
  • Two lists intersect. Find the point of intersection
  • Three threads print ABC sequentially
  • If aab and ABA are equal, give the two strings and determine if they are equal
  • Draw an architecture diagram of RPC

One side: a soft-spoken TECH officer.

  • To introduce myself
  • String, new String, what’s this? The reason?
  • Talk about the program
  • Write a singleton
  • JVM memory model, can the JAVA stack allocate objects?
  • Talk about the class loading process. Have you seen the source code for the parent delegate model? To introduce
  • Under what circumstances does the stack overflow?
  • What about stack frames?
  • MySQL > select * from MySQL; A painting?
  • From a business perspective, how to design MySQL database? What are the optimization points?
  • Do you know about recycling? Introduce me?
  • What is the principle of AOP? Can Cglib proxy final methods?

The interviewer said to me, “I think it’s OK. Please wait a moment. Our leaders have a meeting, and LET HR inform you that we can meet again another day. : Ok, go home.

Classmate’S wechat: Did our HR call you? B: No, I’ll have him ask you out. HR: Hello, in order to save time, I would like to arrange a phone interview with you. HR: Hello, coming directly to the company for an interview on Friday…

The 2021-6-05

Got 9 points on my driver’s license for my cousin’s friend… In the afternoon, I went to a company for an interview. The result was that the interviewer did not receive a phone call, and the security guard did not let me ask.

The 2021-6-06

“So-and-so rent a house” second interview. The interviewer was very young, two years older than me, she was already a research and development manager, look at me. Well…

  • Why not use RPC framework for the project?
  • Know anything about RPC? Draw a flow chart?
  • What is the difference between RPC and HTTP?
  • Are long connections physically real?
  • Introduce the project?
  • What if THE MQ message is lost? Is messaging atomic?

Three sides: R&d director

  • What about locks? What are the?
  • Thread blocking from an operating system perspective?
  • I don’t remember much else

Siyun: Technical director

  • The flow of the HTTPS
  • What do you think you lack?
  • How do you learn?
  • That’s bullshit. All right, sign it. I’m hired

HR talks about the offer and goes home.

The 2021-6-07

2 p.m., looking for the building for a long time. It’s multiple floors. Shit, I’ve never seen this before. Go upstairs and wait a minute. There are no interview questions. A:

  • How did your project break down? Why do you do that?
  • How to ensure high availability of services?
  • What if MySQL hangs? (Hang hang, very ashamed, the company did not achieve database high availability…)
  • The project experience is a little bad, so I won’t ask you about the Internet project
  • Talk about the WebSocket protocol
  • Talk about the HTTPS protocol

2:

  • Does SpringBoot understand? The difference with Spring?
  • If you want to do custom development, how do you do it?
  • @ Conditional said
  • Transaction propagation mechanism?
  • What about MySQL indexes?
  • How does reentrant lock work? (State, AQS)
  • Split services, service governance understand?

HR: Briefly, why didn’t you leave for five years? You’re a rare breed. We have another round of department head interviews, so you should go back. Phone calls. I’ll be notified this evening. Phone interview on Friday at 6:00.

The 2021-6-08

It’s time to face the final BOSS. But luckily, I didn’t have to take the subway. I watched a few videos this morning and prepared for it. At 12 o ‘clock, I took a shower and cleaned up. Riding off, feeling very uneasy. Riding to the place, the company LOGO came into view, two buildings. Call HR, receive, go upstairs, wait for a while, a young interviewer comes over.

  • Design a seckill system and tell us what you think. (Oops!!)
  • How to design current limiting?
  • What about inventory reduction? How about Decrby?
  • What if inventory deduction fails?
  • Draw the project structure?
  • A =1,b=1,c>1; A =1,b>1,c=1
  • JVM heap? What are the scenarios in which Full GC is triggered?
  • What about the G1 garbage collector? How to divide the old generation and the young generation?
  • What if the Redis lock fails?
  • Redis deduction inventory problem how to do?
  • Design a money transfer system? A->B $100, any ideas?
  • What persistence methods does Redis have?
  • Will Redis data be stored on disk?
  • Why is Redis so fast?
  • What are the commands used to collect statistics on top10 IP access logs in Linux? (don’t)
  • What commands does Linux itself use?
  • How do I view Dump logs? How did it come about? What are the commands?
  • A thread pool, 10 cores, 100 maximum threads, 100 queues, 10000 requests. Describe how a thread pool works. What if you refuse?
  • So let’s look at the basics, what’s the difference between String new String? (= = equals)

Second interview :(and one side asked several repeated questions, so I said it again)

  • What do you think are the difficulties of the project? (Activity registration is oversubscribed, associated with the second kill)
  • How to deal with the second kill scenario?
  • Can Redis Decrby be used for inventory deduction? How to do? (Lua can be used to ensure atomicity)
  • Lua is too heavy. Is there another plan?
  • How does inventory recover?
  • It is not enough to prevent oversold. What about unpaid orders?
  • How to prevent user name and password from being stolen? (JS encryption, no, can still crack, oh, HTTPS…)
  • What’s the HTTPS process?
  • What asymmetric encryption algorithms have you learned? What about symmetric encryption?
  • C =1,b=1,a=1 can hit the index? C >1,b=1,c=1 can hit index? Why is that?
  • How does the comment business differentiate modules? (bizId)
  • What if a business hits the database? (Separate libraries, split services, separate deployment, what else? MQ)
  • Do you know anything about current limiting? The drop? Forget it. You haven’t had any contact. Don’t ask. (ORZ)
  • What are the commands used to collect statistics on top10 IP access logs in Linux? (don’t)
  • Describe your understanding of the structure of a HashMap. What if the keys are the same? What about red black trees?
  • What Linux commands have you used? (mkdir, ll, etc… Linux is really my weak point, and I’m going to have to fix it.
  • 1, 2, 2, 3, 3, 4, 4, 5, how do you determine the index of 3? (Counting statistics, O(N) O(N), is there a better way? Cycle. (Right answer dichotomy, I mentioned it, but it was the wrong way, and I got a ton of criticism.)
  • How does GIT team development work? What if a feature doesn’t need to be online?
  • What is the problem with Maven if package conflicts are not resolved? How to resolve packet conflicts?
  • Design a thread pool for Dubbo? Each request 50ms 200 QPS, the client timeout 500ms, how to design? How about just putting in 200 requests? How big is the queue? How big is the thread pool? (Bad answer)
  • Integer a1=10000 Integer a2=10000 How do I get the same? (equals, == compares reference addresses, inspects the Integer cache)
  • Integer a1=100 Integer a2=100? Can the parameters be set? How do I set it?

Department boss interview:

  • Are you student x? (roommate)
  • What’s your plan for the future?
  • Technology growth? What are the business options?
  • Don’t just look at the technology. Know the business
  • If DB wants to hang, which way to solve? Said something I thought was the solution, but clearly not. After all, I haven’t touched it, so I can only understand it myself)
  • How to calculate QPS? Are you familiar with the framework on the market? How does it work? How does it work?
  • They’ve asked all the questions they need to ask. Let’s talk about the non-technical ones
  • Hold on, I’ll have HR call you.

HR:

  • Why did you leave?
  • How come you left your job in five years?
  • Expected salary?
  • Wait till Monday.

I had a brief chat with my classmates. My classmate said my answer was ok, but with less experience. Alas, small companies do suffer from a small volume of business. Take your time! I said, I am enough for this interview!! Otherwise MY resume would never pass muster.

conclusion

Do do a lot of preparation before the interview, but actual experience is a plus. No wonder it is easier to jump from a big company. Small companies should not be discouraged, some companies do not look at the project, to see your understanding of high concurrency projects, even if they have not done their own, have their own solutions can also. Foundation must be solid, do not only back theory, in-depth understanding, understanding of the deeper the better, although the interview rocket, work screw, you have the ability to build a rocket is afraid of screw bad?

After a week of interviews with four companies, the final result was acceptable to me. JVM and MySQL must be mastered, and other basic knowledge should be firm and used in actual combat. Otherwise, no matter how much you learn, it is also a theory. Linux operating system should be made up for, because of less experience in high concurrency scenarios, this can only be learned in large business companies.

In addition, marketing materials, whether paid or unpaid, can be helpful, but it’s better if you have a good project to match, otherwise the interviewer won’t be able to ask.

Don’t ask me why I didn’t quit for five years. I don’t know. Is it a good thing or a bad thing?

On the whole, I feel that I have barely passed the exam, but it is still not good enough. I should have been able to answer better, which reminds me of a sentence, you could have done better. So, tell yourself to stop wasting time, learn more, learn more. Fortunately, thank you again for your introversion. Thank you.

Updated on 11 June 2021

I have received the offer. Very happy. Continue to refuel, like a big bull!Copy the code