Kotlin language! Android interview question set 2021 version, with answers

Sorry for waiting

This article keeps the friends waiting for a long time.

Over the past year or so, there have been no more than a hundred questions about the learning route , planning , and books of embedded development , but dozens of times. But helplessly, I have limited knowledge of this aspect, so I can't explain it every time, so I'm really embarrassed.

But there is always a way. As discussed in the previous article, although I am not engaged in these directions myself, after thinking about it, some of my classmates and friends are still engaged in related directions and are in the first line (or have been in the first line). I have worked, so I asked them to help sort out the learning routes in these areas that I am not familiar with. This time embedded development is one of them.

The reason why this article has been delayed for so long is because communication is really time-consuming. After all, the big guys are very busy. Moreover, sorting out and summarizing this matter itself is more cumbersome, so it is not published until now.

I have a lot of interview experience during this period, and I will share it with you in the interview season. If you have ideas or questions, please leave a message in the comment area.

text

1. The most frequently asked question in the interview is the custom View, which is basically asked by everyone!

Mainly ask about the drawing process of View and the steps of customizing View. Sometimes details are involved; for example, in which class and method is the PhoneWindow instance instantiated? How is Selector implemented? How is the View animation implemented? Why is the click event still in its original position after the move?

2. Android system source code part (this is what big manufacturers like to ask)

Event interception and distribution

Communication between processes

Application creation and startup process

How does Handler cause memory leaks

For the source code of third-party libraries, Glide, OkHttp and Retrofit have asked more about the advantages and disadvantages of MVC, MVP and MVVM development models.

There are also many questions about the understanding of common design patterns, and the big company Binder drivers and virtual machines ask more.

3. Data structures and algorithms, common collections and implementation principles of Java

For example, the implementation principle of ArrayList, LinkedHashMap, cache elimination strategy, red-black tree and binary tree, shortest path planning, massive data filtering, I am honored that the interviewer has not yet asked me to write the algorithm!

4. Performance optimization

How to detect the execution time of a piece of code?

How to fix the interface freeze?

What to do if the sliding is not smooth?

Is there any way to increase 50fps to 60fps?

How to detect memory leaks?

The principle of leakcanay?

5. Threads and thread pools,

What is the difference between wait() and sleep()?

Sync lock

Detailed explanation of the thread pool parameters? Detailed explanation of AsyncTask source code parameters?

That's probably all I can remember. Last but not least, many companies have indicated that you must know C and C++, OpenGL or OpenCv or audio and video codec! Be careful here, what I wrote is familiar, because in terms of audio, video and OpenCv image processing, it is best not to write proficient in 6 or 7 years!

I feel that academic qualifications are really important when I come to Shanghai. Large companies require a bachelor degree or above, and they must be able to check it. If you don’t have a degree, it’s a flaw, unless you have strong skills, or if you have an inference, it will depend on the situation.

Interviewers of small companies will generally not ask you for details, but interviewers of large companies will grasp the details, so the details should be clear and the concept should not be vague. However, some details of a question may not be well understood by the interviewer, if you can tell it. That's not bad, so the interview is a question of who will die. And don't get into disputes, be humble, and admire others in your heart. We are here to talk, not to ask for work.

At last

The preferred method of introducting resumes is fast and efficient! Then you can look at it on the hook, boss, Maimai, and street. It is stated on the resume that if you are familiar with any technology, you must be familiar with it, otherwise it will not be very embarrassing to be asked! What project you have done, even if the project volume is not large, you must be familiar with the realization principle! If you are not responsible for the part, you can also see how your colleague achieves it. What would you do if you do it for you? What has been done and what will be the breadth issue depends on the content of the project. But what has been done and what state has been reached is a matter of depth, which has to do with personal learning ability and problem-solving attitude. Large companies look at depth, small companies look at breadth. You will be able to interview for large companies, and will you use what they interview for small companies, that is, job matching.

The interview process must be polite! Even if you feel that the interviewer does not respect you and often interrupts your explanation, or you feel that he is inferior to you and the questions asked lack professionalism, you must also respect him. Who told him to choose you now and wait for you to get the offer Then you choose him.

In addition, it must be slow to describe the problem! Don't talk about it all at once. It seems that you are calm and confident, and you still have time to react to your ideas on how to say better next. Nowadays, there are too many developments that rely on IDEs, so there will be a drawback. When we explain in an interview, it is easy to not know how to read a certain method. This is a flaw... So we must deal with common key class names, method names, and key Read the words accurately, and some interviewers will be impatient and say, "Which one are you talking about?" At this time, we will easily get confused. Correct pronunciation + calm description + nice voice is definitely a plus!

The most important thing is mentality! Mentality! Mentality! Say important things three times! The interview time is very short, and it is still relatively unrealistic for the other party to find out your foundation in a short period of time. Therefore, sometimes it is also a time to look at the eye. This is still the era of looking at the face.

I hope everyone can find a job that suits them and satisfies them!
If you need the PDF version, you can pick it up on GitHub!

Advanced learning video

Attached: We collected 20 sets of real Android interview questions for first- and second-tier Internet companies  (including BAT, Xiaomi, Huawei, Meituan, Didi) and my own Android review notes (including Android basic knowledge points and Android extensions). Knowledge points, Android source code analysis, summary of design patterns, Gradle knowledge points, summary of common algorithm questions.)

Knowledge points, Android source code analysis, summary of design patterns, Gradle knowledge points, summary of common algorithm questions. )

[External link image transfer...(img-aDNgH1Wj-1613960354996)]

Guess you like

Origin blog.csdn.net/Sunbuyi/article/details/113930530