2018 Background Development (C++) Summer Internship Interview Summary

Internship interviews, internal push-online application-written test-interview, etc. that started in March, the long and torturous process of finding an internship has finally come to an end. Without going overboard, I will share my interview experience here. First let me tell you the results of the interview

company Department Channels & Processes result
Ali Ali Cloud push-in, electric surface two-sided hanging
Tencent Tencent Cloud & TEG Pre-approval + formal approval, electrical + on-site interview offer
headlines Financial Server & Toutiao Main Terminal Department recruiting, video interview offer
Microsoft O365 Online application, written test + on-site interview offer
Morgan Stanley IT -- Online application, written test + electronic interview + on-site interview offer
Meituan Review Division push in one side hanging
China Merchants Bank Credit Card Center Backend development (java) Online application + written test + video one side hanging

  In general, there are setbacks and surprises. I have experienced various ups and downs in the middle. Fortunately, there is still a relatively good result in the end. The following is a summary of the successful experience and the lessons of failure from the two types of companies with successful interviews and failed interviews, and a summary of the interview styles of the interviewing companies.

Success

  The internship interview consists of three parts: basic computer knowledge + personal/laboratory projects + algorithm questions. For C++ background development positions, the basic knowledge to be familiar with includes: C++ knowledge (basic, object-oriented, memory model), operating system fundamentals, TCP/IP basics, network programming content (socket programming, IO model, etc.), Data structures (linked lists, stacks, queues, heaps, red-black trees, hash tables), etc. Some of these basic knowledge will be extended from the project as a starting point, and some will be specifically asked.
As for the algorithm part, after brushing the Leetcode Top 100 and Niuke.com's sword-pointing offer topics, it is basically enough to deal with the interview.

headlines

  Toutiao's interview was rough. At the beginning, I mistakenly submitted my resume to the internship recruitment section of the official website (the column of Toutiao's summer interns recruiting on campus ), and later received an interview invitation from the financial server, explaining my situation to both HR and the interviewer. Said no problem, then interviewed. The questions asked in the three rounds of interviews in addition to the basic basic knowledge and projects are probably:

  • Zigzag printing binary tree (sword refers to the original title of the offer)
  • The k-way merged ordered list (the previous time took too much, only the idea)
  • Simple implementation of an LRU (doubly linked list + hash table)

  After the interview, I found a friend to check the status, and it showed that the interview was passed, but HR did not come to contact the Offer for a long time. Call HR to ask if you can turn into a summer intern and answer that you need to communicate, and then call and ask yourself that you can only provide a daily intern position for 5 months, and 10,000 grass and mud horses are galloping past... more eggs The painful thing is that I did the formal written test, but I failed, but another classmate A in the lab had fewer questions than me but passed the written test...
  When I was disheartened, my brother chatted with the mentor on the main page of his headlines. In this case, his mentor said that their department did not have such strict requirements on time, and asked if they could re-initiate the interview. So, go to the interview again. The three-sided experience this time is obviously better than the previous one, whether it is the quality of the questions asked in the basic knowledge part and the atmosphere of the interview. The three rounds of interview questions are as follows

  • The regular character matching of the deformed version (? and *), the complexity of the violent version is wrong, but the code of the dynamic programming version is written
  • The big guy taught me the series of being a man, and asked in detail about various details in the project, especially for IO reuse, epoll, etc. The code part let me talk about the idea of ​​​​the maximum profit of a single trading of stocks, which is easy and enjoyable
  • The interviewers on the three sides are very nice, they should be the leaders of the department, and they speak and ask questions like a spring breeze. There is no particularly difficult problem, mainly to design an IM (a chat server written in a personal project) and the design of various modules.

  The interview process on Toutiao’s main terminal is very formal and efficient. After the interview in one day, the offer was issued within a few days. In the end, I reluctantly rejected the offer under my own various immature considerations. To be honest, I regret it. First of all, this department is very At the core, I am more interested in what I do in it. From the interview, it can be seen that the atmosphere of the whole team is also very good. Let’s meet again in autumn~
  Tips: Toutiao interviews must ask algorithm questions, so leetcode’s sword points to whether the offer should be brushed or brushed. Then I will also ask some basic knowledge, but generally speaking, it will not be difficult, and it will be more important.

Tencent

  Tencent's interview experience was equally dramatic. When I was approved in advance, my resume was picked up by SNG Tencent Cloud, and I asked about the basic knowledge of the project. There was nothing difficult, and I basically answered all of them. However, the interview time was a bit short, only 20 minutes. After waiting for the re-examination, the status in the official account suddenly became unsuitable for the position one day, and I was shocked. Then at noon that day, another phone call came to tell me that I forgot to change the status, and said that there would be an interview in the follow-up. Thank goodness, then wait. This time, I waited and waited. The status of the retest, inappropriate, and initial test in the official account changed back and forth. In short, I didn't receive the retest.
  Tencent must participate in the official written test if it does not receive an official offer on April 2. Until the day of April 2, the expected pre-approval examination did not come, and I was so panicked. After completing the written test, I received a phone interview with the director the next day, and asked if it was considered an early approval test, and the answer was. On the second day, the director of the re-examination interviewed in person. I don’t know why, but the water got a lot of water... This time, the interview was all about life... At the end of the interview, the interviewer said: "I don't have any questions here. I asked. Let me tell you how I feel after my interview with you.” The interview experience was generally that although I was not a professional, my interests were clear and my basic knowledge was relatively solid, but I lacked actual engineering experience. The team is a good fit for me. (Shocked...
  I asked HR and said that the interview passed, but my resume is now locked in the official approval, I don't have to face them, wait until the release and tell him to take it for approval. Be happy and prepare for the official interview That day, I told the on-site HR that I didn't want to meet, and I just released my resume. But on the day of the official interview, I was told that Tencent Cloud could not 100% confirm the offer. Do you want to join me for the official interview? up to you....
  After hesitating for a long time, I decided to bite the bullet and face the official approval again. The interviewer for the first test was a slightly fat uncle wearing a jacket. Yes, it's very TEG. Come up and ask about the new features of C++11, these things are naturally answered clearly, and the interviewer is also very satisfied. Some of the questions discussed later are not well answered, such as the basic principles of distribution, operating system-related issues (how does the process maintain open file descriptors), etc., but maybe I had a good time talking about C++ earlier, and I went out. Changed to retest. The next day I came to the re-examination to talk about the basic knowledge. After I became active, I was not nervous and began to talk freely. Let's read two questions about looking at the code and answer the running result, and then a simple programming question, and all of them are answered. Finally, we talked about life and told me that you can go directly to the top and wait for the HR interview. In the afternoon, the HR interview will normally talk about life and the future, nothing.
  A few days later, I made an official offer.
  Tips: I feel that Tencent's interview is the best of all... But whether you can enter is completely random, and the interviewer's style is quite different. However, in general, it is more inclined to basic knowledge and rarely does algorithm problems. Therefore, as long as the basic knowledge is relatively solid, and then it will take the initiative to extend it from point to point, generally it can pass.

