✅ INTERVIEW PREP CHECKLIST (ANDROID
DEVELOPER SDE-1)
🔹 Core Android Topics
⭐ Topic Subtopics
⭐⭐⭐ Activity & Fragment Lifecycle methods, onCreate vs onStart, back
Lifecycle stack, config changes
⭐⭐⭐ ViewModel (internal) How it survives config changes,
ViewModelStoreOwner, no-context rule
⭐⭐⭐ RecyclerView Internals onCreateViewHolder vs onBindViewHolder,
view recycling, DiffUtil
⭐⭐ Fragment Transactions add() vs replace(), lifecycle impact
⭐⭐⭐ Navigation Component NavHost, SafeArgs, NavBackStackEntry,
ViewModel scoping
⭐⭐ Custom Views & How to write one, @JvmOverloads, styleable
Attributes attributes
⭐⭐ ViewModel & Context Memory leaks, lifecycle awareness
⭐⭐ DiffUtil Efficient RecyclerView updates
⭐⭐ Dispatchers.IO vs Main When to use which, impact on UI thread
🔹 Jetpack & Architecture
⭐ Topic Subtopics
⭐⭐⭐ MVVM ViewModel, LiveData/StateFlow, Repository, UseCase
⭐⭐⭐ Room (Offline-first) Entity, DAO, DB schema design, migrations,
PagingSource
⭐⭐⭐ Paging 3 Loading strategy, RemoteMediator, placeholders
⭐⭐⭐ Coroutines launch, async, await, withContext, exception flow
⭐⭐⭐ Flow vs LiveData Cold vs hot, lifecycle-aware vs not, operators
⭐⭐ WorkManager Use cases, constraints, chaining tasks
⭐⭐ App Architecture Clean Architecture vs MVP vs MVVM vs MVI
🔹 Kotlin + Internals
⭐ Topic Subtopics
⭐⭐⭐ Scope Functions let, apply, run, with, also – differences +
internal impl
⭐⭐ Sealed Class vs Enum vs Memory, behavior, use cases
StringDef
⭐⭐⭐ val vs var vs lateinit vs Internal behavior & memory implications
lazy
⭐⭐ Inline Functions When and why to use
⭐⭐ Extension Functions Syntax + use cases
⭐⭐ Abstract class vs Interface Key differences and use cases
🔹 System Design (Basic SDE-1)
⭐ Topic Subtopics
⭐⭐⭐ Offline-first architecture Syncing strategies, Room + Retrofit layering
⭐⭐⭐ API Contract Design Request/response modeling, enums over
strings
⭐⭐ SDUI (Server-Driven UI) Dynamic UI, rendering, flexibility, challenges
⭐⭐ Feed Design Pagination, UI state modeling, retries
⭐⭐ Compose State mutableStateOf, recomposition, remember
Management
🔹 Serialization / Networking
⭐ Topic Subtopics
⭐⭐⭐ Retrofit Coroutine integration, suspend functions, error
handling
⭐⭐⭐ Gson / Moshi @SerializedName, @Expose, custom deserializers
⭐⭐ Serializable vs When to use, performance implications
Parcelable
🔹 Testing
⭐ Topic Subtopics
⭐⭐ Testing Basics Unit test for ViewModel, Repository, mocking APIs
🗓️ REVISED 4-WEEK STUDY PLAN
✅ Week 1 – Android Core + MVVM + Navigation (✔ Completed)
Day Topic
Day 1 Activity/Fragment Lifecycle + Config changes
Day 2 ViewModel internals, ViewModelStoreOwner, no-context rule
Day 3 RecyclerView internals, view recycling, DiffUtil
Day 4 MVVM, Repository, UseCases – hands-on
Day 5 Navigation Component, NavBackStackEntry, SafeArgs
Day 6 Custom View, @JvmOverloads, styleable attrs
Day 7 Review + self QnA or mocks
🚀 Week 2 – Coroutines + Offline DB + Paging + Compose
Day Topic
Day 8 Coroutines – launch, async, await, exception flow
Day 9 Room DB – schema, DAO, migrations
Day 10 Paging 3 – RemoteMediator, placeholders
Day 11 Flow vs LiveData – lifecycle, operators
Day 12 Kotlin internals: lateinit, lazy, val/var
Day 13 Scope Functions: let, apply, run, also (internal impl)
Day 14 Mini project – Feed app with Room + Paging3
🧪 Week 3 – System Design + Advanced Kotlin + Testing
Day Topic
Day 15 Design Quiz App – sealed vs enum vs
stringDef
Day 16 Feed Design + pagination + retry + contracts
Day 17 SDUI architecture, pros/cons
Day 18 Retrofit + Gson + custom deserializers
Day 19 Serializable vs Parcelable – pros/cons
Day 20 Unit Testing: ViewModel + Repository
Day 21 Mock Interview with friend or self-record
🧪 Week 4 – Final Polish + WorkManager + Memory Mgmt + Compose
Day Topic
Day 22 WorkManager – constraints, chaining, use cases
Day 23 Dispatchers.IO vs Main – thread mgmt best practices
Day 24 ViewModel memory leaks + Context best practices
Day 25 Abstract class vs Interface + Extension Functions
Day 26 Compose State Management – remember,
recomposition
Day 27 App Architecture: Clean vs MVVM vs MVI
Day 28 Final Review + Resume update + Final mock Q&A
🎯 Resources
Topic Resource
ViewModel Official Guide
Lifecycle Lifecycle Docs
Room + Paging Codelab
Coroutines Roman Elizarov's Talks + Kotlin Docs
Compose Compose Basics
System Design YouTube – Kunal Kushwaha, Suraj Vishwakarma
Testing Android Testing Guide
✅ Final Tips
● Build small feature-based apps to validate concepts.
● Do mock interviews (record or with friends).
● Dive into Android source code (LiveData, ViewModel, etc.) for deeper understanding.
● Focus on clarity and practical use-cases, not just buzzwords.
● Simulate system design with ChatGPT or peer discussions.