Android performance optimization short book! In-depth analysis of Android-AutoLayout, sharing a little interview experience

Current situation: Undergraduates from a private university in the 10th class have actually been in contact with Android for more than 6 years, and have worked for five and a half years (note that I am talking about working years, not work experience). They took a rest after barely resigning in January this year , I often didn’t receive a few offers in a week, and I finally got to the HR side. I was also given up because of the high salary requirements. I finally got an offer that was not particularly satisfactory.

First of all, I want to make it clear that in the current environment, the mobile Internet is indeed in the cold winter. Especially Android/IOS development, although it is not a sunset industry, it is also far from the popular IT profession. Since a large number of small startups went bankrupt due to the epidemic, the news of layoffs by large companies such as 360, Didi and Ctrip can actually be seen. As for the small companies that are still alive, the requirements for mobile developers. . . It seems to be off topic~ Let's talk about job interviews.

Looking at the needs of online Android job recruitment:

Android job requirements
Requires mastery of system architecture and related technologies, familiar with advanced UI and framework source code, proficient in plug-in, performance optimization, and Java development experience. . .
The first impression that the video interview gives me is that the questions are too difficult, even if the salary is low, and the interview requirements are still high.

Regular telephone interview

1 JAVA basic ideas: design patterns and object-oriented
2 Android View drawing process
3 General component issues
4 Event distribution mechanism
5 Multi-threading and security issues
6 Android performance optimization and compatibility issues: Performance optimization answers

Specific interview

1 Principle of thread pool
2 How many ways are there to realize thread safety
3 Principle of picture loading framework
4 Principle of Http protocol
5 Principle of Okhttp
6 Various memory optimization
7 Principle of garbage collection mechanism
8 Talk about the understanding of synchronous and asynchronous requests
9 How to ensure synchronization and Asynchronous
10 Intent servise, the underlying principle is realized.
11 Why can Handler carry out inter-city communication?
12 Why can’t Handler be declared in a sub-thread, and after the declaration, an exception will be reported at runtime.
13 The combined use of communication protocol Rxjava and Retrofit
14 Talk about your thread Safe understanding of
15 principle of custom thread pool? How do you define
16 Glide framework principles
17 Expansion lock
18 TCP protocol stack talks
19 Socket link, how to connect
20 Git How to submit two requests to ensure the same ID (command line operation)
21 How to locate ANR, OOM, fast

Design pattern part

**·**A talk about design patterns
**·**Singleton mode, several kinds, advantages and disadvantages
**·**Observer mode, you can talk about EventBus design and implementation
**·**Adapter mode and application scenarios
* *·**Factory-related modes
**·**Strategy mode, application scenarios in Android
**·**MVC, MVP, MVVM, compare the similarities and differences, just choose one to focus on

January collection (intermediate Android development by a company)

**·**Talk about the understanding of handlers
**·**The Rx is used in the project, what are the advantages, did the project encounter memory leaks when using Rx, and how to solve it?
**·**Android 8.0 camera adaptation Have you encountered any problems?
**·**Talk about your understanding of the android permission mechanism, have you ever understood custom permissions?
**·**What problems have you encountered when integrating maps?
**·**The project uses listview or What are the advantages of recycler and recycler compared to list
**·**When to call onNewIntent
**·**Talk about the understanding of plug- inization, what is the difference between componentization and plug- inization , and the benefits of componentization
**·**How ​​to solve The problem of push delivery rate
**·** interspersed with fragment manager for fragment management, debugging tools, thread pools and process-related things

Collection in February (a company’s junior and intermediate Android development)

**·**If the activity in the background is recycled by the system for some reason, how to save the current state before the system is recycled?
**·**Service life cycle, how to start and close a Service?
**·**Service and Is Activity in the same thread?
**·** Which of the four components have been used? Simply receive their usage?
**·**The difference between UDP link and TCP, how to use socket?
**·* *How to debug debug in Android development? Write your commonly used adb debugging commands

Learning welfare

[Android detailed knowledge point mind map (skill tree)]

In fact, there are so many knowledge points in Android development, and there are still a few things to ask in interviews. Therefore, there are no other tricks for the interview, just to see how well you prepare for these knowledge points. So, when you go out for an interview, it is good to see which stage you have reached in your review.

Although Android is not as hot as in previous years, the era of finding high-paying jobs with the four major components has passed. This can only show that the positions below the intermediate level of Android are saturated. Now senior engineers are still relatively lacking . Many senior positions are paid really high salaries (you may not be able to find a suitable one if you have more money), so I strive to become a senior engineer. is the most important.

Attached here are dozens of sets of ByteDance related to the above-mentioned interview questions, interview questions from JD.com, Xiaomi, Tencent, Toutiao, Ali, Meituan and other companies in 19 years. The technical points are organized into videos and PDFs (actually, it took a lot of effort than expected), including knowledge + many details.

Due to limited space, I will show you a small part in the form of pictures.

The detailed arrangement can be seen on GitHub;

Android architecture video + BAT interview topic PDF + study notes

There are a lot of materials for learning Android on the Internet, but if the knowledge learned is not structured, and when you encounter problems, you just taste it and stop studying it in depth, then it is difficult to achieve real technological improvement. I hope that this systematic technical system will provide you with a direction reference.

There are a lot of materials for learning Android on the Internet, but if the knowledge learned is not structured, and when you encounter problems, you just taste it and stop studying it in depth, then it is difficult to achieve real technological improvement. I hope that this systematic technical system will provide you with a direction reference.

Guess you like

Origin blog.csdn.net/weixin_52746928/article/details/112942585