Progress Β· 0/10 sections
π π Important Topics Checklist
4 min read Β· Notion
Use this page to track your preparation progress. Check off topics as you feel confident.
π’ Kotlin Fundamentals
- null safety (
?.,?:,!!) -
valvsvar - Data class, sealed class, enum class
- Companion object vs Object
- Extension functions
- Scope functions (
let,apply,also,run,with) - Higher-order functions & lambdas
-
inline,noinline,crossinline -
lazyvslateinit - Generics:
in,out, reified - Delegation pattern
-
typealias - Destructuring declarations
- Coroutine Channels
-
Result<T>class
π‘ Android Core
- Activity Lifecycle
- Fragment Lifecycle
- Launch Modes (standard, singleTop, singleTask, singleInstance)
- Explicit vs Implicit Intents
- Parcelable vs Serializable
- RecyclerView + DiffUtil
- ViewBinding
- Runtime Permissions
- Broadcast Receivers
- Services (Foreground, Background, Bound)
- WorkManager
- Navigation Component
- Room Database (Entity, DAO, Database)
- SharedPreferences / DataStore
- Handlers, Loopers
- ViewPager2
- min/compile/target SDK differences
π΅ Coroutines & Flow
-
launchvsasync -
suspendfunction - Dispatchers (Main, IO, Default)
- Structured concurrency
-
viewModelScope,lifecycleScope -
CoroutineExceptionHandler -
SupervisorJob - Cold vs Hot Flow
-
StateFlowvsSharedFlowvsFlow -
collectLatest,debounce,conflate -
buffer()for backpressure -
combine,zip,mergeoperators -
snapshotFlow
π£ Jetpack Compose
-
@Composablerules - Recomposition internals
-
remembervsrememberSaveable -
mutableStateOf,derivedStateOf - State hoisting
-
LaunchedEffect,DisposableEffect,SideEffect -
LazyColumn/LazyRowwith keys -
Modifiersystem -
Scaffold,TopAppBar,BottomNavigationBar - Navigation in Compose
- Animations (
AnimatedVisibility,animate*AsState) - Compose + ViewModel integration
-
collectAsStateWithLifecycle -
@Stable/@Immutablefor performance - Compose Compiler Metrics
- Custom composables / Slot API
ποΈ Architecture
- MVVM pattern
- Clean Architecture (layers)
- UseCase / Interactor pattern
- Repository pattern
- MVI pattern
- Single Source of Truth
- Sealed class for UI state
- SOLID principles
- Dependency Inversion
π Dependency Injection
- DI vs Service Locator
- Hilt setup (
@HiltAndroidApp,@AndroidEntryPoint) -
@HiltViewModel -
@Module,@Provides,@Binds - Hilt scopes
-
@Qualifier -
@EntryPoint
π§ͺ Testing
- Unit test for ViewModel
-
MainDispatcherRule -
runTestfor coroutines - MockK basics
- Testing StateFlow
- In-memory Room testing
- Compose UI testing
-
InstantTaskExecutorRulefor LiveData
βοΈ Performance & Memory
- Memory leak common causes
- LeakCanary
- App startup types (cold/warm/hot)
- ANR detection + StrictMode
- Compose performance pitfalls
-
@Stable/@Immutable - Baseline Profiles
- Value classes (
@JvmInline)
π Kotlin Multiplatform
-
expect/actual - Shared module structure
- KMP with Ktor + SQLDelight
- KMP limitations
- Compose Multiplatform status