Now android development is not as popular as a few years ago, but senior talents are still in shortage, we look at this saying is not very familiar, because the web senior talents are also in shortage, c++ senior talents are also in shortage, then to the era of artificial intelligence, the era of artificial intelligence senior talents will also be in shortage! It seems that people who are top talents are also top talents in other fields, not because they choose hot ones.

Senior engineer and evil people mixed up the interview related articles online, either a bunch of content, or content quality is too shallow, because of this I compiled the following android development senior engineer of interview questions and answers to help you smoothly into the order for the senior engineer, at the moment, I worked in a big android senior engineer position, in the present circumstances also want for android engineer out of a force, Through my technical experience to arrange the interview often asked the question, the answer section will be an article or a few articles, I seriously read and feel good just sorting out, as we all know, senior engineer not asked questions like just starting a word two words can express clearly, so I filtering through good article to help you understand, get into the business:

Handler related knowledge, interview will ask!

Frequently asked questions:

What is the Handler Looper Message relationship? What is the data structure of Messagequeue? Why use this data structure? How do I create a Handler in a child thread? How does the Handler POST method work?

Android message mechanism principle and source parsing source Angle complete parsing Handler did not understand, take what to job-hopping ah? Android Handler message mechanism (Answer questions) Android message mechanism guo Shen article

The Activity related to the

Startup mode and usage scenarios? How do onNewIntent() and onConfigurationChanged() start onSaveInstanceState() and onRestoreInstanceState() activities

The startup mode and usage scenarios explain the scenarios in detail and some of the holes onSaveInstanceState and onRestoreInstanceState use the simple and transparent onConfigurationChanged usage and problem solving completely describe the various situations Parsing the Activity startup process

Fragment

How to communicate with startActivityForResult Fragments

How to communicate the Fragment life cycle

The Service related

How to start a Service and how to stop it? Which thread does the callback in ServiceConnection run on?

StartService and bingService distinction complete explanation of the difference between them have to distinguish between the process live general routine process live means are told about the process live you need to know everything about the process live 100,000 + about the process live article

Android layout optimization for ViewStub, include, merge

When to use ViewStub, include, merge? How do they work?

ViewStub, include, Merge: An analysis of Android layout optimization using ViewStub, include, Merge and source code

BroadcastReceiver related

Registration mode, priority broadcast type, different broadcast usage scenarios, principle

Android broadcast dynamic static registration easy to understand common use and process analysis broadcast source analysis

AsyncTask related

Is AsyncTask executed serially or in parallel? AsyncTask changes with Android versions

AsyncTask fully parses Guo Shen’s article a sufficient source code from use to serial or parallel

Android event distribution mechanism

OnTouch is different from onTouchEvent. The call order of dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent is different from that of onTouchEvent

Event distribution mechanism Guo Shen produced event distribution analysis hongyang produced dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent method usage scenario analysis

Android View drawing process

View drawing process onMeasure, onLayout, ondraw methods need to pay attention to the points how to customize View View redraw mechanism

View(1) Android View state and redraw process analysis, take you step by step in-depth understanding of View(2) Android View state and redraw process analysis, Don’t ask me why I recommend so much guo God’s article, because I am looking at guo God’s article grew up!

Android Window, Activity, DecorView, and ViewRoot

The relationship between Window, Activity, DecorView, and ViewRoot

Android’s core Binder multi-process AIDL

Why Binder is used for cross-process transmission

Binder basic analysis is very difficult to understand. I have read it several times and still understand a general multi-process communication mode and the problems it brings

Android Advanced prerequisites: AMS,WMS,PMS

This part is really complicated! AMS,WMS,PMS creation process

AMS,WMS, and PMS Full resolution AMS startup process WindowManagerService startup process Resolution PMS startup process resolution

Android ANR

Why does ANR occur? How to locate ANR? How can ANR be avoided?

What is ANR? How to avoid and analyze the ANR of Android performance optimization

Android Memory related

Note: Memory leak and memory overflow are two different concepts

