apk development platform! Jin San Yin Si Android senior engineer interview questions are organized, take a look at this article!

beginning

Recently, the circle of programmers is very lively. Not long ago, a magical open source project was 996.ICUborn, with more than 10w+ stars and 1w+ forks in a few days
. It can be described as the fastest-growing project on Github. 996.icuThe serious overtime situation of programmers 996 was brought to the public, and Internet bigwigs such as Jack Ma and Liu Qiangdong were also pushed to the forefront of public opinion because of 996's voice.

This matter only stopped for a few days, and there was another big melon in the Internet circle. This afternoon, an open source library go-commonof open source libraries aroused heated discussion among melon friends, and it reached 5000+ stars and 5000+ forks in just a few hours. After a while, it will be refreshed by a few hundred stars, and it will be able to catch up with 996.ICU .

text

1. Making stable applications is the key.

As a good Android development, first make it clear that Android is the front-end, the focus is on the UI, and master custom views.

2. Establish a knowledge system

Many people have a little understanding of Android. They are encouraged to go to places like Stackoverflow to find solutions to problems, but you must understand the internal mechanism and reach a system of knowledge understanding . When you build a system, many problems are not complicated. Software Development is precision engineering, not luck.

For example, during the interview, I like to challenge some very outrageous questions from the interviewer. For example, in an EditText, you lose a letter "A". This A is how many Android-specific processes can be displayed on the screen. of. At first glance, this is a boring question. Everyone often thinks that this is a matter of course, but it is not. This question examines your understanding of view layout/measure, rendering, drawing, if the interviewer can answer If this problem comes up, then I am not worried that you will write out the Android code for Caton.

When I first started developing Android, I couldn’t answer this question, but after a few years, I gradually developed a system to fully integrate these “unnecessary” details. I privately thought it was a necessary condition for a senior programmer. , Any performance optimization is a matter of course

As for other technologies, such as video streaming, it depends on whether you want to be an expert in a certain field or an expert in solving problems. If it is the latter, you need **good data structure + algorithm + code reading + document reading ability , **Understand excellent solutions in a short period of time, and then use them. Doing software engineering is not a PhD. First, solve the needs and then see how to improve.

3. Data structure algorithm, source code, principle mechanism

Many people recommend various books. For Android development, a good resource is Google's official video. They guide you in the right direction and let you have a deep understanding of Android's UI construction and operation mechanism. I have seen many programmers who have written many apps but do not understand the main points. I only feel disappointed and worried. Of course, since you want to do front-end UI, black magic is indispensable, learning the ever-changing programming ideas, Dagger/React, etc.

If you are in a team, **establish a good learning atmosphere, encourage communication,** at the same time, when being tortured by product managers and designers, understand them and help them understand the characteristics of Android development

New technologies are updated very quickly. Many people worry that they will not be able to keep up with being eliminated. In fact, it is unnecessary. **Android is just a tool to solve problems. **You need a knowledge system that is always ready to use this tool to solve problems. Change a tool The same is true. For example, cross-platform development technologies all lead to the same goal. If mobile phones are not eliminated, Android development will not be eliminated.

Also about NDK development, audio and video, WeChat applet, Flutter cross-platform technology, etc. In fact, strictly speaking, the technical aspects of Android can be calculated independently. But it is closely related. Because the company recruits an Android developer, I definitely hope that he can master other skills at the same time to reduce the cost of employment. So these technologies also need to be learned and mastered.

End of sentence

When you plan to quit, you should put "What can I learn after a successful job hopping? What are the benefits for my future development" in the first place. These things are the key to truly guide you. Try to "make the best use of everything" before hopping, and do your job well. It is best to complete a project or get promoted before leaving. Job-hopping is not an end, but a means to achieve the ultimate professional goal

Finally, I wish you a job promotion and salary increase, and an interview with your favorite Offer.
For this reason, I have compiled some information about mobile developers’ needs at the end of the article. Welcome everyone to receive the method for free
: click on my GitHub


[External link image is being transferred...(img-g5o1s92W-1611134409247)]

Guess you like

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