AND

Test yourself

Quiz — Multiple Choice

Pick an answer; it instantly marks it right or wrong and explains why. Your answers are saved in this browser, so you can come back and finish.

Score 0 / 0 answered · 58 total
  1. Q1What does the Elvis operator ?: do?Kotlin
  2. Q2Which scope function returns the receiver object (not the lambda result)?Kotlin
  3. Q3Why does an exhaustive `when` over a sealed type need no `else`?Kotlin
  4. Q4What does `reified` require to work?Kotlin
  5. Q5`List<out T>` expresses which kind of variance?Kotlin
  6. Q6What does a Baseline Profile improve?Optimization
  7. Q7A Composable re-runs on every recomposition even though its data looks unchanged. Most likely cause?Optimization
  8. Q8Best key for a LazyColumn whose items can reorder or be deleted?Optimization
  9. Q9What's the correct first step before optimizing performance?Optimization
  10. Q10An ANR is most often caused by what?Optimization
  11. Q11Which tool auto-detects retained objects and shows the reference chain in debug builds?Optimization
  12. Q12Why prefer an Android App Bundle (AAB) over a universal APK?Optimization
  13. Q13What does on-device inference primarily buy you?On-Device AI
  14. Q14How do apps typically access Gemini Nano on Android?On-Device AI
  15. Q15Why quantize an on-device model (e.g. int4/int8)?On-Device AI
  16. Q16Best way to ship a multi-hundred-MB on-device model?On-Device AI
  17. Q17In Kotlin, `a == b` on two data class instances compares…Kotlin
  18. Q18What does a @JvmInline value class primarily provide?Kotlin
  19. Q19Edge-to-edge layouts should pad around system bars using…Optimization
  20. Q20Excessive 'red' in the Debug GPU Overdraw tool indicates…Optimization
  21. Q21Why batch token emissions when streaming an on-device LLM into Compose?On-Device AI
  22. Q22Gemini Nano is hosted by which Android system component?On-Device AI
  23. Q23In a coroutineScope, one child throws. What happens to the siblings?Coroutines
  24. Q24Why is `catch (e: Exception)` around a suspend call risky?Coroutines
  25. Q25Which operator cancels the previous inner flow when a new value arrives?Coroutines
  26. Q26flowOn(Dispatchers.IO) affects which part of the chain?Coroutines
  27. Q27What makes coroutine cancellation actually stop a tight CPU loop?Coroutines
  28. Q28Which emits whenever ANY source emits, pairing with the latest of the others?Coroutines
  29. Q29What is mandatory inside callbackFlow to avoid leaking the listener?Coroutines
  30. Q30Why prefer Mutex.withLock over synchronized inside a coroutine?Coroutines
  31. Q31A Channel-based event delivers each event to…Coroutines
  32. Q32Where does an exception from `async` surface?Coroutines
  33. Q33Reading scroll offset only inside Modifier.offset { } lambda avoids what?Compose
  34. Q34Why might a Composable taking List<T> never be skipped?Compose
  35. Q35You need the latest onClick lambda inside a long-running keyed effect without restarting it. Use…Compose
  36. Q36derivedStateOf is the right tool when…Compose
  37. Q37Which launches a coroutine from a button's onClick?Compose
  38. Q38Modifier.padding(16.dp).background(Blue) vs .background(Blue).padding(16.dp) differ because…Compose
  39. Q39Which collects ViewModel StateFlow with lifecycle awareness in Compose?Compose
  40. Q40Why prefer LazyColumn over Column(verticalScroll) for a long list?Compose
  41. Q41A ViewModel survives rotation but loses state after the OS kills the backgrounded app. The fix?Framework
  42. Q42Why observe LiveData/Flow with viewLifecycleOwner in a Fragment?Framework
  43. Q43Which work API guarantees execution across process death and reboot with constraints?Framework
  44. Q44User taps Refresh 10 times. How do you avoid 10 queued sync jobs?Framework
  45. Q45When is a foreground Service the right choice?Framework
  46. Q46Why won't a manifest-registered receiver fire for most implicit broadcasts on modern Android?Framework
  47. Q47Which Hilt annotation efficiently binds an interface to its implementation?DI
  48. Q48Two bindings of the same type cause a Hilt build error. The fix?DI
  49. Q49Why prefer constructor injection over field injection?DI
  50. Q50A Room @Query returning Flow<List<T>> does what when the table changes?Data
  51. Q51Main reason DataStore is preferred over SharedPreferences?Data
  52. Q52Which Paging 3 component implements offline-first network+DB paging?Data
  53. Q53What makes coroutine tests deterministic?Testing
  54. Q54Which library asserts Flow emissions with awaitItem()?Testing
  55. Q55Compose UI tests assert against what?Testing
  56. Q56Why migrate annotation processing from kapt to KSP?Gradle
  57. Q57Defaulting to `implementation` over `api` mainly buys you…Gradle
  58. Q58A feature works in debug but crashes in release with a 'class not found'. Likely cause?Gradle