Advanced programmers! 1-3 years of Android development engineers come to see it, it is recommended to collect

Introduction

Around 35 years old is an unusual age group for engineers. Technical people may face a transformation in life: from a purely technical post to a management post. Many new challenges will also be faced, regarding team formation, leadership, and KPI setting. This article will describe some thoughts on team formation, capacity building, and management since Zhang Rong, the senior technical leader of Ali, took over the CRO line NLP algorithm team at the end of January last year. These thoughts are summed up from practice and a set of methodology, hoping to inspire some technical people in the transition.

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, and almost everyone asks!

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 moving?

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 there are more questions about Binder drivers and virtual machines in large companies.

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 stuck?

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 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 write is familiar, because in aspects like audio and 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, this is a flaw, unless the technology is very strong, or there is an inference, it will depend on the situation.

Interviewers in small companies will generally not ask you for details, but interviewers in 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.

Learn to share

In the current era of information sharing, many resources can be found on the Internet, depending on whether you are willing to find or find the right method.

Many friends are not without information, most of them have dozens or hundreds of Gs, but they are messy and they don’t know how to look from where to look, or even forget after they look.

If you feel that the information you find on the Internet is very messy and out of structure, I will share a set of it with you. It is more systematic, and I usually study it myself.

The latest tens of thousands of pages of real interview questions in 2020

Seven module learning materials: such as NDK module development, Android framework architecture...

Only systematic and directional learning can quickly improve their skills within a period of time.

This system study notes is adapted to the crowd:
First, the learning knowledge is relatively fragmented, and there is no reasonable learning route and advanced direction.
Secondly, after several years of development, I don’t know how to go further, and I’m confused.
Third, at the right age, I don’t know how to develop, transform management, or strengthen technical research. If you need it, I happen to have why, don’t come to receive it! Maybe it can change your current state!
Quite confused.
Third, at the right age, I don’t know how to develop, transform management, or strengthen technical research. If you need it, I happen to have why, don’t come to receive it! Maybe it can change your current state!
Due to the large content of the article, the length of the article is not allowed, and part of the unshown content is displayed in the form of screenshots. If you need to get complete documentation, please click on my GitHub to get it for free.

Guess you like

Origin blog.csdn.net/dajie1213/article/details/112987259