android interview questions! A summary of the latest Android commonly used open source libraries in 2021, a summary of first-line Internet companies

preamble

This article hopes to help understand some concepts in official documents by revealing some hidden technical details of React

Readers can see this article as a supplement to the official document

The writing method I use is a question-answer method, that is, first according to the usage rules given in the official document, propose Why, and then we will answer these Why based on the actual debugging, and finally systematically organize these Why into How, if you have A better way of writing, please leave a message to discuss

In addition, for the reading experience, I will not paste too much source code to avoid interrupting readers' thoughts.

1. Picture

1. Picture library comparison
2. LRUCache principle
3. Picture loading principle
4. How to implement the picture library by yourself?
5. Glide source code analysis
6. What cache does Glide use?
7. How to control the size of Glide memory cache?

2. Network and security mechanism

1. Network framework comparison and source code analysis
2. How to design network request framework by yourself?
3. Network request cache processing, how does okhttp handle the network cache
4. Load a 10M picture from the network, and talk about the points of attention
5. TCP's three-way handshake and four waved hands
6. The difference between
TCP and UDP 7. TCP and UDP Application
8. HTTP protocol
9. Difference between
HTTP 1.0 and 2.0 10. HTTP message structure
11. Difference between HTTP and HTTPS and how to achieve security
12. How to verify the validity of the certificate?
13. Where is symmetry used in https Encryption, where is asymmetric encryption used, and do you have any understanding of encryption algorithms (such as RSA)?
14. How does the client determine that the message sent by the client is received by the server?
15. Talk about your understanding of WebSocket 16. WebSocket
and socket Difference
17. Talk about your understanding of Android signatures.
18. Please explain why Android needs to add a signature mechanism?
19. Video encryption transmission
20. How is App sandboxed and why do you want to do this?
21. Authority management system (how is the underlying authority granted)?

Three, the database

1. Sqlite upgrade, adding field statements
2. Database framework comparison and source code analysis
3. Database optimization
4. Database data migration issues

Fourth, plug-in, modularization, componentization, hot fix, incremental update, Gradle

1. Understanding of hot fix and plug-in
2. Analysis of plug-in principle
3. Modularization (benefits, reasons)
4. Hot fix and plug-in
5. Understanding of project componentization
6. Description Click the build button of Android Studio What happened after

Five, architecture design and design patterns

1. Talk about your understanding of Android design patterns
2. MVC MVP MVVM principles and differences
3. What design patterns do you know?
4. Commonly used design patterns in the project
5. Handwritten producer/consumer pattern
6. Write the code of observer pattern
7. Adapter pattern, decorator pattern, appearance pattern similarities and differences?
8. Some open source frameworks used, introduce an internal implementation process that has seen the source code.
9. Talk about the understanding of
RxJava 10. Rxjava send event step
11. RxJava's role, the advantages and disadvantages compared with the usual asynchronous operation
12. Talk about the function of EventBus, the implementation method, the way to replace EventBus
13. Design from 0 How to do the overall architecture of an App?
14. Talk about an application that you think is currently popular and design it (for example: live streaming APP, P2P finance, small video, etc.)
15. Talk about the understanding of java state machine
16. How should Fragment be decoupled if used in Adapter?
17. Binder mechanism and underlying implementation
18. How is the application update done? (Answer: Grayscale, mandatory update, sub-regional update)?
19. Implement a Json parser (you can improve the speed through regularization)
20. Statistics start time, standard

to sum up

First of all, I feel that my own foundation is not enough. Major manufacturers seem to like to ask these underlying principles.

Another part of the reason is that the information has not been read. On the one hand, I can easily deal with it after a few days before the test with that information (I still want to thank the information, really good), so I feel good about myself. The information didn't go into further.

The previous preparation only involved Java, Android, computing networks, data structures and algorithms, and it was difficult for interviewers to investigate other basic courses.

The next step is to check the omissions and fill in the vacancies and conduct targeted reviews.

At the end of the end, the set of materials must be read this time. It is really too comprehensive and covers all the knowledge points. Almost all the knowledge points I encountered in the interview are in it! Here is also free to share with you, I hope you will not make the same mistakes as me! ! ! Be sure to finish it!


How to get: Click on my GitHub

%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)

Guess you like

Origin blog.csdn.net/CHAMPION8888/article/details/112985594