Skip to content
tezvyn:

📱Mobile Dev

Mobile app development across platforms

324 bites

Test yourself: Top 30 advanced Mobile Dev interview questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Advanced everything in Mobile Dev, page 4

advanced1 min read

Why can't you subscript a Swift String with an Int?

Characters are extended grapheme clusters of variable byte width, so integer offsets are not O(1) or meaningful; String.Index is an opaque position you advance via the collection.

advanced1 min read

Building a custom implicitly animated widget

Extend ImplicitlyAnimatedWidget, use AnimatedWidgetBaseState, define tweens in forEachTween, read values in build.

advanced1 min read

Diagnosing and fixing CustomPainter jank

Avoid work in paint, gate repaints with shouldRepaint, isolate with RepaintBoundary, cache static layers.

advanced1 min read

Immutable bloc state versus mutable ChangeNotifier

Immutable gives predictable diffs, easy debugging and replayability at the cost of boilerplate; mutable is terse but error-prone.

advanced1 min read

LayoutBuilder versus MediaQuery for responsive widgets

MediaQuery reports the whole window; LayoutBuilder gives the parent's actual constraints.

intermediate1 min read

Android Becomes an Intelligence System: I/O 2026 Recap

Google’s I/O 2026 Android recap introduced AppFunctions experiments, Gemini Nano 4 previews and tools for hybrid AI. Check each feature’s availability and device requirements before using it in production.

intermediate2 min read

Kotlin 2.4.0 Ships Stable Context Parameters and UUID API

Kotlin 2.4.0 ships stable context parameters, a built-in UUID API, and Java 26 support. Context parameters replace manual dependency threading through call chains.

intermediate2 min read

Android CLI 1.0 Stable Unlocks Headless CI

Android CLI 1.0 went stable at I/O, exposing project scaffolding and device management commands that run without Android Studio. The release finally lets teams script full build pipelines on headless agents and remote dev boxes.

Unify Android EventBus and RxJava with Kotlin Flow
intermediate1 min read

Unify Android EventBus and RxJava with Kotlin Flow

Mixing EventBus, RxJava, and Kotlin Flow in Android codebases creates memory leaks and GC pressure from stream wrapping. Operator translation and lifecycle mismatches drive engineering debt.

I/O 2026 Standardizes AI Server-Driven UI for Android
intermediate1 min read

I/O 2026 Standardizes AI Server-Driven UI for Android

I/O 2026 made A2UI, Remote Compose, and AppFunctions first-class Android primitives, validating AI server-driven UIs. KMP plus Compose Multiplatform renders cross-platform from one codebase.

isCoreLibraryDesugaringEnabled Nears End of Life
intermediate1 min read

isCoreLibraryDesugaringEnabled Nears End of Life

isCoreLibraryDesugaringEnabled and desugar_jdk_libs 2.1.3 are being phased out as Google modularizes Android system updates, ending the j$ namespace workaround for java.time on legacy devices.

Kotlin 2.4.0 Preview, Unified Toolchain, and LSP Alpha Land
intermediate1 min read

Kotlin 2.4.0 Preview, Unified Toolchain, and LSP Alpha Land

Kotlin 2.4.0 stabilizes context parameters and explicit backing fields. A new Kotlin Toolchain unifies build, test, and agent workflows under one command, while the Language Server hits Alpha.

Koog 1.0 Stabilizes Kotlin AI Agent Framework
intermediate1 min read

Koog 1.0 Stabilizes Kotlin AI Agent Framework

Koog 1.0 locks APIs for one year in JetBrains' Kotlin AI agent framework, adding local Android LiteRT inference and OpenTelemetry. JVM teams can build production agents without breaking changes. Adopt stable core first, then add beta features as needed.

Kotlin 2.4.0 ships Swift package support and Java 26
intermediate1 min read

Kotlin 2.4.0 ships Swift package support and Java 26

Kotlin 2.4.0 adds Swift package dependencies for Native, Java 26 for JVM, and WebAssembly Component Model. Multiplatform teams can consume Swift libraries directly and target newer Java. Upgrade via IntelliJ IDEA, Android Studio, or Gradle.

How does App Bundle handle ABI splits versus multi-APK?
advanced2 min read

How does App Bundle handle ABI splits versus multi-APK?

Tests dynamic delivery of native libs: AAB auto-generates per-ABI config splits, but multi-APK requires manual APK builds per ABI. Misconfiguration ships unused .so bloat or crashes on unsupported devices. Red flag: calling AAB a simple multi-APK zip.

Write the ProGuard keep rule to fix reflection after R8
advanced2 min read

Write the ProGuard keep rule to fix reflection after R8

This tests R8 dead-code removal and exact ProGuard syntax for reflective constructors. A strong answer gives -keep class com.example.T { <init>(...); } because R8 cannot trace dynamic class names. Broad -keep rules or omitting constructor are red flags.

Describe Hilt's component hierarchy and scope injection rules
advanced2 min read

Describe Hilt's component hierarchy and scope injection rules

Tests whether you understand Hilt's generated component tree and scoping rules. A strong answer lists the hierarchy, explains parent-outlives-child semantics, and states that ActivityScoped-into-Singleton injection fails at compile time.

Explain the difference between Gradle build types and product flavors.
advanced2 min read

Explain the difference between Gradle build types and product flavors.

If you know build types are how an app is built—debug versus release—while flavors are what is shipped, like free versus paid. Variants are the Cartesian product.

Adaptive React Native UIs for Tablets and Foldables
advanced2 min read

Adaptive React Native UIs for Tablets and Foldables

Adaptive UI is context-aware layout, not just stretching pixels. It matters when a phone app hits a tablet or a foldable unfolds. Most devs stop at flexbox and wonder why the tablet experience still feels like a blown-up phone.

Design state-driven navigation for a conditional wizard in UIKit and SwiftUI
advanced2 min read

Design state-driven navigation for a conditional wizard in UIKit and SwiftUI

This tests separating navigation state from UI. Model the flow as a state machine enum, derive the stack from state, and unit test transitions in plain Swift. A red flag is imperative pushes inside views or view controllers.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles