Dry goods | Programmers from big factories talk about the process and precautions of Internet company technical interviews

Enterprises generally inspect each of their abilities through several rounds of technical interviews. The general process is as follows:

One-sided machine test: Generally, multiple-choice questions and programming questions

Two-sided basic algorithm: the basic algorithms are all about this column

Three aspects of comprehensive technical aspects: will investigate programming languages, basic computer knowledge, and understand project experience, etc.

Four-sided technical boss side: Will ask some more exemplary content, check everyone's ability to solve problems and learn quickly

The last hr interview: mainly understand the inconsistency between the interviewer and the corporate culture, the career development of the interviewer, the choice of offer, and introduce the salary and treatment provided by the company, etc.

It's not that it must be these five rounds of interviews, the situation of different companies is different, and even the interview process of different business groups of the same company is different.

One side and two sides may be put together, and three and four sides may be put together. Try to disassemble the various dimensions here to let students understand what preparations need to be done for the technical interview.

Let's analyze each interview section from each dimension of the interviewer to examine everyone

One-sided machine test

On one side, it is usually multiple-choice questions + programming questions, and some company computer tests are all programming questions.

Multiple-choice questions: Basic computer knowledge involves computer networks, operating systems, databases, programming languages, etc.

Programming questions: generally a problem with a relatively large amount of code

For a machine test, usually for school admissions, BAT-level companies will send out written test questions in advance, send them to the mailbox and complete them within a specified time, and must be treated with caution. If the machine test has not passed, there will be no interview opportunity later

Machine tests are usually multiple choice questions + programming questions, and some company machine tests are programming questions

The multiple choice question is that the basic knowledge of computers involves computer networks, operating systems, databases, programming languages, etc. If some students have no idea about the basics of computers, you can go to Niuke online to find the computer test questions of major companies over the years. Find a feeling.

Programming questions are generally problems with a relatively large amount of code, such as graphs, complex data structures, or some simulation questions. Programming questions are the focus of our course.

So I also recommend a programming learning website to students, which is leetcode

Leetcode is a question bank specifically for algorithm exercises. Leetcode has also launched a Chinese website, so Chinese algorithm enthusiasts brush questions on it. This course also selects classic topics mainly on leetcode.

Niuke.com involves all aspects of programmer interviews. There are many domestic Internet companies that have been interviewed for many years.

It is recommended to learn basic computer knowledge on Niu Ke. You can choose leetcode to brush algorithm questions.

Two-sided basic algorithm

Pay more attention to the way of thinking, this is different from the machine test to the algorithm. The machine test is just to get a result, right is right or wrong.

The two-sided algorithm interview interviewer wants to see the thinking process of the students, not just an answer.

Usually the questions on one side of the machine test are relatively large codes, while the two sides are some basic algorithms

The interviewer will let the interviewer write the code on the white paper or give the interviewer a computer to write the code,

General interviewers tend to use white paper, so that they can better see the way students think

What language should be used to write algorithm questions? Use the language you are most familiar with, but preferably JAVA or C ++

If you don't know JAVA or C ++, then it is more recommended to do it by doing algorithmic questions and learn by the way.

If you want to go further on the road to programming, it is very important to master a heavy language. Learning C ++ or Java will be very fast in learning a scripting language, which is equivalent to dimensionality reduction.

On the contrary, if only scripting languages ​​are used, it will be difficult to learn high-level languages ​​after work, and many things will not be understood.

So here is a recommendation, especially for fresh graduates. Everyone has time to lay the foundation of the language. Do n’t be too obsessed with 10 lines of code to call a package to solve 100 lines of code.

Because it will not be clear what work was done on the omitted 90 lines.

It is recommended that you do not take shortcuts when you are laying the foundation.

Simple code must be handwritten, and don't rely too much on IDE auto-complete.

For example, to write a function that flips a binary tree, many students are brushing a lot of questions on the leetcode.

However, the structure of the binary tree is generally defined on the leetcode, so you can write up the function directly.

However, during the interview, the code must be written on white paper. Some students suddenly do not know how to write the definition of the binary tree. It is either that the structure is not defined correctly, or just forget how to write the pointer.

In short, there are many mistakes. So the definition of the basic structure and the code must be trained and written on white paper

Three-sided comprehensive technical aspects

The general technical aspects generally examine everyone from the following three points.

Programming language: Here is the interviewer to check the mastery of programming language. If it is C ++, it will ask STL, inheritance, polymorphism, pointers, etc. You can also ask many questions here.

Basic knowledge of computer: Check the comprehensive knowledge of computer. The focus of the different directions here is different. If it is background development, Linux, TCP, process thread must be asked.

What does the interviewer want to investigate in the project experience?

The project experience mainly examines the technical principles, technical depth, and adaptability from these three aspects

Investigate the technical principles, did a project, did you just finish adjusting the interface, what did you do behind the interface? These still need to understand

