From across the pond, Saumye Srivastava, a former Flipkart interviewer who interviewed uber, Microsoft and Google, as well as a handful of startups, prepared a checklist for Android candidates.
“The ability to ask The right questions is more than half The battle of finding The answer”
– Thomas Watson
Questions
Layout Inflater
How willXML
Parsed intoView
? How are attributes read and enforced? And aView
What steps do YOU need to go through before it’s fully displayed on the screen?- Say you’re right
findViewById
Understand? For a given2
个View
View references, how would you find their ancestor views? - Explain in detail what triggers when you click on the screen
listeners
Including the order in which they are executed? And event handling mechanisms between child and parent layouts. Thread
,Handler
,Looper
,MessageQueue
What is?Android
What are the different concurrency methods on? Can you explainExecutorService
与CachedThreadPool
,FixedThreadPool
,AsyncTasks
与HandlerThreads
The difference between?Android
How does garbage collection work? Explain the meaning of counting, marking, and scanning garbage collection algorithms.- Think and list all the ways in which application components and services can communicate?
- When to use
bindService
?ServiceConnection
What is? The inner workings of binding services. - use
Messenger
和AIDL
What’s the difference? useAIDL
What are the benefits of interprocess communication? In-memory vs Bundle vs SharedPrefs vs Database
How do you use it?- List all the reductions you can think of
apk
Size method. ANR
How are frame drops and freezes caused, and how are they different?Proguard/R8
的3
What are the steps, and how do I enable and disable them?- What is the
consumer proguard
It withproguard
What’s the difference? - For a Proguard/R8 obfuscated APK, how can I see unobfuscated stack call logs?
SharedPrefs
的commit
和apply
What’s the difference?SharedPrefs
与Databases
Which has better performance?- How to implement an observable
SharedPrefs
或Databases
, such as listening on keys/tables/queries? Android
What is the difference between data sharing and control sharing between upper processes? And how?Serializable
和Parcelable
What’s the difference?Serializable
What are the disadvantages?- in
apk
To protectapi
What are the modes of keys? - What is the
middle attack
? How to protect youapi
Immune to it and other attacks? - Explain in detail
Android
Packaging process? What is theR. Java, Resources. Arsc, manifest merging & signing
? app bundle
和apk
What’s the difference? What is thebuild flavours
? Them with theproduct flavours
What’s the difference?Activity & Activity
.Fragment & Fragment
和Activity & Fragment
What are the ways of communication?Activity
What are the differences between startup modes?viewholder
What is the pattern? inListView
How did you achieve that? explainRecyclerView
The best way to implement listening in.RecyclerView
What are the performance optimization methods of?RecyclerView
How to implement one inSticky header
?- How are changes in the dataset reflected in
RecyclerView
In the? What is theDiffUtil
? Java
What is the reflection in? Why is it recommended to use as little as possible?Java
What are generics in? When are they useful? How do you limit them?- What is the
Android
In theContent Provider
? How do you access the content it provides? - Implemented on a data set separating files
Content Provider
Is it possible? Android
How does the database on? What is theORM & Data Access Object
? What are some ways to optimize database reads, writes, and updates?SQLite
How safe is thread-safe? Table level locks or database level locks?- What is the dependency Injection pattern (
Dependency Injection Pattern
)? It is similar to the service registration pattern (Service Registry Pattern
(How does it compare? Dagger
和Koin
What is? How do they work inside?- In dealing with
webview
When, what are the security problems? unit
Testing andinstrumentation
What’s the difference?Mockito vs RoboElectric
?Android
Under theCI/CD
What is? What process reviews did you go through before code was merged, tested, released, and rolled out?
Finally, we can discuss the differences between overseas interviews and domestic interviews.