How did I prepare for the interview when I counterattacked Kuaishou from a small factory

I put the MySQL, Redis, and Kafka mind maps mentioned in the article in my official account. You can follow my official account [haxianhe] and reply to "mind map" to get a high-definition pdf version of the mind map .


In the last article, the salary was increased by 50%, and the small factory counterattacked Kuaishou - the appendix , I gave an overview of the steps to prepare for social recruitment and job hopping, so today I will give a recommended review for interview review Information, how to review and what are the common precautions.

Self introduction

Self-introduction is the first part of an interview, and a good self-introduction can guide the rhythm of the entire interview. Here is a brief introduction on how to prepare a "appropriate" self-introduction.

First of all, we need to know what information the interviewer wants to know through self-introduction.

In a technical interview, in addition to looking at the applicant's resume during your self-introduction, the interviewer will generally want to know the following information: age, graduate school, working years, work experience, industry background, project experience, Technical aspects and other basic information, and then based on self-introduction and resume information, you can have an in-depth chat about specific project experience, technical issues, etc.

Generally, when introducing yourself, briefly introduce your academic background, work experience, project experience, and the technical aspects you are good at. If the interviewer is interested in which part of your introduction, he will ask you specifically.

Project experience

This part is the highlight of social recruitment interviews. The general principle is to accommodate "online problems" with "project experience" and support "technical highlights".

The technical highlights mentioned in the interview need to be supported by project experience.

Most people use very limited technology in their daily work. It may be CRUD with some tuning, which is also a common phenomenon. Conversely, if a junior developer says in the interview that the previously developed modules include both jvm tuning and distributed components, as well as external database performance optimization, it seems that the credibility is not high.

In this regard, you need to use "solved online problems" to support the technical highlights you want to develop, and you need to actively participate in solving online problems in your usual work, such as oom problems, redis cache breakdown, Or the case of other distributed components, if you participate in the investigation and resolution, then in future interviews, you can naturally use this as a basis to expand the technical highlights you have prepared in advance.

In this case, like the picture above, you have enough support to support your distributed components and other valuable skills.

In short, technology itself is worthless, and the interviewer only cares about how you use technology to solve online problems.

Project Introduction

During the interview, after greetings, the general interviewer will ask you to introduce the project experience. The common way of asking is: "Tell me about your latest (or most available) project".

Prepare the project description before the interview, don't be afraid because the interviewer doesn't know anything

The interviewer is a human being, not a god. When you get your resume, it is impossible to verify the details of your project (generally companies will use background checks to verify the job after you are hired).

What's more, the project you do is calculated on a monthly basis, and the interviewer spends up to 3 minutes to understand your project experience from your resume, so you are far more familiar with the project than the interviewer, so you Don't be nervous at all.

If you have more work experience than the interviewer, you can even control the entire interview process.

Here's how you compare to the interviewer:

you interviewer
on your previous projects and skills Know well Can only listen to what you say, can only make judgments based on what you say
Responsibilities during the interview process Successful defense in a short period of time If you can't find the loophole, you can only count as you have done it before.
Preparation time You have plenty of time to prepare before the interview Generally spend 3 minutes reading your resume before the interview
communication process You can make mistakes, but don't make critical mistakes won't make it hard for you unless you're too bad
Skill You have enough skills and you can find enough interview questions from the Internet In fact, just ask some general and regular questions.

Since the interviewer can't know your details, how can they verify your project experience and technology?

Here are some common ways to ask questions:

way of asking questions Purpose
Ask you to describe your work experience and projects (most likely recent) to see if what you say matches what is on your resume See if you actually did these projects
Look at the technologies used in the project on your resume, such as frameworks and databases, and then ask some basic questions about these technologies Or verify whether you have done the project, and at the same time see if you understand these technologies, and prepare for further questions
For a certain project, ask some technical questions in depth, or ask some technical implementations from different sides, and see if there are any contradictions in your answers. In-depth verification of your project details
For a certain technology, ask some questions that will definitely be encountered in the project. For example, if the candidate says that he has done database, then he will ask questions about indexing With questions like this, check if the candidate actually has project experience (or is it just a learning experience)

Prepare various details of the project. Once you are asked down, it means that you have not done it

Generally speaking, before the interview, everyone should prepare the rhetoric of the project description, be more confident, because you have the final say on this part, and be fluent, because after you have fully prepared, you can know what you want to say.

And these are your actual project experience (not learning experience, nor training experience), so once the interviewer feels that you can't tell, then the credibility will be very low.

Many people are stuck on "what business is done in the project, and the details of code implementation", which is equivalent to handing over the right to follow-up questions directly to the interviewer.

The following table lists some bad ways to answer:

answer method as a result of
I worked on the XX portal website project in XX software company. This project achieved XX functions, specifically XX and XX modules. Each module has XX functions. The customer is XX. Finally, this project earned XX money Interrupt directly, because I don't need to understand the business requirements, I will directly ask him about the technology in the project
(Need to recruit a Java back-end developer who will be able to Spring MVC) I recently implemented a project using C# (or other non-Java technologies), and it was implemented...or what I did recently was not development, but testing...or I recently The project does not use Spring MVC Ask, when was the last project you used SSH technology, and then write in the comment: I have not touched SSH in the last XX time
At the time of graduation design (or when studying, when studying, in XX training school, in XX training courses),... Just interrupt and ask you whether this is a commercial project, and if not, do you have any other commercial experience. If you have no experience in commercial projects, unless it is a school recruitment, the interview will be ended directly
When describing the project, some key elements (such as company, time, technology used, etc.) do not match those on the resume We will investigate this inconsistency. If it is a fake resume, then the interview may be interrupted directly. If it is really a clerical error, then a reasonable explanation needs to be provided.

