Skip to content
tezvyn:

📱Mobile Dev

Mobile app development across platforms

685 bites

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

Intermediate everything in Mobile Dev, page 7

intermediate1 min read

Difference between frame, bounds, and center

Frame and center are in the superview's space; bounds is the view's own space, usually origin zero. A non-identity transform makes frame undefined to read.

intermediate1 min read

Add a default header to every URLSession request

Set httpAdditionalHeaders on a URLSessionConfiguration, build the session from it, mention per-request overrides win.

intermediate1 min read

What is @MainActor and why does it matter?

@MainActor is a global actor guaranteeing code runs on the main thread; annotate UI-updating types or methods so post-network state changes are main-thread safe.

intermediate2 min read

Run two API calls concurrently with async let

Use async let to start two independent fetches that run concurrently, then await both, so total time approaches the slower call rather than the sum.

intermediate2 min read

URLSession data vs download vs upload tasks

Data tasks buffer responses in memory for small API calls; download tasks stream to a file and support background transfers for large files; upload tasks send bodies from data or files and report…

intermediate1 min read

Why store auth tokens in Keychain, not UserDefaults?

UserDefaults is an unencrypted plist readable from backups and on jailbroken devices; use Keychain Services, which stores encrypted items with access control; save with SecItemAdd and read with…

intermediate1 min read

Test Plans (XCTestPlan)

A Test Plan is an Xcode configuration file decoupling which tests run from how they run, letting one scheme execute many configurations: localizations, sanitizers, randomized order, and repetition, all without editing the scheme.

intermediate1 min read

Dart reduce versus fold on collections

Reduce combines same-type elements and throws on empty; fold takes an initial value and accumulator of any type, safe on empty.

intermediate1 min read

Auth-protected routes via GoRouter redirect

A top-level redirect reads auth state, sends unauthenticated users to login, sends logged-in users away from login, and uses refreshListenable to re-evaluate on auth change.

intermediate1 min read

Isolating and reducing excessive widget rebuilds

Push state down, use const subtrees, rebuild only listeners with ValueListenableBuilder, isolate repaints with RepaintBoundary.

intermediate1 min read

iOS code signing for a TestFlight release

A signing certificate proves who built the app; a provisioning profile ties cert, app ID and devices together; configure in Xcode, archive and upload.

intermediate1 min read

Testing a tap that triggers a SnackBar

PumpWidget the app, find the button, tester.tap it, call pump or pumpAndSettle to advance frames, then expect a SnackBar finder.

intermediate1 min read

MethodChannel data flow and type marshalling

Dart invokeMethod sends a StandardMessageCodec-serialized payload to native, which returns a primitive or map; complex objects must be reduced to supported types.

intermediate1 min read

Per-tab navigation stacks with StatefulShellRoute

StatefulShellRoute keeps a separate Navigator and preserved state per branch, with a shared shell scaffold.

intermediate2 min read

Classic BLoC with Streams and Sinks

Classic BLoC separates UI from business logic by exposing inputs as Sinks and outputs as Streams. The widget pushes events into sinks, the BLoC processes them, and emits new state on streams that the UI rebuilds from, keeping logic testable and…

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.

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