Microsoft

  Microsoft has no internal push, honestly submit resumes and wait for the written test. Senior brother said that Microsoft's written test will be difficult, and I have been trembling for a long time. I didn't expect that the questions in the written test would be one piece of water... It's not that the question is too simple, but I just wrote a violent test and passed it. . The last four A's were three and a half, and I successfully entered the interview.
  On April 23, I went to Suzhou to participate in the interview officially approved by Microsoft. The environment is quite good, and it can be regarded as another wave of faith. Microsoft interviews are divided into three batches a day. I was in the batch at 11:00 noon. First, I was taken to a conference room to wait for the interview, and then interviewers would come to the door one by one to lead people to the interview.
  On the one hand, I was a foreign little brother, who was very nice, and kept telling me to relax and not be nervous, and considering my speaking level, the speed of speech was very slow. It is a warm-up question, asking how to judge whether two strings are Anagram (the same characters but different order), and immediately wrote a method to simulate a hash table with an array. The second question is the question that holds the most water in the array, the original question of Leetcode. Although I did it before, I couldn't remember the idea for a while, and then I kept discussing with the interviewer, talking about my understanding of the topic, the method of violence, and the initial thinking direction. The interviewer also gave me a lot of hints, and finally came up with a two-pointer solution and implemented it on A4 paper.
  I ate a lunch box at noon, and then started two sides at one o'clock. After introducing myself, the interviewer asked me to answer some questions in English, such as the difference between GET and POST in HTTP. Then start writing questions. The first warm-up question is very simple, to determine whether a string has repeated elements, easy. Then the second question says to give me an iterator and a number k, the iterator has only one interface next, now let me put the following k Elements are removed, leaving only the previous ones. First, I talked about a violent method. After all the traversals are completed, the previous nk ones are returned. The interviewer was not particularly satisfied and wanted me to optimize the space, but I didn't come up with it, which was very uncomfortable. In fact, I thought that maybe the interviewer just wanted me to use a double-ended queue deque. Finally, I did another question and gave me a BST and a number n to find the closest node to n in this BST. Said the idea of ​​recursion and implemented it, explained the code line by line, and said to change the recursive code to a non-recursive implementation.
  Not long after returning to the conference room, he was led to three sides by a kind uncle. The level of face-to-face correspondence is not low, but the person is very nice, like a spring breeze, and the tone is very sincere and lovely. When I introduced the laboratory project in English, I was very nervous and stuttered, but he still listened with a smile, and kept reassuring me not to worry. Warm down and slowly enter the state. He asked me what the interviewer in front of me had asked me to write. After he finished speaking, he pondered for a while and wrote a two-dimensional array on the blackboard. My God, this is not just a search in a two-dimensional array, and he pointed at the offer. first question. He pretended to be indulging and told him the idea of ​​starting from the upper right corner, thinking that he should be sure of everything. But I didn't expect that the uncle was obviously not very satisfied, so he kept communicating and guiding, and finally thought of solving this problem with a dichotomous idea. After talking about the idea, he expressed his satisfaction, and left me in the room to realize the idea on the whiteboard, and he went out on business. In fact, this code is not difficult to write as long as you have an idea, and it is written neatly. The uncle is very strong. After coming back, he looked at the code line by line, and soon found a place for further optimization. After admiring it, he immediately optimized it.
  After the interview, HR said that I passed the interview, and asked the interviewer for evaluation, and the feedback was very good. A week later, I received an offer confirmation letter.
  Tips: Algorithm questions are the bulk of Microsoft and even foreign companies, and the same questions are still necessary. However, the interview style of foreign companies is more inclined to understand the candidate's problem-solving ideas, and the standard of measurement is "I am comfortable with you as a colleague", so it pays special attention to communication. Therefore, during the whole interview process, I always remind myself not to panic. If you have ideas, you must explain them before and after; if you have no ideas, first explain your understanding of the topic and give your own thinking direction. Finally, because the code is written on the whiteboard, it is necessary to ensure good programming habits when writing code.

Morgan IT

