How I Prepared for a Technical Interview

The offers from well-known companies currently obtained are Tencent and Xinmei University (Dianping, Meituan). I have always wanted to write an interview to share with you, but because of some trivial things, I have been delayed.

Deliberately set aside some time today to write about it. Many people have shared a lot of face-to-face experience, and there are many interview questions that have relevant information in many communities. Many interview questions also have relevant analysis, but just brushing these interview questions may not necessarily find your favorite job. Below is a brief introduction to how I prepared for the interview.

Some of the interviews I have experienced
​Because
I was a junior, I started looking for a job in March this year, and I didn’t know what to do at first, so I simply wrote a resume, which included some of my related learning experiences. At the very beginning, I chose some small companies that I thought I could, and got some interview opportunities. The first interview was very nervous, I didn’t know what to say to the interviewer, I didn’t know how to introduce myself, and I didn’t know what to do. , is asked in a silly way, as you think, I can't answer all the questions well, because basically the interviewer asks whatever comes to mind (he may have prepared questions, but I Really feel like my first interview was when he asked whatever came to his mind). After the
interview
After going through this a few times, I found that I was not so nervous anymore, and I began to take the initiative and lead the interviewer. So, recalling it now, it is possible to gain a lot of experience by being more multi-faceted. Whether it's the improvement of your ability to express, the interviewers I have experienced are very good, you may be very nervous at first, but then it feels like chatting, two like-minded people chatting about the same topic, from the process of chatting There are also many things that I didn't know.
​New
American University Interview
Experience
The interviewer at the US University must give a compliment. In fact, after the interview, you will find that you should not be very nervous. The interviewers at the US University are very easy-going and don’t talk about specific interview questions. Basically, they still pay attention to the basics when they are on one side, and then they talk about some experience in the last 20 minutes or so. I talked about some basics, and then I talked about the dynamic caching scheme of pictures in my project. I have been talking about this, and finally I mentioned the componentized development scheme. We finally talked about this topic all the time. It was over as soon as I finally received the notice. ​When
the second
Is it very standardized, comments, and the naming of some variables, are these very standardized. The other is to see everyone's processing ability. In fact, the questions given to you are not difficult, they are all simple and basic things, and they will not tell you to write a very troublesome layout on the spot with awesome special effects.
​This
interview took about an hour, and in the last part of the time, we talked about a lot of things in life. For example, what do you want to learn when you come to American University? What aspect of technology are you interested in? That's all, just talk about whatever you like. The overall two rounds of interviews still learned a lot. After all, I don’t know what the outside companies are like now at school. Through the interviewers, I can still learn a lot about the outside world.
​Tencent
's interview experience
​Tencent
's interview is that he went through Tencent's written test, then one, two, and finally HR interviews, and then waited for news, and finally got an offer. The written test is basically some basic knowledge, such as data structures, computer composition principles, operating systems, and computer networks. Listen carefully in class, and it is not a big problem to brush some questions before the written test.

On the Tencent side, I mainly talked about some basics. I went to the mobile client, but there were very few mobile-related questions in the entire interview. I mainly talked about some basics. If you want to get an offer from Tencent, I think the foundation is very important. In terms of interview questions, I don’t think this is really worth mentioning, because these topics are not fixed, and the interviewer is mainly talking with you around your resume. In your resume, it is written that your APP has been downloaded. , then the network must ask, what? I think both TCP and HTTP are worth asking. There is a book called "Programmer's Self-cultivation". I think this book still needs to be read when I have time. I have seen a lot of people complaining that I was interviewing for iOS, and the interviewer turned out to be an Android one. From my personal point of view, both iOS and Android still have many similarities in many design ideas. of. Just say what you think. I personally think that thinking is still very important.
​Tencent
's second side gave me the biggest impression is that the interviewer said a sentence, pick a project that you think is OK, and then we talk about something. From this sentence, I feel that many people can feel it. The second side is mainly to talk about you, and there must be a project. And get ready for it. There is also no specific problem, everyone's project is different, and the implementation plan cannot be exactly the same. So it's impossible to talk about the same thing. On the other hand, there is too much experience, and the main thing is to prepare a project seriously. ​Preparing for the
interview ​This is what I want to talk to you about the most, because it is necessary to share about the preparation before the interview, or what to prepare for. ​Many people don’t know what to say during an interview. Similarly, many people say that they should lead the interviewer and not be led by the interviewer. But how to do it? Don't we let the interviewer speak? Are we giving the interviewer questions? It's all unrealistic, right? But with some preparation, it is still possible to let us "prescribe a topic" for the interviewer. How to do it? Give some simple examples






