The most comprehensive explanation of the whole network! Plug-in framework interpretation of the android system service implementation principle, it will be too late if you don’t brush the questions!

Reflection

I went to Beijing Dawanglu Ali for an interview last night, and had serious frustration and shame.

It’s better to have goals and ideals since college, and have been studying technology for the goal. The only thing that can be learned in college is to participate in the electronic design competition and learn some embedded knowledge.
After graduation, I started to do android, said It’s better to call it a project. In fact, it’s just to move the code. How much do you really remember? When you move from Baidu to Google to your own code, you have to encounter the same problem several times before you can remember it. Many problems are not yet moved. I know why this is done. ReactNative has finished a project, and the life cycle is not clear. What is the point of such work?

Progress is too slow. I taught myself Android for the first two years after graduation. Now I think I’m basically climbing. Two years later I think I’m very good, and I have done everything. In fact, it’s just a frog in the bottom of the well, and even Hybird doesn’t even know it. The interviewer asked "It's all native development", I stubbornly replied "Just write java and xml in Eclipse...", it's really ridiculous! Just like yesterday's answer to "How does the intent break through the parameter size limit": "It's not clear. Breakthrough...". I can find an excuse to say that the projects I usually do are not big and that these operations are not needed. When it is practical to intent, I should look at it in depth, don’t I? I think my theoretical knowledge is not as good as BAT recruited in the past five years of work. For fresh graduates, maybe the novices who have worked in it for a year have more basic knowledge than me?

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

At last

Taking into account the length of the article, I made these questions and answers, as well as the questions I encountered in many years of interviews, and some interview materials into PDF documents. If you need a friend, you can send a private message to me [Interview] for free

Click here to receive a summary of Android interview materials

Transferring...(img-KZbRtEw5-1611300331396)]

[External link pictures are being transferred...(img-za9eZwuR-1611300331402)]

Friends who like it can follow, forward, and like thank you!

Guess you like

Origin blog.csdn.net/chayel123/article/details/112986175