I have always heard that Morgan IT had a formal interview in Pudong, and it was too high. I wanted to experience the sugar-coated cannonball of capitalism, so I submitted my resume. The resume screening was quickly passed, and a link to the written test was given shortly after, to be completed by March 18. Written test questions can choose a set of questions in C++ and java, the questions are very...emmm... I don't even know how I passed the written test... I
  received a telegram shortly after the written test. The whole course is in English, and I feel that the questions are all quick questions and quick answers. From C++, operating systems, networks to databases, basically all are the simplest concept questions, such as what's the difference between TCP & UDP? Basically, they are all quick answers. But for some issues such as smart pointer I also made a proper extension.
  After receiving the invitation from the AC side of the scene, it is recommended to dress formally. I went straight to Shanghai after participating in the Microsoft interview in Suzhou. The night before, I borrowed an iron 2333 from the front desk. I arrived at the scene the next day, which is really a bit higher than the Internet company...
  AC face needs Do a 30-minute written test first, the questions are pure English, class design + two programming questions based on the previous design. The subject is not difficult and can be written quickly. Afterwards, an interviewer will lead people to a specific room, and two interviewers will sit on the left and the right of Orz for each round of interviews. The question on the one hand is to review the code written in the written test questions just now, and explain in detail the design of such a class. The reason and the core of the two algorithm problems. Also briefly asked some basics. The whole process is in English, but it will not be difficult. The big deal is pardon.
  After waiting in the interview room for a while, we welcomed two big bosses. I chatted about life first, then I said something cheesy about Chen Shuo, and then the two interviewers laughed and said, "He worked in my team..." I was shocked... The interview questions that followed were based on how you designed them. An XX is an entry point, and a lot of relevant knowledge is said in a point-to-point manner, and then it is realized. I didn't answer very well, and I felt that my thinking was not very clear. After the interview, I just felt that I was going to hang up... But I didn't expect to send an offer two days later...
  Tips: Morgan's interviews are all in English, so it is very important to prepare some professional terms in English in advance. You can try to say it in English on the summary of the basic knowledge of Chinese that you have done, and then write down the corresponding translations of the relevant professional terms. Although they are all in English, it is enough to say it boldly. Everyone is Chinese and can always understand each other. In addition, a lot of C++ object-oriented knowledge is involved in the written test questions, which should be reviewed with emphasis.

Failed

I summarized the companies that failed the interview. There are two main reasons for the failure. One is that some knowledge is not proficient enough and needs to be supplemented or strengthened; Let's go together, and we can keep our distance from these in the future.

Ali

Ali's intern recruitment started early. I found a senior brother of Alibaba Cloud from BBS, who is a database team. I received a phone interview within two days. The interviewer started to ask questions according to the resume. Each skill has related questions. A week later, I called and said the second time. This time, the difficulty of the questions has increased significantly. The basic parts that have been asked in the last interview were not mentioned at all. Every question is to the point, and it is relatively deep. But I was really careless at that time, and many questions that should have been answered were not answered, such as the realization of locks? Detailed implementation of signals? Switching of TCP states? What does Time-Wait do?
Although I knew I was going to hang up after this interview, I was still very happy. Fortunately, this interview allowed me to sort out a lot of questions more systematically, and the follow-up interviews with other companies were much easier.
Later, another phone call came to say that there was no movement in the previous internal push process. He was a computing platform and could re-interview. Of course, it means yes, but the interview is still confusing, and it is still the familiar Ali taste. I have to keep asking every question until I can't. Then I also wrote two questions, binary tree non-recursive post-order traversal and circular queue, I think I have written them all, but maybe the depth of the previous basic knowledge is not enough, so the result is naturally no more.
  Lesson: Ali attaches great importance to basic knowledge, so all operating system and TCP related content for background development must be in-depth and in-depth. Then you also need to learn to show yourself, because the questions asked by Ali's interviewer will be very deep at the end, and you need to learn to extend, and then tell a lot of knowledge points by yourself, showing the breadth of knowledge. But the premise of all of this is that, for all the extended parts, at least one can say one, two, three. Come on, let's fight again in autumn!

Meituan & Card Center

Both companies are Java backend developers, so when I heard about my skill stack, I expressed little interest and really couldn't talk. Face to face, there is a feeling that there is nothing to say, and everyone is embarrassed to each other. Java is not at all, and they are more concerned with business, so they are more focused on HTTP, existing back-end frameworks and their performance, databases and other related content, but sorry, this part of the content is not grasped by me.
  Lesson: Don't apply for positions that are very different from your own skill stack!

write at the end

No matter how rough it is, the internship is finished. Afterwards, study hard and summarize well, and strive for better results in the autumn recruitment. In addition, there are some companies that did not get interviews and expressed their anger, such as Baidu, NetEase Games, NetEase and so on...

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325187306&siteId=291194637
Recommended