One year of iOS work experience, how to win offers from Baidu, Meituan, Kuaishou, etc. in one fell swoop (with interview questions)

Let me briefly talk about my recent interview experience. There are many companies I interviewed, and most of them can get satisfactory results in the end. I recorded these experiences. I have interviewed so many companies, and if I don’t leave anything, it would be a waste. For me, this is also a self-examination. I will summarize my experience in this interview and recognize myself. At the same time, I hope these will help you who are about to change jobs or plan to look at other opportunities.

Follow the author's other articles, and you can find the Great God Communication Headquarters (actually, as a developer, it is very important to have a learning atmosphere and a communication circle. Whether you are a novice or a Daniel, you are welcome to settle in, and let's communicate and learn together)

The following part has specific interview experience, as well as some of my own summary interview skills and some of my own feelings.

Why leave Xiaomi?

The main reasons for leaving Xiaomi are: my career plan does not match the plan given to me by Xiaomi, and the process is too cumbersome, and I have some discomfort, so I chose to leave Xiaomi. I am very grateful to Mr. Zhou (direct leader) and Bingbing (master), who gave me a lot of help in this year of Xiaomi. When I communicated with the leader about the idea of ​​leaving, the leader talked to me a lot, and finally I still made up my mind to leave Xiaomi. The leaders suggested that I go to interview some companies first, and then leave when I find a suitable one. If I resign naked, there will be some problems in my mentality. Such leaders really have nothing to say. Many leaders at Xiaomi will not let me go. People, many of them dragged the employee's next family before letting them go. Achievements this year:

1. The performance of the second prize to positive is A

2. Year-end performance A+, get a rising star

Prepare

In fact, I started to prepare very early, and it is not exactly preparation, but I have been summarizing the knowledge related to iOS, because although I work in Huawei sometimes, I still have a lot of time to learn something I am interested in. direction. After returning from the New Year, I have planned to review and summarize some knowledge.

The books that I have read, here is not a general reading, but a detailed understanding of most of the content, and the popular point is that you can interpret the corresponding knowledge in your own words.

Android Development Art Exploration" (this book is really good, I have read it 4 or 5 times), "iOS Heroes" (closer to development and use, because I have done some application development, it is relatively simple to read, read 2 70% of the algorithms encountered in the interview can find the corresponding questions, and it is enough to ensure that all the questions can be written by hand). After 4 months of intensive reading of the above books, and others are simple to understand, I will not list them here. After reading these books, you should be able to take you to a higher level (Mom no longer has to worry about my interview...).

Brush questions, mainly LeetCode (about 300 questions, 3-6 questions a day, stick to it, you need to review more, because many questions will be forgotten after a period of time), and I have read some Niuko.com.

Look at other people's interview experience, mainly on the Internet, here I list two better ones.

1. Collection of iOS client interview questions

2. Collection of iOS Ali interview questions

Submit your resume

A good resume is very necessary, you need to highlight your key points and highlights, you can refer to how to write a resume

CodeKK says resume

With a good resume, the next step is to submit the resume. Generally, it is: pull hook + BOSS direct employment + internal push. From my interview opportunity this time, the ratio of the three is 2:2:1. It may also be that my work experience is not enough. In less than a year, DiDi, Ali and Tencent have directly brushed my resume, but the internal promotion is also specific to a certain department. For your own HR, you can post more on the slider and boss. What if other departments take a fancy to you?

Interview experience

Here I only record some questions I have asked (that I can remember), and I will not write down the answers. Basically, the corresponding answers can be found on the Internet.

one side

1. Some optimization schemes for iOS

2. What is the most commonly used version control tool? Can you briefly explain the principle?

3. UNIX common commands

4. The importance of c language in iOS development

5. The role of source code management tools

two sides

The second interviewer was Eva? Anyway, it should not be iOS, and there are not many questions about iOS related knowledge, most of which are on the project.

Multithreading safety of atomic

Talk about the project, what are you doing?

nonatomic in an environment that manages its own memory

Three sides

It should be Eva, mainly to understand some personal circumstances and some projects, and finally asked the expected salary, and then gave the offer on the spot.

After all, I haven’t had an interview for more than a year. The first interview gave me a lot of confidence, and I know how much salary I can get now. So when the big guys are going to change jobs, it’s best to meet a few small companies first. Companies, these are still very good companies, the overall office environment is very good, and they are now in a state of profit, and they are also ranked in the top of educational apps.

