Have feelings , There are dry goods , WeChat search 【 Three Prince Ao Bing 】 Focus on this different programmer .
this paper GitHub https://github.com/JavaFamily Included , There is a complete interview site for a large factory 、 Materials and my series .
introduction
Today I'd like to share with you a story of my readers , It's a long story , From the game boy To offer harvester , From Foxconn to Baidu to Microsoft , He took all the famous companies in China offer.
There is too much heartache and effort in this , I can see some shadow of myself in him , I hope you can learn from his article , Have an insight .
Don't talk much , Let's hear his story .
Text
The first day of National Day , There are no more people in the study room . Out of the window , A little rain in autumn in Xi'an , Sitting in front of the computer is very calm . It's hard to think about it in my spare time , Remember to record your experiences over the years , It's also a story that you can remember later .
personal 2014 Annual enrollment , A university in Wuhan, majoring in planning , Subject assessment 200 Name away .
A major course nearly failed in my freshman semester , It has directly established the situation that there is no guarantee for research , I started to muddle around for two years . Except for high numbers , Other courses that can escape are basically used to fight the League of Heroes .
16 Summer vacation when I was a junior , By chance, I saw an internship recruitment in the group sent by my senior brother in the next courtyard , Is Wuhan Foxconn recruitment software testing intern .
Summer jobs , Can sign the internship certificate , There is a shuttle bus to the school , And one day there was 220 Wages . I think it's a great opportunity , At least Foxconn is a famous factory , Can earn an internship experience and a little salary .
I reported my name to my senior brother , The resume specifically states the University C Language 92 branch , Class two . My resume passed smoothly , There was no interview , Let's go straight away .
The main task at that time was Windows 10 SP1 The multi-national version testing task of , It's quite different from the code I thought I was going in , It's a black box test , Or to be more blunt , It's just a little bit of brainless operation. It's not very technical .
However, due to the docking with foreign enterprises , So the tasks are all in English , Sometimes it takes a little effort to translate , English ability is to get a little exercise . Testing requires assembling the machine itself , Choose each model of cpu And graphics card and other accessories .
Because it's the first internship , I study very seriously , Until now, I can still close my eyes , Clearly and completely recall the whole assembly process of a whole machine .
CPU The pin of , The gold finger of memory module and all kinds of SATA The wiring harness was the most exposed thing during that time .
When the machine lights up, it starts to do DASH( Download the test version of the system from the server and install ), Then the activation system starts testing against the test cases .
Almost two weeks later , The routine operation is quite skilled , The task seems to be getting boring . because DASH It's a long process , I often look out of the window at the stairs from the third to the fourth floor , I don't know which interesting colleague raised a small leaf with a mineral water bottle on the windowsill , I always feel comfortable looking at this green .
Foxconn's life is very regular , Arrive at the station at half past eight , It's out at half past five , Day after day, with all kinds of solutions, I was thinking , Will I be engaged in this kind of boring but relaxed work in the future ? Think about it or write code to do requirements more interesting .
Because the undergraduate school is not very easy to find a job , And I think the code ability is OK , So I decided to get a better education background by taking the postgraduate entrance examination , An endorsement that the company can look forward to .
Junior summer vacation is preparing for the exam , The teacher who had a good relationship with me gave me a chance , There is a senior brother in meituan , I want to push my resume to him . I'm certainly excited , It took an afternoon to prepare a resume :xx School , Computer science , The main language java, Have done xx campus app Back end features as well as an online OJ Evaluation website ... ...
The resume was sent to the teacher , One day , Two days , A week passed , The teacher said that the resume was still too thin , You can't initiate an interview .
I felt a sense of loss that day , I thought at least I could get an interview , It turns out that my resume can't pass .
I have more confidence in my own code level , But it is this confidence that has brought me greater loss . I said to my roommate angrily , Never go to meituan in the future , He asked me to go, and I didn't go . It's a big story, of course , It's just that the child refuses to admit it .
The postgraduate entrance examination lasted five and a half months , I have passed the first and second examination smoothly , I came to a university in Xi'an and started my postgraduate study .
At that time, some students said , A company called byte skipping can make a lot of money , But the algorithm is very demanding .
It's also the first time I've heard of byte skipping , There is no big difference between graduate class and undergraduate course , For me, at least, it's hard to listen to ( Of course, there are some very good courses , This is a later story ).
But when I was in a daze in class , Slowly but no longer think about how I want to operate my hero standing in front of the line to kill the opposite player ,LOL There's no time to play any more , From time to time to see the game, but also have an account of youth .
When graduate students are bored , Generally, I'll open Niuke , Do a few questions on it , Looking at all kinds of computer network and operating system knowledge , I always feel that I can never finish learning . In the process of browsing the discussion post , I gradually found that netizens will do some arithmetic training , Generally in leetcode On . I signed up with this website , The English interface makes me feel very elegant .
It wasn't long before I decided that I was going to start on my way to writing questions , I still remember that the first question seems to be the sum of two numbers , In fact, this topic I was preparing for the ninth degree OJ I did , It's not too difficult , After grinding some boundaries , When a green Accept Appear in front of you , I feel like I'm using XX√√√ Finished a game BO5 Promotion game .
So my life became simpler , The lessons that can be avoided are in the dormitories and the library LEETCODE, If you can't escape, you should brush it in class LeetCode. I try to keep it for one day 6+ The amount of questions , Sometimes it does 10+, I like to see the green dots on the login interface linked together .
But because of course assignments and exams , Sometimes it will be interrupted for a long time . I remember very clearly on a snowy afternoon , I finished in Leetcode The hundredth on Accept, The question was adjusted for two hours , yes LRU The implementation of permutation algorithm . I was excited to send a circle of friends , Photographed 100/1300 The tag .
I feel like I'm going to be closer to a company like byte , In the process of brushing questions, I will also be interspersed with learning some computer network things , Mainly for the interview . The search information is very miscellaneous , Most of it comes from blogs and B standing .
Including in the process of brushing the title, the algorithm video I watch is also in the B Stop searching for piracy , The speaker is Zuo Cheng Yun and Zuo Shen , It's also my eternal true God . That version of the video left God's desktop or Qitian Da Sheng floating red cape's back , Later, in Beijing, I made up for the original course that I owed Zuo Shen , That's what I'm going to say .
I also began to invest in internships in some companies during the summer vacation , I was surprised to find out , Most of the written tests can't stop me , Anyway, there are no companies that have failed in the written examination , Also got a good chance , But for some reasons, I didn't succeed in my internship .
Later I watched the students go out of the company internship , My heart began to itch again , Open the Niuke network , Searching for limited internship information , See a recruitment opportunity for iqiyi .
About one round 50 About a minute interview , Mainly aimed at OJ project , I asked later Java Exception mechanism , Implementation of generics ,FutureTask How to realize , And some thread pool problems , I didn't use thread pool, so I said it would not .
At eight o'clock that night , The interviewer asked me that our company is in Beijing , Can you come to practice , I didn't even think about it, but I said that location is definitely not a problem , So I ordered the first high-speed train on the third day , It took a day to pack up , I'm not trying to take anything away , Just put them with friends .
All I took with me was a backpack , There's two days of laundry in it , My various documents , A small box of oryzanol ( Improve insomnia ) And an in-depth understanding of Java virtual machine . I feel like doing Java People who , It's very safe to carry with you , I have faith with me , Although I've never opened it .
The house is rented on the high-speed rail , The sublessee is a byte hopping operation , It's next to the people's Congress , It's very close to Aichuan building .
I still remember my leader After finishing the novice tutorial , Come and help me move my computer , Take me to the work station , After a brief explanation , Slowly began the development process .
My first internship in a big company , My first visit to Beijing , All waiting at the traffic lights are all young faces , There was a moment when I saw , The zebra crossing becomes a rhythmic note , And the heartbeat of young people in this city is its beat .
I like riding the Merida passed to me by my elder martial brother in the morning , One more song Young For You, I feel that I am a young man of this era .
As a new person , There are many things to learn , I usually get off work after half past ten . And I like the front tight and the back loose , So the schedule in my heart will be a little bit higher .
I was surprised at what I had not learned for a year Spring The framework can be used in some projects even if it is tampered with in the company , This speed of learning is something I never thought of .
On weekends, I will also catch up with the company's needs or learn from myself , When I'm tired, I'll eat a McDonald's cone across the street , Sometimes I go to the coffee shop and sit down . That's usually because I've solved a problem for a long time Bug. Although the life in iqiyi is very full , But there is still a big factory dream in my heart .
19 National Day of the year , I stayed in the company for eight days looking at all kinds of byte skipping and algorithm problems , As long as there is one question, I think I may not be able to 100% Realization , I'll go to Leetcode Put it right away AC fall .
Friends in the industry may know how painful it is , Because a problem has ideas and really steadily realizes it , The gap between them is too big .
7 Night of , I sit in front of the computer , Close all the pages , open Eclipse, It took a minute or a few seconds to do a quick rehearsal , Test cases are written directly in main in , A handful , I turned off the computer and went home .
It's my own habit , Every war , I'll end up with a quick line at the end , Because it was this code that broke my Baoyan road . When I develop, I use more IDEA, But I only use Eclipse, Because the algorithm has very low requirements on the dependent environment , Basically there's a JDK It's enough .
And I'm a nostalgic person , So I put what I'm good at , For my old friend Eclipse.
The result is not as smooth as the process , Not every luck favors hard work .
12 Two companies have an interview every day , In the morning 10 Point and night 7 PM . Zijin digital park has become my eternal pain , I remember that they asked more in-depth questions , Such as TCP,UDP Can it be tied to the same port ,Java How is the underlying thread implemented ,TCP and IP The detailed message structure of , Headlines , What is the context of process switching , Which registers ,CFS How the algorithm is implemented and so on .
In the end, I was really fed up with , I said I would not be able to operate the system , He asked for a string matching algorithm , I told him in detail KMP The implementation of the , And then he had to write a deep traversal of the tree . I'm on fire , I think you can hang me up , But don't use this simple thing to delay the interview time and let me leave with dignity .
I just said : This thing is so simple , I don't want to write , You can ask a difficult question .
He asked me to write Linux The timer algorithm of , I thought about it for a long time , I didn't think of it , In fact, I haven't heard of it before , I designed a hash table like structure to store these timing tasks . He shook his head , I know that's all for today .
Now in retrospect , I didn't give the interviewer enough respect , A little bit frivolous when I was young .
Until recently this month , I began to read carefully and understand Linux kernel , To understand what I was wrong at that time ( Of course, I went to see the time wheel algorithm the next day ).
Byte's interview is in the evening , Seven days of hard work seems to have no effect , It's because I haven't been asked about the face Sutra I prepared .
Walking on Zhongguancun Street , I think it's a bit cold today , You can only turn the headphones up a little bit , Uncle gem's Disco Let me get a little bit of relief .
A careful friend may find , There were two interviews that day , It's a good opportunity to say , I once mentioned to my classmates that I wanted to change to a bigger factory , She said Baidu called her for an interview , It's a private number , She already has a company of her own, so she doesn't want to interview .
I realized it was an opportunity , Most of the recruitment information is email or work phone , In fact, the success rate of connection is not high , But this kind of private phone is basically point-to-point , There is no mailbox in the middle, which is the layer behind the polling or working number Nginx.
I'll just dial the number , Ask if you need to recruit interns , Show their own school and purpose , I hope you can arrange an interview .
The answer is yes , I specifically requested that it be on the same day as the byte , So that I don't have to take frequent leave , All just had a day byte and Baidu's two interviews .
I visited Baidu building in my first week in Beijing , A bear's paw lies on the side of the subway in xi'erqi , When I saw this sign at a close distance, my heart turned to be surging and yearning .
But this interview is in Baidu science and technology park , If the building gives me the feeling of atmosphere , So the science and technology park is really magnificent .
The infinity sign in the palindrome is made up of seven buildings ,K2 and K1 The corridor connects to the third floor , Straight across a two-way Lane . The whole process of the interview was smooth , The interview experience for me was also very good , The interviewer will ask about the technology stack on my resume from the shallow to the deep , Some of the principles will explain to me .
In three rounds of interviews, I did four questions , Just hit my strong point . They are the shortest editing distance , Longest palindrome string , The longest diameter of stairs and trees . I'll pass all these questions , In the middle, I had a meal in Baidu canteen .
The interview takes time 3 One and a half hours , By the time I left the company, it was already two thirty in the afternoon .
I am very grateful to Baidu , It's not just because it gives me an internship , What's more, for a strong man like me , It may be unacceptable to lose two companies in a day .
In particular, byte's interview made me feel powerless to fight back , under these circumstances , Xiong Du is particularly amiable .
Entering Baidu is a new beginning , There are a lot of things I need to do : Learning a new language , Learning server development , Learn some of Baidu's internal tools and ... Learn to use Mac.
Among these needs, I just cut off Mac Learning from , Focus on language and Linux On , The specific way is that I ask Mentor Put forward to put Mac Switch to ThinkPad.
I Mentor Strangely tell me : Most people are Windows I wanted to change Mac, It's rare for you to Mac Would like to change Win Of , I smile and say I don't have enough time .
Actually, it happened to be mine Mentor It's also ThinkPad, And he's very skilled , It's our team's absolute strength , I think the end of my technical route should be me Mentor The appearance of . During the day, I look at all kinds of documents in the company , I'll spend two hours watching after work at 8:30 Linux video , And take some notes , Because I think watching videos during working hours always gives people the feeling of playing secretly .
It's still full of lights at ten o'clock , Out of the science and Technology Park, you will see Netease next to you , Sina and Tencent Beijing . I followed Tencent's building to malianwa subway station , The subway back to ZhongGuanCun takes two trips , Then walk back to the people's Congress from Suzhou street .
The commute is about an hour and forty minutes , So when I get home, it's usually more than eleven o'clock , I'm always downstairs KFC Buy a finger sucking chicken or chicken popcorn , Sit quietly and eat, then go back to bath and sleep .
In the meantime, I also wanted to change my residence , But think about it , The location of the house is very good now , There are a lot of daily necessities and entertainment , It's still a bit cold in Northwest China , Forget it .
Another reason is that I like NPC very much , I like to rent anywhere near the school , Campus scenery and cultural atmosphere make me very comfortable .
In Baidu weekend, I usually use it to study , It's usually a day to watch Linux, Another day I went to the company to read the documents . The book I read is Linux Programming manual , This is recommended to me by one of my classmates , He started playing in junior high school Linux, More active in the community .
It's hard to imagine that I, as a person who doesn't like learning, can calm down and read a big book all afternoon , The deepest reason is , I have a beautiful girl classmate in Beijing , I usually ask her to accompany me to watch the afternoon in the study room of their school , And then I'm going to have a meal, watch a movie or something . If I can't even see it , Then I really don't know who to say I'm sorry for .
That time may be my happiest and most recollected time in Beijing , Whenever the subway station to Shaoyaoju , I have a little throbbing .
We've been to the Zhongguancun store together , Houhai's shop , The most impressive is the first time in a western restaurant in Wanquanhe .
She was wearing a black dress that day , Make up , Sitting in front of the white tablecloth in the western restaurant . I think directly about ten years from now , The sky is so blue , Flowers are lying on the side of the road , I think I have to write good code , Become a great man because ... ...
I've been through these regular days for about three months , It's also the majority of my time in Baidu , My biggest expectation every week is reading time on weekends , Because going to other people's schools to learn knowledge certainly makes people happy .
Baidu downstairs cake shop has a very delicious Mousse Cake , Sometimes I get off work at six , Then about an hour commute to bring a meal for the students , Because the cake can't be bought after six o'clock .
But seriously , I can keep watching Linux The important reason is that the interview in byte has hit me so much , Let me realize that I'm in Linux This is a blank . And I did encounter some problems in my work , Once I made a customized HDFS Upload program ,fork There is no in the parent process wait, As a result, a large number of processes in a dead state are produced on the server .
The execution flow of these processes has ended , But because the parent process doesn't do the final processing on them , Cause the process number to be occupied all the time , Over time, it may affect other processes on the server pid Distribute .
And our HDFS Resources are limited , The amount of data processed is very large , Everyone's MR The tasks and Spark It's all in one mission HDFS In space , A lot of small files lead to INode It's taken up seriously , Sometimes there are disks , There's not enough INode It can be distributed , Lead to mission failure and so on . Later on, I was in the same kind of problems Linux The corresponding knowledge points are found in the programming manual , It also made me realize the importance of it more and more .
Almost two months later , I am right. Python And server development has a little understanding , And started a new project . I'm actually the person who implements this project on the work plan Mentor, But he's busy , I've seen this job. It should be possible to do , I took it over . The specific content of the project is not convenient to mention here , But this project has really exposed me to a lot of communication in development , cooperation , Step on the pit , Out of the pit , Design and so on .
What impressed me most was from Google An implicit coding problem in response message ,Chunk The protocol will be used in some messages , A standard used as a data exchange format .
Google This code is used in the response message of , It's not explicitly stated , I'm working on the message DOM After tree building and rewriting , Changed the number of characters in the message , and Google Use one 16 The decimal number declares the length . This detail directly results in that all packets that I tamper with cannot be parsed normally on the browser side , The interface of infinite waiting .
This Bug I changed it for seven days , One day I was infinitely close to the answer , I have restored a hexadecimal number that is suspected to represent length , I want to see if it refers to length . What's more, the length seen on the server is the number of bytes , In the middle, there is the problem of coding , And this 16 Base number refers to the number of characters , The difference in the middle has kept me from being sure that this represents length ( In fact, even if you know it, you can't change it , Because the number of bytes of Chinese characters is in UTF-8 The following is different from the number of characters ).
The most nights I've spent in this development cycle is this period , So that after the demand development I am very easy to complete , Because I don't think there's anything like this Bug It's even more difficult ( There are other problems in the middle , such as URL Abnormal coding ,Gzip Flow implicit brush , The open source library DOM Eliminate the defect , But it's just a matter of taking care of it ).
What impressed me most during this period was the night after I solved the problem , Next door group of docking development come to ask me about my experience. Am I a new colleague this year , How long have you been working .
The manager laughed , say “ What about? ,xx cattle * Well ”. The development next door is really good , My manager added “xx It's our intern ”, The development next door was surprised and said “ I thought xx It's already been working ”.
I turned my back to them all the time , At that moment I leaned back on the chair , They can't see my grin . I love reading novels like programmer career records ,《 Crazy programmer 》 It reads like this “ A lot of times , We develop a project , Make a demand , Work overtime , Stay up late , Dry consumption , It's not to catch up with a project , Or after the task is completed, the leader will give him a sum of money , what's more , We enjoy overcoming all kinds of difficulties , What adults can't feel , This feeling is different from money ”.
It's a moment like this , Let me really find myself in the world of programs .
The story goes to this , It doesn't seem to have anything to do with Microsoft , Maybe some friends would like to see how to go to Microsoft , But I personally feel that there is nothing to be said here , At the same time, the matter itself is not so important .
In late January, I went back from Beijing to Hubei for the new year , In a few days we had an epidemic , In my hometown, I was isolated , There are also family members who are infected , It can be said that the whole February was spent in isolation . The pressure in the heart comes more from the concern for the health of relatives , By the middle of February , Things are getting better , Basically in the recovery period , It happened that someone in the school group announced the recruitment of Microsoft interns in spring , I sent out my resume .
From late February , I'm using my cell phone to turn on the hot spots in an isolated place , Holding the company's ThinkPad Started a new round of journey .
During the internship, a lot of development tasks are really hard to find time to do this kind of centralized review , My goal is very clear this time , The sword finger on the ox guest Offer and LeetCode148 All the questions are finished .
In fact, it has already been realized before 80%, But the rest 20% No doubt it's more troublesome , Interspersed with all kinds of DP Training for , As usual ,AC It's just that . When I'm tired, I'll sort out the projects in iqiyi and Baidu , Their needs are , Difficulties and results .
There is still a day to blow water in the group , Quarrel with people AVL Which is more difficult than the red and black trees , In order to prove that the red black tree is more difficult, I spent half a day to implement a usable AVL.
When I write, my heart is already very calm , I remember when I was just learning trees in college , I think this kind of code can only be backed up , And I can't recite it .
Up to now , This kind of thing just goes to see its idea , And then in the heart probably once again , When you encounter a problem, stop and think about it in detail . A data structure is nothing but ADT And the corresponding additions, deletions, modifications, etc , And then think about which pieces of code can be reused , Pulled out .
And then there are all kinds of borders and little case, The first night I saw two o'clock , Repeat the whole idea again . The next day I got up and finished breakfast from isolation point and began to write , Start directly in Notepad , And then fine tuned , Have my own case, It's done without any stumbling .
There are five questions in the interview of Microsoft , On the last side leader Said that my analysis of boundary conditions is in place , It's the most comprehensive and accurate of all the people she interviewed today , I think she gave me good news .
April of the same year , With the help of my younger martial brother , Once again, I had an interview with byte skipping , Three passes in the afternoon , I also received a letter of intent for byte skipping shortly after .
Frankly speaking , This period of my heart has no waves , Not particularly happy , No longer will there be a particular desire to pursue any company . First of all, I have been in several companies , The vision and freshness of a big company is not so attractive to me anymore , And I started to think , A programmer , His eyes should not be all on the pursuit of which company .
First of all , We serve our specific business and corresponding technology , The specific business is more worthy of discussion than the platform of the company .
second , The essence of pursuing the company is to hope for self-improvement , In this premise, we should focus on how to improve our own technical level , Because the company itself can not become a direction and route of efforts , It's just a result .
Last , It's another national day of the year , Or sitting in front of the computer . Close your eyes , Memories along the way, like floating light moving past in front of you .
The reason why I like to read other people's stories is , Thousands of words have actually written a long experience of this man , Ups and downs , The low tide in the story may be understated in a few lines , Readers like to see the feeling of going out of this low tide to see the sunshine again , In fact, for this person , This is exactly the most difficult and difficult part to experience .
We look at the people in the story , It seems that I will leave the bottom of this valley . To be honest , I have omitted all the sad things that should have been described in this story .
A lot of the negative aspects of the interview , Asked about the moment when he was speechless , Danling street SOHO The red light of Microsoft building , In winter, from Wangdong road in northwest to Haidian middle street in Wanquanhe road , Iqiyi went back from work at 10:30 and was still in bed holding the computer to watch the blog for an hour or two , The number of people in Xierqi is more than Integer.MAX_VALUE Subway station , One question for each question Bug I've been stuck all afternoon , The new outbreak in February fell on the family's panic , Concerns about family members in isolation , My hometown doesn't even have Wifi Mobile phone hot interview , Including the academic pressure that you need to withstand when you come out to practice .
I recorded the story , It's because I like 《 Crazy programmer 》 The shadow inside ,Boss most , I want to be a programmer like him , A obsession with code , Pure code programmers .
During my undergraduate course, I didn't finish some things I wanted to do , When I was a junior, Wuhan was a local state-owned enterprise lower than ZTE IT I think the company is very good , And today I have been to several large Internet companies internship , Take all over the head of the Internet Offer, Or go to Microsoft .
I didn't think about these things at that time , But I didn't even think that I would never get to this day . On the Zhongguancun Street where I came back late , I often think of a song 《 dedication 》, It's a movie [ Fast life ] The theme song of . A long way to go , Years are dedicated to seasons , What can I offer you . We often talk about dedication , But rarely do you really understand what dedication looks like .
Yeah , To this step , Be pure , It's more about the dedication that love brings , I'm not going to stick to something Boss, Or to which company , I'm obsessed with the program that I love , The industry I love .
Because of love , So I don't pay back , So I did a little bit more than myself , Because I love it. , So the memories are more of those moments of dedication and effort .
Looking back, I picked up two clothes and set foot in Beijing last year , Some interviewers will laugh when they hear about my experience , And then say whether it's a bit rash . There are also some interviewers who hang me up because of this character , But I've passed the stage where I'm in doubt about what others say . If you give me another chance to choose , Or give me a hundred more choices , The reply from iqiyi's phone call will also be YES.
Because young , There are infinite possibilities , Youth is unlimited .
There is a sentence on Ali's recruitment page :If not now, when? If not me, who? The official translation is “ At the moment , I am the only one ”, I think it almost means .
Time will not wait for me , if i can 't do it , who can .
2020 year 10 month 3 In Xi'an
At the end
The story is over , But the future that belongs to this teenager has just begun .
In fact, the best way to end the story is not how much he received offer, But he finally found out what the job meant to him , I found a career I really love . From this point alone , He's already made it .
And when he got the big factories that were once out of reach offer And then look back , Those in the dim when confused, but indomitable growth experience , Every second is shining .
I'm aobing , The more you know , The more you don't know , See you next time .
Articles are constantly updated , You can search through wechat 「 Three Prince Ao Bing 」 First time reading , reply 【 Information 】 I have the interview materials and resume template for the first-line large-scale factory , this paper GitHub https://github.com/JavaFamily Included , A complete interview site for a large factory , welcome Star.