While avoiding the above-mentioned bad answers, you can prepare the project introduction with the elements given in the table below.

element style
Within 1 minute, tell the basic situation of the project, such as the project name, background, which client it is for, the basic things completed, how long it took, the scale of the project, which technologies are used, and what database is used, and then briefly say as appropriate Click on the module. Highlight background, technology, databases, and other technology-related information. I built XX foreign exchange margin trading platform in XX company. The client is XX Bank. It mainly completed the functions of listing, firm order transaction, margin leverage transaction and other functions. The database is Oracle. The front desk uses JS and other technologies, and the background uses Java SSH. , several people worked for X months. There is no need to describe each functional module in detail, and there is no need to say too much about business but not technology. If the interviewer is interested, wait for him to ask.
To take the initiative to say what you have done, the description in this part must be consistent with your technical background. I have done the foreign exchange firm offer trading system, the pending order transaction system, and the XXX module for X months
Describe your role in the project I mainly did development, but before development, I participated in business research, database design and other work under the leadership of the project manager, and later I participated in testing and deployment.
You can describe the technical details used, especially the technical details you use. Pay special attention to this part. You must know what you say, because the interviewer will ask based on this later. If you have made 5 modules, you would rather only say 2 that you can speak catchy proficiently. The collection in Java, JDBC, ... and other technologies are used, and frameworks such as Spring MVC are used to connect to the database with technology.
This part is at your own risk. If you can, mention some popular elements quietly, such as Linux, big data, and heavy access pressure. But once you say it, the interviewer will go straight to the details. In this system, deployed on Linux, the amount of data to be processed every day is XX, and the requirement is to process 50 million pieces of data within 4 hours and 1G memory. The average visitor is XXX per minute.

online question

Everyone must seize the opportunity of "online problems" in their daily work.

Because the function is done only with project experience, but the real "valuable" during the interview is actually the technical difficulties and solutions, and general technical difficulties are generally accompanied by "online problems". Therefore, be proactive in your usual work, check and solve online problems whether they are your own or not, and then summarize and record them around "problem phenomenon, problem analysis, problem impact, solution, problem expansion" and so on. As far as my notes are concerned, the follow-up is my most precious wealth.

Technical Highlights

Combined with the online problems I have encountered, give priority to preparing the technical highlights of distributed components. Commonly used distributed components mainly include MySQL, Redis, Kafka, etc.

For this part of the content, you can refer to the technical requirements on JD, and prepare in a targeted manner. You can also refer to the content of the middleware part I will introduce below.

Programming language

Regarding this part of the content, students who switch languages ​​may need to pay more attention.

First of all, it needs to be clear which language you want to transfer to, then you need to prepare in advance the content that the language interview may ask, because the company recruits you for work instead of recruiting you first like school recruiting Go in and train you. You can see the JD before submitting your resume, and the JD generally has clear requirements on the technologies that need to be mastered.

For Java review materials, open source projects are recommended

middleware

Common middleware mainly include: MySQL, Redis, and Kafka. Next, I will briefly introduce my review experience.

review materials

For review materials on middleware, open source projects are recommended

For MySQL review, there are two books to recommend:

  • "MySQL Technology Insider: InnoDB Storage Engine"
  • "High Performance MySQL"

If you want to review Redis, I also recommend a book for you:

  • "Redis Design and Implementation"

review method

Generally, I will combine the books recommended above and open source projects to organize my own mind map (I put a screenshot of the mind map below) and notes.

MySQL


Redis


Kafka


The complete mind map is too long to take screenshots. Students in need can follow my official account [haxianhe], reply to "mind map" and get a high-definition pdf version of the mind map .

Scenario

Recommend a seckill open source learning project

A better article about the scene design of seckill

Algorithm question

For the algorithm, I recommend that everyone at least read the 67 questions of "Jianzhi offer" on Niuke.com

For the answer, you can search on the Internet for "Niuke.com "Jianzhi Offer" 66 question solution", I personally refer to "Huajie Jianzhi Offer" on leetcode, but this requires membership, you can choose according to your own needs .

If you still have time and energy in the future, I recommend you to read the Niukeba questions again , on which you can filter companies and the number of inspections, etc.

Q & A session

Finally, there is the questioning session. Like the first session, this session is the only one where candidates can take the initiative. Generally, through this session, you can show the interest of your interview team, and you can also show your humility and eagerness to learn. It will be all right.

Here are some classic questions I prepared for myself for your reference:

1. Can you tell me about your business?
2. Can you introduce your technology stack to me?
3. If I am lucky enough to get an offer, what do you think is the most important thing I should pay attention to after I join the job?
4. What is the development prospect of this position in the company? What promotion mechanism is there? Under what conditions can I get a promotion opportunity?
5. How many team members are there? How do you divide the work? What is the current core work of the team?

summary

Up to this point, this article has generally explained what I want to share, but in fact there are still many details that have not been discussed, such as my summary of MySQL, Redis, Kafka study notes, etc., this part of the content In the follow-up, I will simply sort it out and post it on my official account and personal blog one after another. Maybe it will not be put in the discussion area of ​​Niuke.com, so students in need can follow my official account [haxianhe] first time to read.


I put the MySQL, Redis, and Kafka mind maps mentioned in the article in my official account. You can follow my official account [haxianhe] and reply to "mind map" to get a high-definition pdf version of the mind map .

Guess you like

Origin blog.csdn.net/finish_dream/article/details/114364379