Sprint in 2021! The most comprehensive collection of high-frequency interview questions from major Android manufacturers, 11 modules, hundreds of questions (with reference answers)

An Android interview question set, suitable for internships & junior engineers & intermediate engineers, senior engineers reluctantly. The author has provided answers to each interview question, aiming to help the majority of Android learners find their favorite offers, with a lot of content. I hope Android job seekers will study carefully, prepare for the interview, and find an offer smoothly.

If you are an Android learner, please subscribe to the author's summary of Android knowledge system (covering all aspects of Android knowledge structure, interview & advanced), the questions in this article can be answered from the article, thank you for your support.

This interview question set should only be for Android job seekers, there are 11 modules:

  • JAVA basic part
  • Android picture section
  • Network and security mechanism section
  • Database part
  • Pluginization, modularization, componentization, hot fix, incremental update, Gradle
  • Architecture design and design pattern part
  • Performance optimization part
  • Android Framework part
  • Android excellent tripartite library source code
  • Android algorithm collection
  • Android View section

This Android interview question covers pictures, network and security mechanism, network, database, plug-in, modularization, componentization, hot fix, incremental update, Gradle, architecture design and design pattern, Android Framework, Android excellent tripartite library source code Wait. Suitable for intermediate and senior engineers.

1. JAVA basic part

Java basic knowledge points interview topics

1. The difference between == and equals and hashCode in java
2. How many bytes each of int, char and long occupies
3. The difference between int and integer
4. Talk about the understanding of java polymorphism
5. The difference between String, StringBuffer, StringBuilder
6. What is an internal class? The role of internal classes
7. The difference between abstract classes and interfaces
8. The difference between extends and super in generics
9. Can the static methods of the parent class be overridden by the subclass? Can static properties and static methods be inherited?
10. The difference between process and thread
11. The difference between final, finally and finalize
12. The difference between Serializable and Parcelable
13. Talk about the understanding of Kotlin
14. The method and principle of converting string to integer

Java in-depth source-level interview questions

1. Under what circumstances will objects be disposed of by the garbage collection mechanism?
2. Tell me about common encoding methods?
3. How many bytes does the Chinese in utf-8 encoding occupy; how many bytes does int type?
4. What is the difference between static proxy and dynamic proxy, and in what scenarios?
5. Java's exception system
6. Talk about your understanding of parsing and dispatching.
7. Modify the signature of the equals method of object A, then when the HashMap is used to store this object instance, which equals method will be called?
8. What is the mechanism for achieving polymorphism in Java?
9. How to serialize a Java object into a file?
10. Tell me about your understanding of Java reflection
11. Tell me about your understanding of Java annotations
12. Talk about the principle of generics and give examples
13. Understanding of String in Java
14. Why is String designed to be immutable?

2. Android picture section

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?
8.Fresco source code analysis

3. Network and security mechanism part

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

Fourth, the database

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

Five, 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

Six, 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. Handwriting 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

Seven, performance optimization

1. Start the app Black and white screen optimization
2. Stability-memory optimization
3. Smooth-Caton optimization
4. Saving-power consumption optimization
5. Installation package-APK slimming
6. Cold start and hot start
7. Memory leak Scenarios and solutions
8. Bitmap optimization
9. LRU principle
10. Webview optimization
11. How to avoid OOM?
12. ddms and traceView
13. How to analyze systrace for performance optimization?
14. How to analyze memory leaks with IDE?
15. How to solve the performance problems caused by Java multithreading?
16. App startup crash exception capture
17. Custom View considerations
18. Now the download speed is very slow, try to analyze the reason from the perspective of the network protocol and optimize it (hint: all 5 layers of the network can be involved).
19. Https request slow solution (hint: DNS, carry data, directly access IP)
20. How to maintain the stability of the application
21. RecycleView optimization
22. View rendering
23. The difference between the four references in java and usage scenarios
24 .A strong reference is set to null, will it be recycled?

八、Android Framework


1. Android system architecture 2. View event distribution mechanism? How to resolve sliding conflicts?
3. View drawing process?
4. Cross-process communication
5. What is the Android system startup process?
6. To start a program, you can click the icon on the main interface to enter, or you can jump from a program. What is the difference between the two?
7. Explanation of important terms of the AMS family
8. Some open source frameworks used, introduce an internal implementation process that has seen the source code.
9. The working principle of ActivityThread.
10. Let's talk about the startup process of the four major components, the startup and destruction methods of the four major components.
11. How does AMS manage Activity?
12. Understand Window and WindowManager.
13. How does WMS manage Window?
14. Explain roughly what happens when an application is installed on the phone?
15. Android packaging process? (That is, describe what happens after clicking the build button of Studio? Some things? The principle of the signature algorithm?
16. Tell me about the principles and differences between the Android virtual machine and the java virtual machine? (The principles and differences of JVM, Davilk, and ART Difference)
17. Android adopts automatic garbage collection mechanism, please tell me the principle of Android memory management?
18. How is App in Android sandboxed and why do you want to do this?
19. After a picture is called R.id in app, How to find it?
20. JNI
21. Please introduce NDK?

Nine, Android excellent tripartite library source code

1. Network underlying framework: OkHttp implementation principle
2. Network packaging framework: Retrofifit implementation principle
3. Responsive programming framework: RxJava implementation principle
4. Picture loading framework: Glide implementation principle
5. Event bus framework: EventBus implementation principle
6. Memory leak Detection framework: LeakCanary realization principle
7. Dependency injection framework: ButterKnife realization principle
8. Dependence on global management framework: Dagger2 realization principle
9. Database framework: GreenDao realization principle
10. ARouter

10. Android algorithm collection

1. Hash
2. Minimum spanning tree algorithm
3. Shortest path algorithm
4. KMP algorithm
5. Search algorithm
6. Sorting algorithm
7. Hop table

11. Android View section

  1. View sliding method
  2. View's event distribution mechanism
  3. View loading process
  4. View's measure layout and draw process
  5. Points to note for custom view

Resume + social recruitment solution + classic HR interview analysis

The above is a summary of the real questions encountered in the Android intermediate and senior interviews. I hope it will be helpful to everyone. At the same time, many people often encounter many interview questions about resume production, career confusion, and HR classic interview questions. I also collected and compiled a full set of resume production, puzzles of recruitment by the Golden Three Silver Four Clubs, and HR interviews. If you have any questions, I can provide professional answers.

For Android developers, it should be the most comprehensive and complete interview information. In order to better organize each module, I refer to many high-quality blog posts and projects on the Internet, and strive not to miss every knowledge point. Many friends relied on these contents to review and got offers from big manufacturers such as BATJ. This information has also helped many Android developers, and I hope to help you too.

Finally, if you want to get the complete " 2020 Android BAT Interview Questions and Reference Answers ", click to get it ,

There are also a series of Android learning resources that took more than a year to organize: Android源码解析、Android第三方库源码笔记、Android进阶架构师七大专题学习、历年BAT面试题解析包、Android大佬学习笔记wait, these contents are free to share with everyone, friends who need the full version, click here to see all the contents

Interview: If you don't prepare for a full interview, it will be a waste of time and you will be irresponsible for yourself!

Guess you like

Origin blog.csdn.net/weixin_44339238/article/details/112792595