For example: if you write in your resume that you have some knowledge about Socket, then you will naturally talk about TCP. You can prepare well in advance, and you can predict it yourself. When the interviewer asks and hears about your Socket, Naturally, it will go to TCP. How to prepare? Many people have checked online, and the classic TCP is the three-way handshake for connection and the four-way wave when disconnected. You also briefly checked what a three-way handshake looks like and what a four-way wave looks like, but is that enough? Why don't we go deeper and prepare for it? For example, why is the connection three times, and why is the disconnection four times? What happens if you connect twice? A total of three packets are sent in the three-way handshake, so is it just three functions? More deeply, it may involve the header structure of TCP, as well as the TCP connection. What are the valid values ​​of SYN, FIN, and ACK when disconnected? I'm sure you'll get extra points for saying it all. Of course, if you want to say it well, it does not mean that you can check it before the interview. It must be understood. This is also the preparation before the interview. Don't interview for the interview, but study and improve yourself for the interview.
​I
can give another simple example. Regarding image caching, there are many dynamic image caching solutions in iOS and Android. If you write in your brief that you have done related operations, I think this is still worth asking. Knowing that you will be asked, you must prepare well before the interview. In the process of preparation, I think it is necessary to summarize the advantages and disadvantages of my own solution, what are you going to do for your shortcomings, or how you can solve some well-known open source libraries that you know, you have What can you learn from, so I feel that you must be given extra points, at least you have read the open source library and thought about it seriously.

I've seen someone ask how to do image caching, and he simply said to download the image from the URL and save it for use. There are many things in this topic that are worth talking about. Just saying this, I don't think the interviewer can get the answer he wants. If he doesn't get the answer, he must ask you next. At this time, you will be obviously very passive, and the next step is to be led away by the interviewer. Someone will ask what is there to talk about?
​Let me
give some simple examples. For example, the caching scheme of pictures must involve the download of pictures. Since it is a download, how do you do the callback of the download progress information? What if the download fails? How to do the callback of the download completion? The download must involve multi-threaded download, so how do you manage these threads? What is the structure of the thread manager? Even a URL download connection is being downloaded, and another place initiates a download of the same URL. In this case, I think that in order to save resources, a new thread should not be opened to download, so have you dealt with this situation? How? In fact, there are a lot of questions worth considering and worth talking about. Do the cache, what are you doing is the disk cache? Or memory cache? Or both? Whether it supports the setting of disk space size, how to set the validity period of pictures, and cleanup of pictures, I believe that those well-known open source libraries in iOS or Android cannot simply have a cleanup solution, and must support partial cleanup, or What is the basis for cleaning up all and part of it? For example, according to the validity period of the picture to clean up, after the validity period we set, we need to clean up this part of the content. In addition, if the total size of all cached files exceeds this size, those premature files will be removed recursively in half each time in the reverse order of the last modification time of the files, until the actual size of the cache is less than the maximum usage we set. space. There are a lot of things worth talking about. Of course, as long as you comprehend and understand more deeply, you will understand more deeply and express better.

I think it's easy to talk about the things just mentioned for 20 minutes, because there are too many things and things worth noting in this. Prepare a project, find a bright spot in your project, and then summarize it carefully, and look at some other people's solutions to see what you don't have. In my opinion, defects are still very important. There is no perfect solution. A good solution is only for meeting all the current business needs. According to your business needs, talk about your design concept. There are not many projects, just sum up one seriously. The key is that a lot of people have done a lot of projects, but they haven't seriously understood and summarized one. It's no use to do it, it's just that the code proficiency has increased.
​Later
Talk
​Don’t
interview for the sake of interviewing, but study for the sake of improvement. If you improve, you will be able to face interviews with well-known companies calmly. (Source: Lastdays)

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326890253&siteId=291194637
Recommended