There’s a saying going around programmer circles these days: interview builds aircraft carriers, work turns the screws.

It describes one of the oddities of working as a programmer. The interview questions are all sorts of fancy:

How to implement distributed transactions

How does a message queue guarantee idempotency

What JVM tuning

.

Such as this

Did, however, the difficulties, fight all the way down, and finally got the right offer, after induction, a day of job is a simple add and delete, or is not strong technical business code, even some copy and paste the daily work, and the situation of the interview, surprising. The reason why this statement can spread, must be caused by the majority of code farmers resonance, must be a lot of people have encountered this situation.

So, such a strong contrast and contrast, what is the cause of it? This article tries to come to a big conjecture, carries on some analysis and summary to the reason.​

Work required

Before the commencement of expression I say a little story about handling card, some time ago, I went to happy valley to play, at that time, they are aggressively marketing year, a year can be unlimited to visit in the park, price is relatively reasonable, so many people chose to buy card, I am no exception, the process of handling card is simpler, a total of three steps: pay, pictures, CARDS. It was my turn, fee and pictures are all very well, but the card this step out of the question, the card machine can’t spit card, the staff is in a hurry at that time, according to the press some buttons, with the hand patted machine, no work, fabrication machine still can’t work normally, at this time, the staff have to sorry to make me wait, wait, She called in another colleague who looked more skilled and quickly fixed the machine, and I got my annual card without any problems.

This story like a programmer’s daily work, and yes, if everything as you wish, the user input data is very neat, the server will never be donw machine, the network will not shake, a variety of system parameter setting is appropriate, then, you only need to master the basic programming knowledge and skill is enough to deal with, however, the ideal is plump, reality is very skinny, All kinds of exceptions, all kinds of emergency emerge in endlessly, overwhelmed, and the business is in the rapid development of technology is still in constantly update iteration, absolutely not once and for all work, especially for programmers to this career even more so, this time, if you would only screw, in-depth grasp programming system, If you don’t have a comprehensive knowledge of the tech stack, you’ll end up like that person who doesn’t know what to do when faced with a problem and has to turn to someone else for help. Once or twice, IT doesn’t hurt, but in the long run, you’ll be abandoned by the IT community.

This is an objective reality, although we can poking fun at the absurdity of this phenomenon, but if the calm down to think, will understand this kind of phenomenon existence is reasonable, only armed himself, let oneself have created “aircraft carrier” skills and pattern, so, we, in the daily work of screw to more ease, comfortable, besides, In the stage of work, as long as you are good enough, enough outstanding, discerning leaders will naturally let you start “building aircraft carriers”, if after entering the job, you have been still turning the screws, you may have to rethink.

That’s the first reason, and it’s the most pragmatic and likely reason, so let’s move on to the next one.

​

Interviewers show off their skills

The second reason, which happens all the time, is that the interviewer is showy. As an interviewer, he really is a psychological advantage, naturally think of their own level must be higher than the candidate (of course this is wrong, what is more, some have inferiority mentality of the interviewer, will ask some of the so-called “advanced”, to display their ability and level, in this case, if the whole down are such as the following questions, Does not show the quality of the interviewer:

How many basic data types does Java have?

What’s the difference between a break and a continue?

Which keyword is used to group data in MySQL?

What are the features of database transactions?

What are commonly used message queues?

If all the question, can’t reflect the interviewer pretend bility, surely he is going to ask how you kill system design, how to realize distributed lock, the principle of consistency hash, and so on, so as to improve his figure, in other words, some even use the interview as the interviewer pretended to X, at a stage.

That’s the second reason, and it’s not a small possibility.

​

Reject a candidate

The third reason is to reject a candidate by asking advanced questions, such as how to “build an aircraft carrier” during the interview, until you can’t answer them, and then making you feel like you’re not up to the job. When does that happen? The possibilities are many: the interviewer is stuffy, but your demeanor is a little flirtatious; The interviewer hates tattoos, but you get one in plain sight. Maybe the interviewer is a neat freak, but you didn’t clean up that well that day. You even look like the interviewer’s ex-girlfriend’s boyfriend…

This kind of situation is actually exist, most of the time, the interview just like dating, if there is no eye catching, or temperament, so the interview chance of success will become small, since the aura, the interviewer will try to send you go, ask some big issues has become a common means, at least not make atmosphere very embarrassed, The interviewer knows the real reason.

Interacting,

The fourth reason is low price. The candidate may be suitable in all aspects, but the price is relatively high. One way to do this is to ask tough questions that take the edge off the candidate and make him feel like there’s so much he doesn’t know. Then the interviewer brings up the salary issue at the right time, and the frustrated candidate may make a concession.

Look, this circuitous tactics during the interview process is also exist, latest by Beijing to repeatedly, seemingly is ask you technical problems, but it is too your salary is too high, in particular, if your expect salary is higher than the interviewer, much for his psychological how uncomfortable, of course have to make a some problem to embarrass you. Knowledge is endless, knowledge is endless, since the interviewer can as an interviewer, there must be his exceptional, at least has been recognized by everyone, so he wants to ask you, in fact, it is not difficult.

This is the fourth reason, in addition to the above mentioned, there are other factors contributing to this phenomenon, let’s look at the last reason.

​

Other aspects

There are a few other reasons for “interviewing to build an aircraft carrier, working to turn the screws” :

  • The interviewer is in a bad mood. The interviewer when he take the subway to work, for example, being stepped on one foot, abnormal mood is not beautiful, or had a quarrel with the product manager before the interview, or just being criticized by leadership, at this moment he is looking for someone to vent emotions, by asking some questions created “aircraft carrier” to abuse by the candidate, to find some psychological balance.

  • The set of solutions. It is not uncommon to encounter some very difficult problems in the development process and not find some good solutions for the time being. It is not uncommon to use such problems as interview questions and try to get solutions from the candidates. The problems are difficult, so of course they fall into the “building aircraft carriers” category.

Do you think there are any other reasons for this bizarre situation? Welcome to add.

Recommended reading

Why are Alibaba’s programmers growing so fast?

What? Is SpringCloud on the way out?

Ali architect [Boxi] take you to reveal the actual architecture project and source code interpretation: Weibo +B station architecture design, JUC core, Mybatis source code

Enter big factory also this matter, work after 2 to 3 years enter big factory operation guide

After watching three things

If you find this article helpful, I’d like to invite you to do three small favors for me:

Like, forward, have your “like and comment”, is the motivation of my creation.

Follow the public account “Java Doudi” to share original knowledge from time to time.

Also look forward to the follow-up article ingπŸš€