It is said that there are two kinds of people who are destined to be single in this world, one is too excellent and the other is too ordinary. I listen to ah? That I this is not outstanding, then resolutely and decisively with the girl friend points hand.

People say that the Internet winter, this time also in a large area of recruitment of the company, is bound to force the company. And at this time the brave job-hopping people, is bound to be awesome. So at 14:00 on January 25th, 2019, I started bytedance’s recruitment interview.



For this day, I had stood in a long line the day before with a neat haircut and a clean shave. Dressed in a brand new Balance 999, with brand new socks, dark green overalls and Burgundy hoodie, and a fine black down vest over the top, he appears punctly in front of his computer screen, ready to start his video interview.


You better be prepared for the headline interview. One piece of advice I got from my buddy at Headline. However, the email was clear on the test content, so on the one hand, I did not do too strong psychological construction, it turns out that I may not have a thorough understanding of general business and soft skills.



When the time comes, a small room appears, and the interviewer is sitting in it adjusting his posture and seat back. It wasn’t the first time, but I was even more nervous than the first time. The interviewer is very similar to a dull coquess friend of mine, looks, temperament, speaking voice is exactly the same, I almost asked him these years with Zhengzhou that girl still have no contact, the child in the end is not your……


We confirmed our eyes. We started in the tension and awkwardness of our first meeting. The foreplay parts were similar, including self-introduction, company functions and project introduction.

As a small ape coming out of a small workshop, the project experience is not outstanding. There is no high concurrency and no distribution. The front-end and back-end servers and databases are deployed on the same machine. In order not to sound too low, he pretended to casually mention that he has his own open source framework on GitHub, but he didn’t care. When I was done, it was time for him to wave his whip.


“I see that you tend to develop projects independently, or that you take on a large share of the project by yourself. Can you talk a little bit about the architecture that you used when you deployed your project?”


“It’s mainly Django deployment, nginx+ UWSGi +Django+mysql.”


“Can you elaborate on the necessary configuration for nginx deployment?”


“Well, I configured port forwarding in Nginx, listening externally for 80 or 443, and then forwarding to internal UWSGi ports, where UWSGI handles business requests and deploys Django projects.” Apparently my knowledge of Nginx is limited to configuring a port reverse proxy and trying to fudge the concept.


“No, I mean there are a lot of parameters in Nginx, which parameters are necessary when you deploy your project, and which ones can be tuned.”


The other side saw through my little trick, and did not give me the opportunity to muddle through, but I had to bow to admit, said and had not used other configuration, not very soon got a blow in the head.

“Tell me more about how UWSGi works, how it works underneath.”


Because of the tension, the original knowledge is not suddenly become not, it is a proxy for a service port, allocating different threads to handle client browser requests.


“How did he get there at the bottom? Looks like he’s not gonna leave me alone until I beg for mercy.


. (The words unclear, unknown and forgotten are omitted with a shred of dignity.)



The next is the triad of Redis philosophy: “What is it? Why is that? How do I use it?”


I squeezed the last drop of Redis into three drops and still didn’t give him what he wanted. Continue to ask how Redis data storage methods, operation methods, read and write operations are implemented at the bottom.


Ah, it’s so deep.


In addition to lowering my head and saying “No”, I have already realized the seriousness of the problem in my heart. Usually, when you say “no” in an interview, the other person will kindly change the direction and continue to go further. This time, I was almost crying.


At this stage, my psychological defense is almost exhausted. After that, I asked about the storage structure of the table in the relational database. I vaguely remembered whether it was Picasso or Picard tree. After that, I asked about the realization principle of the index and how it could speed up the query efficiency by creating an index.


In fact, the interviewer’s routine is mostly the same, each technique as deep as possible, deep as you can not, not necessarily torture you can not care for yourself, but to test your technical level. But now my brain has been unable to complete their own psychological construction, the destruction of IQ and EQ quotient quotient all collapse.


Of course, this can not all blame me, up is three big bludgeons, is Li Yunlong also let brigade commander into meng force, where can also spare energy to open the Italian gun.


The next programme was on data structures, and the interviewer hit on my sensitive spot: the heap. What is minimum heap? What is the biggest pile? How do I insert an element into the heap?


Fortunately for me, I managed to come up with four different ways to say I wouldn’t, each of which was awkward, not euphemistic, and not identical. Somehow interview a wave of son can’t let somebody else feel me good for nothing, how many still calculate a bit of writing….


In fact, I usually read a little more, know that the heap implementation is a complete binary tree, this series of questions are not so bad, in the interview, I remember the stack and queue, have no idea how to realize the heap, down to know that it is a complete binary tree.


At this time, I was physically and mentally exhausted. The interview had lasted for nearly 40 minutes, and my mouth began to drift, and it was difficult to concentrate on my nervous thinking. I began to use a lot of high-risk words like “I feel”, “I guess”, “might” and “should” in my answers.


The death bombardment is not over, then MQ, the technology selection of MQ that I use, why it was chosen, how it was applied in the project, and finally, without exception, how it was implemented underneath? How to ensure a stable consumer producer queue? The answers were interspersed with my unconfident link-ups of “MMMM”. Every time I begged for mercy and shouted no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no. I swore that one day, I’d be up there, too.