When can a memory leak occur? How do I prevent memory leaks?

Memory leak and overflow difference OOM concept and Android memory management mechanism memory leak possibility prevent memory leak method

Android Screen Adaptation

Screen adaptation is a popular screen adaptation method

Screen adaptation noun and concept analysis Toutiao technology adaptation solution

Android Caching

LruCache works extremely well

The Android cache mechanism LruCache is described

Android Performance Optimization

How to locate memory AND CPU power consumption and optimize performance Commonly used methods of optimization How to avoid UI lag

I’m reading geek Time’s Android developer’s class, which has a great article on performance optimization

Full analysis of performance optimization, tool use performance optimization best practices

Android MVC, MVP, MVVM

Which one should I choose? And disadvantages

Ren Yugang: Design pattern selection

Android Gradle knowledge

These two official articles are basic enough that you must post the official document: Tips and Tricks for configuring and building Gradle

Gradle custom plugins provide a comprehensive understanding of Gradle execution timing

Gradle series one Gradle series two Gradle series three

RxJava

How to use the RxJava Observer pattern principle to parse RxJava subscription flow, thread switching, source analysis series

OKHTTP and Retrofit

From HTTP to Retrofit how does Retrofit work

Most popular image loading library: Glide

Android picture loading framework (a), the basic usage of The Android picture loading framework (b), from the perspective of the source code to understand the implementation of the process of Glide Android picture loading framework (c), Android picture loading framework (4), play with the callback of Glide and monitor Android picture loading framework (5), Glide powerful picture conversion function (6), It is the first time that you can use it to make a picture load. It is the first time that you can use it to make a picture load. It is the first time that you can use it

Android componentization and plug-in

Big business code will be used.

Why componentization? How do components communicate with each other? How to jump between components?

Android plug-in and hot repair knowledge combed why to use componentization 1, Android complete componentization scheme practice 2, Android complete componentization demo release 3, Android complete componentization – code and resource isolation 4, Android complete componentization – UI jump upgrade transformation 5. Android is completely componentized — How to use Arouter

History of plug-in framework in-depth understanding of Android plug-in technology Ali plug-in technology Android plug-in and hot repair knowledge comb

Common interview questions

In addition to the above list of Android advanced technical questions, there are some questions that interviewers like to ask, and you are prepared to answer them:

  • What was the most difficult aspect of your project? How is it solved?
  • How to solve the problems encountered at ordinary times? Better answer: always read official documentation, solve problems with source code, then search engines and discuss with colleagues
  • How is your latest APP structured? Why is it structured this way?
  • How to carry out technical advancement at ordinary times, how to learn?
  • What skill level do you feel you are at?
  • What are your technical strengths?

It took more than a week to finish the work. The reason why I prepared for so long is that I have carefully read all the above articles, and there are still some articles that have not been posted due to their quality or not easy to understand. Among them, I think the problems of Android technology cannot escape the work I have sorted out above, of course, I will keep updating. Second and more important is that sometimes the interviewer will ask you questions if you can not also very normal, we can not understand all the questions, but we must have the necessary thinking process, the process and way to solve the problem is the most important in the workplace, not the result! This is one of the interviewer’s favorite questions. In addition, I did not sort out the algorithm and Java basic questions, because I am for Android senior development engineers to prepare the interview questions, so I believe that you can search and review the algorithm and Java basic questions.

The article synchronously published my Github, in github may have other partners and I maintain together, the content updates more!

Address: Github portal

Recently I opened his micro channel public number, but I do not share technology, we want to advance technology can pay attention to: Guo Lin, Hong Yang, Ren Yugang and other big guy I have been learning their article, that my public number to share what? How to earn dollars through their own APP is my main share, through my long-term experience in Google Play APP development to help everyone to create the most suitable for Android development side business, in addition to share the workplace sentiment, so that Android development is not confused, welcome to pay attention to!

Through the experience of developing 3 million downloaded apps in Google Play from zero to one, I will share many wonderful stories to the official account, scan the qr code below and make dollars with me to develop apps!