Finally waiting for Tencent's interview .
4.3 Number Machine test
Machine test includes selection （30 many ）, Brief answer （2 topic ）, programming （2）. One hour for selection and one hour for short answer programming , A wide range of multiple choice tests , probability ,Linux , operating system , Network and other aspects ,
Self feeling is deeper and more difficult than Niuke's , It's not a question of knowing the result at a glance , And they're all multiple choice questions （ It's a bit of a hole ）,
From the whole interview , Tencent pays attention to breadth and depth in both written examination and interview , That is, technical strength .
receive 13 Notice of interview No , The location is arranged in a star hotel , Very high force , Contract a banquet hall , The interviewer is in a room on a different floor , Standard room .
Tencent's interviewers don't give me the impression of technocrats , Fashion , Non standard engineering male image , Because I was the first interview , It may take a long time , For an hour .
After entering the door , The interviewer scans the resume as a whole , Then start the interview , First from c＋＋ Language characteristics ,
You're right c＋＋ How to understand the linguistic characteristics of ,balaba a pile ,
What is the use of polymorphism ? Has polymorphism been used ,
How to realize polymorphism ?
How to realize virtual function ?
Five questions: how many virtual function pointers are there ?
Six questions about the existence of virtual function table ?
7. Have you ever encountered a failure of a virtual function program ? Why is it down ?
Eight questions memset What happens when class objects are initialized ?
How to debug a program ? Have you ever used it core File debugging procedure ?
Ten questions: what causes program downtime ?
Eleven questions for large procedures , Running , And cannot stop error detection , There is a logic error , Run tens of thousands of times, and it will reappear once , How to find out the logic error ?
12. What are the principles of design pattern ?
13. Network communication TCP UDP How to choose ?
Fourteen questions TCP How to deal with sticking package ? Do you have any sticking phenomenon in your own use ?
How to divide threads in multithreaded programming ?
Sixteen questions about the differences between network programming models
17. How to learn ? What books have you read ? How to learn ?
18. What forums do you usually visit ?
19 ask for the handwritten code on site
Twenty questions of logical reasoning .
Overall interview , I think the interviewers are very skilled （ The interviewer is very young ）, Some things will not necessarily come up , No, it's impossible , The depth and breadth of knowledge are equally important .
One point to emphasize here is , At that time, interview design mode asked Richter's replacement principle , My answer is correct , But did the interviewer suddenly say the opposite ? At that time, the environmental instinct would surely agree that he was right , Interviewer laughs away ,
But when I came out , Prove me right , I realized that I was asking questions on purpose , Test my solidity .
Or a hole dug by myself , The thing that finally buried me was , in order to ” emphasize ” Self study ability , I'm not from a professional school , And then the interviewer got hold of it , It's just two years of programming ?
First try for an hour , I think the basic knowledge I answered is pretty good , But it involves linux Lack of experience in debugging large-scale programs of the system , Special last work , It should not be related to the retest , but 13 On the evening of ,
thus , Already satisfied , I feel like I've earned it , The second interview is still the original Hotel , It's just that the numbers are significantly smaller , Changed to a small banquet hall . Because many students will be asked about the project in the first test , And I didn't ask about the project in my first attempt , Talk about the project many times ,
They're all pulled back by the interviewer , So I prepared the project experience very well the day before , however ,,, the fact is ：
Come to the interviewer's room , And a young looking interviewer , But I can feel the strong smell of technology , After sitting down , Submit resume ( In fact, he has all the materials for the first interview , Including my resume ), First, it's the foundation ,
( Here's the point ) What is polymorphism ? Where does virtual function table exist ?( Is it familiar ? Yes , Questions that were not answered correctly at the beginning of the test , I was asked again , Actually, I'm a little guilty , I didn't summarize this problem after I went back , So long dessert )
Last time the answer was wrong , Well, let's analyze it briefly and change the answer , The proof is right , Then I asked , There are several virtual function tables in memory ? How is it distributed ? Muddled and forced to recover , Two questions , Client sends to server continuously 10 Bags , Each package 100 byte ,
Server side read once , How many bytes are read ? Why? ? This question is also a practical example of the fourteenth question of the preliminary examination . And then there's the bad news , Three logical questions ,( I can't keep up with you ), Card games ( Later, I learned from the next interview , Interview my interviewer is a game developer , That is to say, I should be assigned to Tencent game )
A,B Two players
A,B All the cards 3 4 5 66 77 88
The rule is The rules are the same , however You can't split a pair ,A First out , What strategies can guarantee A Wynn ? Give strategy .
Game theory ? Markov chain ? Ten thousand guesses in my heart , The interviewer is very patient , It's a logical question , Tips A The behavior of B Produce corresponding behavior ? and B The behavior of A Win or lose ? It turned out that I didn't push it out for 20 minutes , Now think about the Markov chain , But I still don't know what the answer is ?
To be honest, I'm a little nervous at the moment , The interviewer consoled , irrespective , Few people can come up with an answer . Four questions , Source code !!! Source code !!! Then the interviewer handed me the laptop , Show a piece of code , Unused computer , Never used IDE, Teach me a few simple operations ,
And then say , This is a complete project ( This sentence has two meanings ： One , This project document is complete , Can compile and run , The second is
The amount of code is really huge ), Here is the main function , You read the source code , And tell as much information as you can .
And then there's a silence , The interviewer is sitting by and looking at you , And you're looking at the source code , From time to time, I need to pay attention to the interviewer's behavior , Add a question that I didn't answer , But how much pressure was there , After 20 minutes ,
Simply report your results , The function realized should be the function of game changing scene , Among them are various integrations , Singleton mode , Command mode , Observer mode , Class template , inherit , polymorphic , Function pointer
Nested use . Let's continue to ask , Refers to a statement ,( Function pointer calls function ), Ask where this function will eventually execute ?
The interviewer didn't give a clear right or wrong answer to the previous question , There is no bottom in my heart , And then the question has become selfless ( There's no logic in the head ), And then we go down step by step , Finally, the dead end is to enter the class template , This kind of template inherits from a class ,
And then it can't go on , The interviewer is very good , In this process, I have been very patient to give tips and guidance , Give a prompt to find an implementation of this class template and find the result , Again, all the source codes are in this project ( This tip is important , But I didn't realize it ), It's been like this for a long time , To die without illness ,
The interview lasted about an hour 20 minute , End of interview , If you know your interview performance, it's not going to work , Let the interviewer give a comment , Very pertinent , Good foundation, very solid , But the ability to read code is very poor , Especially complex code does not have a complete idea , Need to be strengthened . Finally, thank you for your guidance , leave .
I didn't find the key to the problem until I came out , The interviewer reminded me again and again that it was a complete project , That is to say, you can compile, run and debug , In fact, the easiest way was to set breakpoints , Step by step , It's sure to find out where the program runs , That's a lesson .
1. The failure of the interview is the lack of strength , Usually reading too little code , In fact, the interviewer has done a lot of guidance .
2. Poor psychological quality , It's easy to panic when you meet a problem you won't , After all, I value this interview too much , Interview others XX Company time , Go with a completely learning attitude , On the contrary, they did well , So we should have a correct attitude .
3. Prepare corresponding skills for the interview position , A suggestion from an interviewer , The newspaper background must be multithreaded ,linux, Network programming .
4. The foundation must be solid , thorough , Know what it is know what it is .
5. Atypical Internet companies focus on your business capabilities , That is to say, you should pay attention to the realization of the whole system , Don't value your particular depth in a particular technology , As long as you can use it , And we know the fundamentals ; Internet companies value your technical depth , Because in a big system, everyone is a screw , Do your own proficient work .
thus , Stop . Loss , But not sad . Even if it's smoke , I will march on .