quick worker

Kuaishou is not far from the exit of Wudaokou subway station. You can see a very conspicuous LOGO, which looks domineering, but when I entered the front desk of Kuaishou, there was not even a sign. I thought I was walking into a fake. Kuaishou, well, I'm here for an interview, none of these matters. The reception staff then led me into a cabin and waited for the interview to start.

one side

The interviewer is a very fashionable person who came from the core department of Xiaomi and is the leader of the iOS team.

I asked some questions about the database, SQLite related operations, no way, I am the only iOS-related project in Huawei, but I am not very good at database. Network-related issues, the five-layer model of the network, TCP and TIP, and iOS-related long-term connections, are asked more deeply here.

 Begin iOS-related knowledge, the life cycle of the visual controller (the life cycle of the view), and the memory emergency handling (manually release the memory and member variables of the invisible view)

The first side is considered to pass the border and wait for the second side.

two sides

I asked project-related questions. This part is based on my own project experience. Since everyone's experience is different, I won't go into details here.

 Set a scene, how to implement the corresponding function, because the Kuaishou department wants to do social networking, so here is how to implement the WeChat contact page (including what kind of interaction with the server)

And finally an algorithm to write out the subsequence of all arrays

The second interviewer was Eva from this group. He told me about the current development of this group and the current situation of Kuaishou. Since Kuaishou has grown rapidly, we cannot just rely on one APP, but also need to make some attempts in other aspects, and this The task of the group is to make some attempts in some aspects, which is probably like this.

 The second interview was also successfully passed, and the HR interview was next. It was exactly 12 o'clock. They were going to eat, but Kuaishou provided lunch and dinner. The first interviewer brought me a meal, which was not bad. Later HR told me that now is only a transition period, and later lunch and dinner will be changed to a buffet.

Three sides

HR came up very kindly and asked me about the interview situation, whether it was difficult or not, and then chatted about my university and graduate students. I just wanted to say that I was "too simple, too naive". After getting to know me, only Talk to me about my deficiencies in order to drive down my desired salary. I talked about salary expectations, added WeChat, and asked me to go back and wait, saying that it would take about 2 weeks to send an offer, because I need to go through various approval processes, so I don’t need to worry.

 Kuaishou is a very young company, and its technology still needs a certain amount of accumulation. I hope it will not be short-lived like Xiaokaxiu.

Meituan takeaway

 one side

1. Ask about the items written on the resume, and then start asking about knowledge points.

 2. Volley's source code has been discussed for a long time in the image caching section. The caching mechanism in http,

 3. The life cycle of the vision controller

4. Database

5. Multithreading (NSTread, NSOPeration, GCDA+block)

 6. The difference between http protocol get post

7. Some solutions for mobile phone adaptation

 8. Precautions for real machine debugging and project launch

9. Can static methods be overridden?

We talked about this for about an hour and a half, and I was a little nervous at the beginning, but it got better after we talked slowly. The interviewer's speech rate is a bit fast, and the interviewer always needs to repeat it. I also changed the speech rate inadvertently. It's almost time, but it can be seen that the interviewer is still very powerful.

two sides

The reason for 2 handshakes and 3 waves, and why you need to do it.

 1. What do id and nill stand for (the difference between nill and NULL)

 2. What happens when a message is sent to a nill object?

 3. Difference between process and thread

4. Write an implementation of the NSString class

 5. Synchronous and asynchronous in http

 I talked about some things I did on the project, and asked about career planning. Since the second interviewer is not an iOS, the person who was interviewing me went to a temporary meeting, so this round of interviews did not ask much about iOS related knowledge, but the second interviewer Always smiling, so this round was lighthearted, more like discussing issues together.

It was already 4:30 pm after the interview. Since the day of the interview was Friday, and there were more meetings in Meituan on Friday, I waited for a while. The interviewer on the second side said that the interviewer on the third side was in a meeting, and the interview was scheduled for another time. I still say this time. After one interview, I waited for 2 and a half hours. During this time, HR told me that the interviewer on the three interviews was a big cow.

Three sides

I think iOS has done a few things well, and then I asked more in-depth questions based on what I said.

 1. How does iOS manage resources?

 2. Several important features of Python

