Illustration: pixabay

Over a year and a half. The main technology stack is Golang, I don’t know what stage of my technical level is, and I have no experience in the interview on the server side before, so I happen to have a friend tell me to try it. Four companies were selected: a, a, a C round small factory, a D round small factory.

Article one:

A:

  • The project I am responsible for, why I did it, what are the trade-offs in technology selection
  • Golang fundamentals, Map principles, and scheduling principles
  • HTTPS communication principle, MQ
  • Mysql index, transaction, magic read, MVCC
  • Write two easy algorithm problems by hand

First server interview, kind of a routine. I think I did well, but it’s still a round. Ask a friend for interview evaluation:

  • Golang has a good foundation
  • The mysql section needs to be strengthened

Hand (Java post) :

A:

  • Longest return substring of handwriting algorithm
  • Project in charge
  • Design a web client
  • Didn’t the

This is a little awkward hanging. The answer was not good. I didn’t get the point of the interviewer’s question.

A round C:

A:

  • Project in charge
  • Golang basic, Map principle, scheduling principle, Echo framework some details
  • Redis persistent, distributed locks
  • Mysql index, redo log/binlog, mysql transaction consistency
  • Write an easy algorithm problem by hand

2:

  • Project in charge
  • System design “What is the popularity ranking of short video App and liking function”
    • Mysql persistence
    • redis sorted set
    • Two memory modules are allocated for proper redundancy

Three sides:

  • Project in charge
  • Difficulties encountered
  • Why not use Redis for MQ? Investigation site: Redis architecture

After a failure, mysql was patched. Database this answer still ok (study liberal arts back say again). The second interview under the guidance of the interviewer basically answer to the point that the interviewer inspects. The first and second interviews were pleasant. The project I was in charge of was rubbished by three interviewers and was not technically difficult. It’s generally good. The next day call HR face.

A round D:

A:

  • Golang basis
  • Mysql index, gap lock
  • Redis Persistence and application scenarios
  • How to solve a large number of time wait online?

2:

  • HTTPS Communication Principles
  • Redis String underlying implementation
  • Why go fast? Go garbage collection, GO escape analysis,
  • What about mq repeat consumption? How do I make sure I don’t lose messages as much as possible?
  • An easy algorithm problem and its variants, analysis of complexity.

Three sides:

  • Project in charge
  • Front-end projects, what architecture optimization has been done…
  • The front-end knowledge

It seems that the interviewer is not very professional. The second interview with the interviewer is good, there will be a sense of discussion together. The interviewer said he had seen both sides of the service side and only talked about the front side. Let me bring up a project from two years ago. I’ve forgotten most of it. I will meet hr that evening.

Conclusion:

  • I got offers from the last two. One of them is up more than 30%. On final consideration, both declined.
  • You shouldn’t try something on your first interview. At that time is thinking of a few small company face to try again. Don’t be in time for
  • The foundation is not solid enough. The system architecture design ability is weak
  • The complete technical system is not mature enough

An aside:

Today,, I saw the company’s 11 level executives lectured [engineering sequence rank interpretation]. P7/ P8 Technical engineer rank standard, including professional ability, business ability, soft quality, responsible direction planning and thinking, etc. Looking at myself, I still have a lot to learn and improve.

New mileage, new start.