In the golden Three Silver four recruitment Festival, briefly talk about the interview process. I also made a plan about the interview topic, which knowledge points should be written to better help the students to review.

First of all, let’s follow the main process of the interview:

The main process of the interview:

  1. To introduce myself
  2. Project introduction
  3. technology
  4. For questions

The two most important links are project introduction and technology. Then look at

Project introduction

Project introduction: How do you understand and express your business

When introducing the project, examine your understanding of the business, the context in which the requirements are generated, what the requirements are, what problems they are intended to solve, and how they are implemented. We treat a requirement as a point, a project as a line, and a system as a surface. The requirement that we are doing on a daily basis is a function point, such as business CRUD; Function points can be combined to form a business line, such as the order module of Meituan Takeout. Business lines together can form a surface, such as Meituan takeout. Generally speaking, the daily task of P5 students is to develop function points, while the task of P6 is to be responsible for a business line, such as how to assign business lines to P5 students for development. P7, on the other hand, is the architecture, responsible for the architecture of the whole system.

If we want to climb the ladder, we can’t just know the points every day. We need to know the real appeal behind each need, the real problem to be solved. We need to step outside and think about what we’re doing with this feature, and what are the solutions to this problem. For example, the product now requires an additional search criterion to be added to the search bar of the customer service system. The most intuitive idea is to improve the efficiency of customer service staff. On the next level, a customer service can handle 100 orders a day, but now after adding the query conditions, the customer service can handle 200 orders a day. Instead of handling 1,000 orders a day and requiring 10 customer service staff, the company now needs only five. In general, it is to save labor costs for the company.

Sometimes the product manager presents A requirement P and wants to solve problem A. For example, the requirement is to do a survey function. If the technical personnel do not make clear what the investigation, do not ask whether the investigation function can only once, directly open dry, Kuang Kuang kuang, overtime stay up a dry, do a questionnaire survey network stand out. However, the product tells you at the end of the day that this survey site is mainly used to investigate where old men and women in Beijing went to buy food during the epidemic. And only once. At this point, I don’t know what you’re feeling. If the technical personnel ask clearly the real appeal of demand P, they will not be so stupid and make an investigation network to stand out. Always understand that technology is just one way to do business. There are many ways to implement a business. Besides, uncles and aunts may not always get online… In order to investigate the situation of Beijing’s old men and women buying vegetables, it is good to ask them to fill out a questionnaire and send a small gift at the gate of the community.

You see, it’s important to figure out what your needs really are. Don’t take a hammer in hand, see everything is nails, and don’t sharpen knives, looking for pigs around the world.

technology

Technical links: technical breadth and depth

Well, that’s all there is to it. No more than from the breadth and depth of technology to investigate. In the project, the following technologies are almost used:

  1. Distributed, that would use RPC
  2. Development language, Java
  3. Framework, spring
  4. Storage, Mysql
  5. Cache, redis
  6. Message framework, MQ
  7. The algorithm, you can just brush it yourself.

For the above technical stack, kohlrabi will outline the following interview topics (appendix at last)

In terms of breadth, you should at least have used and know how to use each of these stacks. In depth, you at least have to read the source code deep enough to know the implementation principle of technology.

As for what computer network, computer composition principle, computer operating system these knowledge, will take the examination, but ask not much, also not very deep, at least in P6 level, will not ask very deep. The computer network is asked to ask TCP three handshake, four wave, something nothing to ask Http status code. That’s not the point of review. Or, these books, now read, may not be able to understand, understand, failed to use in the actual production environment, and then forget…

The knowledge point above, compare theory relatively actually, because can look on the net data can understand understand. But there are some things that you have to do before you can answer them in an interview. For example, CPU100%, memory overflow, disk overflow, I/O block. These things, if you don’t actually fight, you can’t start.

conclusion

In general, about how to improve the awareness of the project, I have been looking at some materials of product managers recently. If you need them, please ask me. Then about the breadth and depth of technology, kohlrabi will update the article successively (adjust at any time), to meet your review, but this is only suitable for review before the interview, not suitable for systematic learning, after all, this is an article, relatively fragmented. To study systematically, it is better to read a book. Finally, I wish you all can get a big Offer in Jinsan Yinsi, I also hope I can not lazy, can keep the day more.

The appendix

  • MySQL

    1. The index
    2. tuning
    3. Overall database structure
    4. Primary/secondary replication and read/write separation
  • Java

    1. Collections and containers
    2. The lock
    3. JVM
      • Memory distribution structure
      • tuning
      • The garbage collection
      • Class loading mechanism
  • Spring

    1. Refresh () process
    2. How do I solve circular dependencies?
    3. Meaning and difference of @autowired etc
    4. The difference between SpringBoot and Spring
  • Redis

    1. Five data structures
    2. Cache avalanche caches penetrate cache concurrency
    3. Distributed lock Distributed Session
    4. Bloom filter
    5. The transaction
    6. Sentinel mode, cluster
    7. AOF and RDB
  • MQ

    1. How to ensure that messages are not re-consumed
    2. How do I ensure that messages are sequential
    3. If you were to write a message queue, how would you architecture it
    4. How can message queues be highly available
    5. What if you have millions of messages waiting for hours
  • RPC

    1. The underlying principles of RPC
    2. A dynamic proxy
    3. Serialization and deserialization
    4. NIO communications, which brings up Netty
    5. Service registry, Zookeeper