3. The five-layer network structure, each layer of protocol, because my network is not very good, I also asked some other questions (such as the difference between MAC address and ip address, etc.).

 Why did you leave the original company and career planning, and then because it was about 8 pm after the interview, let me go back first, and let HR contact me next week, I think it should pass the interview.

 Meituan's technology is still very powerful, as can be seen from the level of the interviewers, especially the core takeaway department, the office environment is good, but it feels a bit chaotic, I don't know if it is because there are many people interviewing today, basically there are always Lots of people walking back and forth and some noise.

Baidu

The dreamed Baidu finally asked me for an interview. I was rejected before whether it was an internal push or online delivery. The reason was that I had been working for less than a year, and there was no way anyone could make Jack Ma’s father too good. I delivered to Tmall in Hangzhou. , is a virtual reality group (I just heard the name and it doesn't feel like I am), this is what I learned after the interview. The interviewer also told me that there may not be many needs on iOS, more It is the application of AR technology on iOS, including OpenGL and other technologies.

one side

I asked about some things written on my blog, from the project idea, to the design, to the detailed technical implementation.

 1. Knowledge of GLSurfaceView, OpenGL, Shader, drawing process.

2. Ask about the current projects, as well as the specific implementation and optimization.

3. Communication between multiple processes, Binder mechanism.

4. Ask which framework source code you have seen, EventBus, and Volley talked about it.

We chatted for about an hour, and the chat was okay. Basically, I answered all the questions. They gave me a lot of advice. I would explain things I didn’t understand carefully. In fact, half of the time was spent chatting with me. Product, why is this product good, how can I do it to meet the market, and how to design the whole product, etc. I feel that my current level is not at the same level. Sure enough, I sent an email the next day, saying that I am not very good at the moment. suitable post.

interview result

Except for Ali Taobao, other companies basically got the offer. During this time, the work on Xiaomi's side has been handed over, and a few days of rest, if you have time, go home and stop for a few days.

final summary

I have some small insights on the Internet: as the capital cools down, the entire Internet market gradually cools down. From the beginning of iOS application development, you can say several terms of the four major components, and you can write a monitoring event casually, and you can get a monthly salary of up to tens of thousands. In the final analysis, it is not that the job is difficult to find, but that the position of iOS application development engineer has become normal, and it is no longer a sweet pastry that can earn high wages without any skills. Of course, this is not absolute. For middle and senior developers, the market is still relatively lacking, especially for well-known companies to recruit employees, not only requires excellent technology, but also requires high quality, good educational background, etc. Wait. In general, a high salary can be given to you, but the premise is that you must be good enough, or let the interviewer think you are excellent.

In fact, the interview process is a process of selling yourself to others. For us (classmates who graduated soon, because I graduated less than a year ago), it is to let the interviewer feel that you have good skills and training value. I feel a little too much, let’s have some dry goods, and roughly list the approximate scope and depth of each round of interviews, but it is not absolute, it still depends on the specific situation.

written examination

From the recent interview experience, there is no big difference between the first and second questions (the company basically has three technical interviews, but there are exceptions. In Meituan, I have two technical interviews.), basically All are first-line developers. It mainly examines whether you have a solid basic knowledge and whether you can use it proficiently in ordinary development.

Can you explain the project you have done and the relevant knowledge you have used.

1. Basic knowledge of iOS

2. Basic knowledge of Python, probably multithreading, thread safety, collection classes, JVM, class-related knowledge, etc.

3. Reading some source codes of iOS

 4. Excellent third-party framework source code reading

four sides

Most companies have three technical rounds, but there are also four technical rounds, but not many. Many companies basically record the questions he asks in each round of interviewers for reference to the next round of interviewers, and to avoid asking the same knowledge point multiple times. Therefore, in this round of interviews, basically no more basic knowledge will be asked.

will be examined from two aspects,

1. Breadth: relatively new technologies (multi-threading, plug-in, etc.), http protocol, database, iOS (generally will not ask the questions that the interviewer asked before).

2. Depth: Generally, it will be examined through 1 or 2 questions, such as: contributions in the project, optimizations made. The design ability is basically not much. This position depends on the interview, because the interview here is only for advanced development, not architecture.

Highlights and highlights at work.

HR side

Basically, at this round, you even pass the interview. HR will ask about some of your experience, and the most important thing is to negotiate with you about salary. In this round, everyone should have a general understanding of their salary level. Generally, it will increase by 20%~30% on the basis of the original salary. Of course, if you perform very well in the interview process, you can also not subject to this restriction. Of course, if the company sincerely wants you, even if your salary is too high, HR will tell you euphemistically and will not pass you directly.

Guess you like

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