Overview of Java Interviews

In the Golden Three Silver Four Recruitment Festival, briefly talk about the interview process. I also made a plan about what knowledge points should be written about the interview topic, so as to better help all students to review.

First of all, we follow the main process of the interview:

The main process of the interview:

  1. Self introduction
  2. Project Introduction
  3. Technical link
  4. Q & A session

The two most important links are definitely project introduction and technical links. How do you say? Look at

Project Introduction

Project introduction: how to examine the understanding of the business + the ability to express

When introducing the project, I examined your understanding of the business, under what background the requirements are generated, what the requirements are, what problems the requirements are intended to solve, and how to achieve the requirements . We treat a requirement as a point, a project as a line, and a system as a surface. Now what we are doing every day is a function point, such as business CRUD; the combination of function points can form a business line, such as the order module of Meituan Takeaway. The combination of business lines can form a face, such as Meituan Takeaway. It can generally be understood that the daily task of P5 students is to develop function points, and the task of P6 is to be responsible for a business line, such as how to allocate business lines to P5 students for development. And P7 is the architecture, and is responsible for the architecture of the entire system.

If we want to climb up, we can’t just know a little bit every day and not know the face. We have to know the real demands behind each demand and the real problems that need to be solved. We have to jump out and think about what we are doing when doing this function, and we have to think about what solutions are available to solve this problem .
For example: now the product requires an additional query condition in the search bar of the customer service system. The most intuitive idea is to improve the work efficiency of customer service staff. If you think about it on a higher level, originally a customer service can process 100 orders in a day, but now with the addition of query conditions, the customer service can process 200 orders in a day. The company originally needed to process 1,000 orders a day and 10 customer services, but now it only needs 5 customer services. In general, it is to save labor costs for the company.

Sometimes, the product manager puts forward a demand P and wants to solve problem A. For example, the requirement is to do a questionnaire survey function. If the technicians don’t know what to investigate, and don’t ask whether the survey function can only be done once, they will do it directly, work overtime and stay up all night, and make a questionnaire survey website. However, the product tells you at the end that this survey website is mainly used to investigate where the grandparents in Beijing went to buy food during the epidemic. And only use it once. At this time, I don't know what your mood is. If the technician asks the real demands of the demand P, they will not be so stupid and make a survey website. We must always understand: technology is just a way to achieve business. There are many ways to achieve business. Besides, grandpa and aunt may not always surf the Internet. . . . To investigate the situation of Beijing's uncle and aunt's grocery shopping, just ask the uncle and aunt to fill out a questionnaire at the gate of the community and send a small gift.

You see, it is very important to understand the real demands of the needs. Don't hold a hammer in your hand, see that everything is nails, and don't sharpen the knife, and you will find pigs all over the world.

Technical link

Technical link: technical breadth and depth

This, the test is all that. It is nothing more than an investigation from the breadth and depth of technology. In the project, the following technologies are almost all used:

  1. Distributed, then RPC will be used
  2. Development language, Java
  3. Frame, spring
  4. Storage, Mysql
  5. Cache, redis
  6. Message framework, MQ
  7. Algorithm, just brush the questions yourself.

For the above-mentioned technology stack, Rutabaga will have the following interview topics (the last appendix)

In the above-mentioned technology stack, in terms of breadth, you have at least used it and know how to use it.
In terms of depth, you must at least be as deep as you have seen the source code and know the implementation principles of the technology.

As for the knowledge of computer networks, computer composition principles, and computer operating systems, I can take the test, but I don’t ask too much, and it’s not very deep, at least at the P6 level. The computer network always asks TCP three-level handshake, waved four times, and asked about the status code of Http if there was nothing to do. This is not the point of review. In other words, these books may not be able to be understood after reading them now. After reading them, they could not be used in the actual production environment, and then they were forgotten. . .

The above knowledge points are actually relatively theoretical, because you can understand them by looking at the information on the Internet. But there are some things that must be practiced before they can be answered in the interview. For example, the CPU is 100%, the memory is overflowing, the disk is full, and the IO is blocked . These things, if you don't really fight it, you won't be able to start at all.

to sum up

In general, regarding how to improve the awareness of the project, I was recently looking at some product managers' information, and those in need, asked me for it. As for the breadth and depth of technology, Rutabaga will update articles (adjust at any time) to match your review, but this is only suitable for review and review before the interview, not for systematic learning. After all, this is an article, which is more fragmented. To study systematically, it is better to read books. Finally, I would like to wish all of you friends who can get big offers in the gold three silver four. I also hope that I will not be lazy and keep changing.

appendix

  • MySQL

    1. index
    2. Tuning
    3. The overall structure of the database
    4. Master-slave replication, read-write separation
  • Java

    1. Collections and containers
    2. lock
    3. JVM
      • Memory distribution structure
      • Tuning
      • Garbage collection
      • Class loading mechanism
  • Spring

    1. refresh() process
    2. How to solve the circular dependency?
    3. The meaning and difference of @Autowired and other annotations
    4. The difference between SpringBoot and Spring
  • Redis

    1. Five data structures
    2. Cache avalanche cache penetration cache concurrency
    3. Distributed Lock Distributed Session
    4. Bloom filter
    5. Affairs
    6. Sentinel mode, cluster
    7. AOF and RDB
  • SQM

    1. How to ensure that messages are not repeatedly consumed
    2. How to ensure the order of messages
    3. If you are asked to write a message queue, how to design the architecture
    4. How to ensure the high availability of the message queue
    5. If there are millions of news backlogs for several hours, how to solve it
  • RPC

    1. The underlying principle of RPC
    2. Dynamic proxy
    3. Serialization and deserialization
    4. NIO communication, this time will involve Netty
    5. Service registry, Zookeeper

Thank you very much for seeing this. If you think the article is well written, please pay attention to it and share it (it is very, very useful for me).
If you think the article needs to be improved, I look forward to your suggestions for me, please leave a message.
If you want to see something, I look forward to your message.
Your support and support is the greatest motivation for my creation!

Guess you like

Origin blog.csdn.net/Aaron_Tang_/article/details/114670123