Interviews build rockets, work screws

Most programmers will think of the “summary of the really penetrating”, when the interview algorithm, all kinds of “kneel”, “kneel again”, “or kneel”…… How many people fail to get the offer they want because of the algorithm.

The age of the intellectual interview

Now algorithm has become the top priority of big factory interview, even some foreign big factories only interview algorithm, why is it so? In fact, in the early days, that is, when Microsoft was the boss, big factory interview favorite test “intelligence questions”, such as:

  • Why are manhole covers round?
  • How to measure 4 litres of water in 3 and 5 litres drums?
  • A couple who had two children, one of whom was a girl, asked what was the probability that the other child was a boy

Wait, wait, wait, wait, wait, wait.

It’s hard to imagine a “brain teaser” required to interview programmers, but as Microsoft semi-officially put it at the time:

Computer industry is a new industry, there is no lighthouse to align in front of, there are a large number of fresh problems to be solved every day, innovative employees are urgently needed, the company needs these people to break the convention, create miracles.

Have to say with “innovative” talent is not only a company, and even the whole society are urgently needed, but the truth is, after all, only in the hands of a few people, a great god also a handful of companies need the sense of people at the helm, also need ordinary sailors to paddle, as a member of the ordinary people, I just come to apply for “sailor”, I can steadfastly and seriously complete the tasks assigned to me by the leadership, just like a team needs a god like “Sun Wukong” and a person who works steadfastly like “Sand Monk”.

After all, the Internet was a new industry at that time, and everyone was crossing the river by feeling for stones. Judging from the historical results, Microsoft has been surpassed by Google, Apple and other enterprises.

The age of algorithmic interviews

With the high-speed development of the Internet industry, practitioners of professional ability is higher and higher, the company can work steadfast to like “sand monk” at the same time have a certain professional problem solving ability, people pay more and more attention to solve the problem of professional ability is a very broad concept, reactivity, acuity, communication ability, and so on, namely have hands-on problem solving skills, Why now many companies have written interviews and even real ammunition (directly on the computer to write code) of the assessment, most of the current interview personnel before the interview are brush questions, preparation is very adequate, paper skills comparable to “Zhao Kuo”.

Linus Torvalds, the founder of Linux, mentioned this in an email to the Linux-kernel mailing list at 2000-08-25:

Talk is cheap, show me the code

The civilized explanation is:

Talk about it. Show me your code if you can.

The popular explanation is:

Cut the bullshit and put the code in.

So how to find professional and hands-on problem solvers in a short period of time? Solve the problem of practical algorithm is a good knowledge of process, not only examines the professional ability, start work is also a study of the ability to solve the problem, so many classic algorithms and data structures, design thought is so much, how to use this knowledge to solve practical problems and don’t want to so simple, need strong logical ability.

That’s why big companies like to take algorithm-based tests. They need to judge whether the intervieweris the talent they need in a short time, so the person with bad algorithm must not be the talent? No, it’s a matter of probability, and probabilistically, someone who knows the algorithm is better for them than someone who doesn’t. So they don’t regret giving up on people whose algorithms don’t work? To put it bluntly: they don’t care. Resumes are pouring out of big companies.

Unless you’ve done something extraordinary, they’ll be sorry they didn’t hire you. I don’t know if you remember Max Howell, the inventor of Homebrew, who was rejected by Google due to an algorithm problem. Let’s take a look at how complex the algorithm was:

Given a binary tree, find its mirror image

It’s just flipping binomial trees. How do you say this? In Leetcode, the level is defined as’ easy ‘. Yes, you read that right, it is’ easy ‘. As long as you answer this question correctly, you can surpass the world leader and win the top of the code forest.

Here’s how the IOS superstar landed on the beach:

So don’t deny yourself because the algorithm interview is not good. The interview itself is in a position of information asymmetry, and the interviewer already knows the answer. And this one:

How to bypass algorithmic interviews

In my opinion, there are two ways to leapfrog algorithmic interviews: become a domain expert and understand algorithms

First, to become a domain expert, so that the company will no longer consider you as an ordinary job seeker, of course, it is very difficult to become a domain expert, not only need to work in a certain field for many years, but also need to be able to show outstanding achievements, such as the following:

The father of Java — James Gosling, Java children must be very familiar with this genius, he was born in Canada, is a recognized genius of computer programming. While pursuing a PhD in computing at Carnegie Mellon University, he wrote a multiprocessor version of the Unix operating system and was the founder of the JAVA programming language.

Or this one:

Guido van Rossum, the father of Python, earned a master’s degree in mathematics and computer science from the University of Amsterdam in 1982 and founded The Python language seven years later. The first public distribution of Python was released in early 1991. Today, Python stands out as the most popular of all programming languages.

Such people, if you want to go to a company, certainly is not the same as the interview process, as the general public of I, in the next 10 years or 20 years, don’t know can let others call me “and”, at least now I still can’t let the company for me separate design the interview process, algorithm or go through the interview, since the inevitable, let we embrace.

Brush questions brush questions, brush out not only the question, but also our thinking, both to know the is, but also to know why, rather than just complete the question +1.

Recently, there is a very popular open source library on Github. In just a few days, star has reached 3.4K. This open source library has organized more than 60 dry articles, and the directory is as follows:

There are many more, this is not a screenshot, look at these is not feeling dry goods full, finally provide GitHub address: github.com/labuladong/…

Is today’s article helpful to you? If so, please leave a comment and a thumbs-up at the bottom of the article to show my support. Your comments, thumbs-up and forwarding concerns are my motivation to keep updating!