Inspect the technical depth, if it is developed in the background, you can investigate from the aspects of system expansion, caching, data storage, etc.

Investigate the resilience. If the interviewer asks the students a scenario for the project, what is the most taboo answer? "I haven't considered this situation". This will greatly reduce the interviewer's impression of the students.

At this time, the candidate most appreciated by the interviewer is that although he has not considered it, he will also come up with a plan and then discuss it with the interviewer.

Finally, a feasible plan was discussed, which would double the interviewer's favor with the students.

Usually fresh graduates do n’t have much project experience, especially undergraduates, but they can actually do some small projects by themselves.

For example, to make a backgammon game online, network knowledge is involved here, and you can combine your network knowledge to introduce your own project.

Those who have already worked must find out the highlights of their work projects. In fact, not everyone has the opportunity to participate in the core development of a project.

Not everyone has the opportunity to solve problems. This is also the motivation for us to face difficulties in our work. We must move forward because this is the most valuable part of our project experience.

Boss on all sides

The technical leader interview mainly examines the interviewer's two abilities, problem solving ability and fast learning ability

To examine the ability to solve problems, the interviewer's favorite questions to ask:

1. What are the biggest technical challenges encountered in the project, and how did you solve them?

2. Give a project question for the interviewer to analyze?

3. If you are a student, you will be asked what challenges you encountered in your studies?

These are frequently asked questions by interviewers.

The interviewer may also give a specific project scenario and ask the students how to solve it.

For example, the background design of the WeChat circle of friends, if it is what you should design, you do n’t have to panic about this kind of problem

Because the interviewer also knows that you have n’t designed it, everyone just needs to speak out their design

The interviewer will further guide you through the possible problems in the plan, and finally discuss a seemingly reasonable result.

The interviewer here mainly investigates the project problems, how the students think and how to solve them.

To examine the ability to learn quickly, the interviewer's favorite questions to ask:

1. Ability to learn quickly How to learn a new technology or language quickly?

2. After studying for graduate school, what is the difference between you and your undergraduate?

3. At a specific point, the interviewer will ask, if there is a project to start in two days, and this project uses language or technology that you have not used, how will you complete this project?

In other words, the interviewer will ask: If you learn a new programming language or technology quickly, students here need to sum up their learning skills

If you are a graduate student, the interviewer also likes to ask: What is the difference between you and your undergraduate graduation after studying for graduate school?

Here we should reflect the progress in our thinking and learning methods, rather than learn more about those technologies in two or three years, because the Internet is constantly changing.

Interviewers prefer to investigate the ability of students to learn quickly.

Five sides hr side

It's finally time to arrive at HR. Do you feel that everything is okay? You can't be careless here, otherwise the offer you get will fly away.

It is important to know that if there are ten places in HR, the number of people reserved for HR is usually greater than ten, that is, HR has the right to choose, and HR will choose candidates that meet the values ​​of the company's culture.

Here are some key issues for you

Why choose our company?

Everyone must be prepared for this. They can't be asked if they are confused, and then they just want to find a job.

Why should I choose this company in terms of technical atmosphere, career development, company potential, etc.

Are there any career plans?

In fact, if you have just graduated and you do n’t have a clear career plan, I suggest you do n’t say that you want to work as a project manager for a few years, and want to be a product manager for a few years

In this way, HR will think that career planning is not clear, and try to plan yourself from a technical perspective.

Do you accept overtime?

Although everyone does n’t like working overtime, I still suggest that if you do n’t have an offer on hand, you should try to accept it

Unless it ’s a super-big Niu N offer, you can directly say no, and then get up and leave

What is the longest thing to stick to?

It ’s best to think about it here before. Some students may have the impression that they did n’t insist on a very long thing or think about this question. When asked when they were in HR, they looked dazed.

Hold back for a long time and say a thing that is painless and itchy. This is a point deduction

If the school recruits, it will directly ask: Is the expected salary XXX accepted?

If you feel that you are performing well and leave a good impression on the interviewer, you can fight for a special offer or ssp offer here

This is okay, but you really need to be confident in yourself.

If social recruitment, you will know how much the previous company's salary is?

Everyone here must remember not to misreport wages, because you have to check the running water before you start the job. This is a more serious issue.

In fact, HR will not only talk about very serious topics, but also talk about homely things and the like, ask where is the home? Introducing the company's salary and benefits, these are more relaxed

to sum up

This is the interview process here, or that sentence. Not all companies interview in accordance with this process, but if it is a first-line Internet company, it will generally look at you from these aspects I said

Come on, everybody!

If you feel rewarded, welcome to pay attention to my WeChat public account "Code Random Record", BAT first-line engineers record their views and thoughts on technology


 
Good article  follow me  Favorite this article   


Guess you like

Origin www.cnblogs.com/youngyangyang04/p/12702281.html