Finally, we finish with an algorithm programming problem, how to sort a bidirectional linked list? So, you can write a quick sort of bidirectional linked list. There is an editor on the side of this video page, in any language you like, c++ or python, about 10 minutes, ok.



“Well, let me try it in c++.”


I then confidently def a quickSort function in the editor, taking an array of ints and two ints for the low and high positions. I add a colon to the end of the function, and indent the next line with four Spaces to show respect.


After writing these sentences, his hands received the news that his brain had broken down ten minutes ago, so he folded his hands to show his helplessness. A minute time to the past, the rest time I began to take paper pen to write down, silent looked up to see the interviewer thought I rehearse algorithm on paper, but as a matter of fact I am in the final a mental review just as he asked me the question, not in order to review well after the interview, mainly I want to write zhihu, ha ha, I are such a smart boy.


During the interview, the interviewer also used his own code to quickly tap on the keyboard, listening to the sound may be teasing HR, sifting through the resume to find out what the interview is all about.


It was almost time, and once again the cheeky initiative admitted that he couldn’t write. In fact, I could have written a quick sort of array in c++, but all I was left with was exhaustion, pain and humiliation.


The interviewer finally let me go, and the passionate hour-long video chat ended. As SOON as I turned off the video, I collapsed in my chair with a convulsion. Who am I? Where am I? What just happened? Oh, that just happened. I used to yearn for that kind of thing, the heart is full of passion and vision, how now, on this matter no interest? Now I just want to sit here and do nothing. Would you like to light up a cigarette? By the way, I don’t smoke. The sage had so many ideas in his mind…


Drifting muddily, in my mind has been reverberating with Jay’s music: this feeling has not been right I finally understand, a page can not bear to read the plot I am very tired, you silence to see I dropped a few tears more haggard, and my heart you suffer your offer, I do not deserve ~ ~ ~!





The interview process and questions go something like this, a bit artful for the reading experience, but completely authentic. Now let’s get down to business.


Now I just want to stick my head in the soil and never come out again. I wrote super thick chicken soup before, and talked about learning methods. It was taken by the technology number and directly placed until now. Write high praise, speak of the plug-in, and now there are people ask me can do plug-in private work, a day thousands of profits; As a training instructor to tell the inside of training institutions, there are Shanghai and Beijing training institutions to 1K an hour I do not want to go, I want to take advantage of the young into a big factory to do technology. I really think I’m a big shot under the commercial adulation.


There are a few people in the comments section who accuse me of being too clever and arrogant, and say that I am a scum who is keen to mislead others, but I don’t think much of it, thinking that ONE day I will come back with the offer of big factory to prove myself! Until today, I finally know that they were right, there is a difference between talking and being really capable.


Today this round of interview, is to be torn to pieces, can be said to be a programmer interview typical negative, of course I am not afraid to say, dish is dish, blow water is blow water, try to blow the water as soon as possible cash, sooner or later one day can become a real big man!


This time as loser again in the job preparation process exposed problems, I hope you take warning.


1. Try to prepare early


Interviews shouldn’t be about showing up prepared. They should be about showing up prepared. If I have to say when I will start to quit my job, MY suggestion is half a year. Don’t start looking at algorithms and data structures after the interview, like I did.


2, first find a small company several times to enter the state, and then invest in a large company to win.


I was stupid enough to use all my contacts at the very beginning to invest in all the internal promotion of BAT and other second-tier big factories. Bytedance is the third big company I’ve lost, and I don’t just feel stupid, I also feel really cool.


Your resume is the review outline


Some people always review the review outline provided by the person who got the BAT offer found on the Internet, only to find it useless. In my interview, all the questions he asked were based on the skills list in my resume.


I think a lot of people are amazing if they can do anything that is described in their resume. If you feel like you have nothing to add to your resume? I recommend a good way:


  1. Hear the name, write understand;

  2. Follow the post to write demo, write familiar;

  3. Used in the project, write proficiency;

  4. Often used in the project, write proficient;


That’s what I wrote, and the result is obviously, out of the mix, always want to return, dare to pretend forced, deserve to be abused.


4. Beware your comfort zone


I have to admit that I am really very comfortable in my current company, and the leader values me very much. Both the project and the lecture are not delayed. I am always sought after by students when I go to university for practical training, and SOMETIMES I can receive private jobs at reasonable prices.


The reason why I want to leave, on the one hand, is my obsession with big factories and technology in my heart, and on the other hand, it is time for me to plan for myself. It is impossible to catch up with the cold winter of the Internet, but I still believe that the truly awesome people will not be stopped by the cold winter.


The recent several waves of interviews directly hit me to doubt life, after the interview, staring at the ceiling without any idea how to evaluate myself. Teaching to the present with the students although not many, but sent into the first and second line of large factory not 20 also have a dozen (our institutions do not fake degrees, are interns into), how I this teacher to find a job so hard? Is it moral decay or human distortion? Is the factory really lost or am I really losing my knife?


“If a programmer feels lost in the workplace and uncomfortable in his comfort zone, I suggest he go out for an interview. He doesn’t have to go out, but you go out and hear what the market is saying about you.”


This sentence was seen in a job search public account, I think not only programmers, any workplace should be deeply believed. Although I am not confused about the workplace, I found in the interview that I had been left behind by others in three years of work without any awareness. What’s more, my grasp of basic knowledge is not as good as that of fresh graduates.