Tencent lost its job after working for 7 years. After 2 months of counter attack, the interview turned around and won the IOS post


1、 Be laid off

For 7 years, I lost my job in Tencent for 7 years. Although there was some ventilation first, I didn’t expect that this day would come so soon. At noon today, we received news that our group was going to be cut off because the company was going to be dissolved. First, we were attacked, that is, laid off. In the afternoon, we talked about compensation and other related matters, and then prepared to hand over the work. We were busy all afternoon. I experienced the dissolution of the company for the first time in my life. It was a wonderful experience. I thought I would fire the boss. Unexpectedly, the boss fired me first.

2、 The East is not bright, the west is bright

Through internal push, I got the opportunity to interview byte beat. You should be familiar with byte beat, but introduce it more. The tiktok creation tool tiktok is mainly responsible for the whole process of shooting, editing and publishing in the voice, and is one of the core businesses in app. Not long ago, the optimized Department opened office in Hangzhou, so I passed it with a try!

Job description

1. Responsible for the development of camera, video and picture editing related application products and experience optimization;
2. Responsible for the development and architecture design of basic components of multimedia related applications;
3. Be responsible for the key and difficult technical tasks of the project, and precipitate relevant platforms and components;
4. Continuously optimize products, improve product quality, and establish technical barriers between competitive products.

Job requirements:

1. Bachelor degree or above, major in computer related;
2. At least 3 years of IOS native development experience;
3. Proficient in Objective-C, proficient in cross platform development using C / C + +, familiar with swift;
4. Familiar with IOS system operation mechanism and kernel, familiar with mobile terminal characteristics and solutions;
5. Excellent coding habits, good understanding of common coding skills such as design patterns. Familiar with network programming and database;

3、 Counter attack process (the answers have been sorted out【Tencent documents】(LI)

One side (~ 45min)
  1. Introduce the project and describe the work content and feelings of the internship (~ 10min)

  2. What is a memory leak? What are the scenarios of memory leaks in IOS and why?

  3. What is the difference between MVC and MVVM? What is the difference between MVVM and MVP?

  4. Do you understand several object-oriented design principles? It’s best to combine it with the scene.

  5. Can you say a few refactoring techniques? When do you think refactoring is appropriate?

  6. What do you think is the difference between framework and design pattern?

One side is relatively short, and the questions asked are also good. The second side will start in about 30 minutes

Two sides (~ 1h30min)
  1. self-introduction

  2. Introduce the project, why do you want to do IOS development? (~5min)

  3. What is the difference between a linked list and an array? What are the time complexity of insertion and query?

  4. How is the hash table implemented? How to resolve address conflicts?

  5. Attribute keywords assign, retain, weak, copy

  6. KVO underlying implementation principle? Manually trigger KVO? How does swift implement KVO?

  7. Do you understand static links? What is the difference between static library and dynamic library?

  8. Which function in the project can best reflect its technical strength? To be specific

  9. Do you know about the hash algorithm, where the hash algorithm is used in IOS, and how to solve the hash conflict

  10. Interviewer: anything to ask?

The number of two-sided questions is very large, focusing on work, projects and algorithms, but there are no particularly difficult questions to answer. Most of them can be answered if they are carefully prepared. The interviewer was also very friendly and gave a lot of guidance and tips.

Because of the time problem of the three interviewers, I made an appointment with three interviewers in two days

Third, telephone interview
  1. self-introduction

  2. Introduce the work done before. Did you complete it yourself? What difficulties did you encounter and what results did you achieve

  3. Which function in the project can best reflect its technical strength? To be specific

  4. What are the common crashes, how to find and solve the crash problem, and how to deal with the unsigned crash

  5. How to reasonably update the database cache when the database read-write is safe and the table structure changes

  6. What are the design patterns and how are they reflected in the project

  7. Besides OC, do you learn any other languages? How do you learn them

  8. Why did you leave? Why did you leave

  9. Where are you from and why do you want to work in Shanghai?

There are not many three-sided questions, but because most questions have no standard answers, the difficulty is actually higher than one or two

4、 Study notes and interview communication are indispensable
Interview notes:

For the above interview technical points, I also do some information here, hoping to better help you. Need a little partner,Click here to see the whole content.