0% found this document useful (0 votes)
26 views5 pages

Android Developer Interview Prep Guide

This document is an interview preparation checklist for Android Developer SDE-1, covering core Android topics, Jetpack & architecture, Kotlin internals, system design, serialization/networking, and testing. It includes a revised 4-week study plan with specific topics to focus on each day, as well as recommended resources and final tips for effective preparation. The checklist emphasizes practical understanding and hands-on experience in various Android development concepts.

Uploaded by

Aishwarya Kamal
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views5 pages

Android Developer Interview Prep Guide

This document is an interview preparation checklist for Android Developer SDE-1, covering core Android topics, Jetpack & architecture, Kotlin internals, system design, serialization/networking, and testing. It includes a revised 4-week study plan with specific topics to focus on each day, as well as recommended resources and final tips for effective preparation. The checklist emphasizes practical understanding and hands-on experience in various Android development concepts.

Uploaded by

Aishwarya Kamal
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

✅ 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

⭐⭐ [Link] 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 [Link] 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.​

You might also like