Skip to content
tezvyn:

📱Mobile Dev

Mobile app development across platforms

652 bites

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

Interview questions in Mobile Dev, page 27

easy1 min read

Diagnosing choppy scrolling performance

Reach for Instruments, especially the Time Profiler and Core Animation/Hangs tools, and look for main-thread work and dropped frames.

intermediate2 min read

What does flutter build appbundle --release do to minimize size?

Dart AOT compiles and tree-shakes dead code; R8 shrinks Android Java/Kotlin; app bundles split by ABI.

Diagnose Android UI jank using Android Studio's Profiler
intermediate2 min read

Diagnose Android UI jank using Android Studio's Profiler

Start with CPU Profiler for traces over 16ms and main thread blocking; check Memory Profiler for GC.

intermediate1 min read

Android App Bundles versus Universal APKs

An AAB is an upload format; Play generates per-device APKs via dynamic delivery, shrinking download size.

intermediate1 min read

Struct versus class performance and memory tradeoffs

Structs are value types, often stack-allocated with no ARC; classes are heap-allocated reference types with retain counts.

intermediate3 min read

Walk me through a Flutter CI/CD pipeline for Play Store and TestFlight

Tests your ability to orchestrate multi-platform Flutter builds, manage signing secrets, and automate deployments to Google Play Internal Testing and Apple TestFlight.

Explain cold, warm, and hot app startups and three cold-start optimizations
intermediate2 min read

Explain cold, warm, and hot app startups and three cold-start optimizations

Cold means no process; warm means process lives but activity recreates; hot means activity resumes. Three fixes: lazy-load deps, trim Application.onCreate, defer blocking I/O.

intermediate1 min read

Over-the-Air Updates for JavaScript-Only Fixes

Ship a new JS bundle the app downloads at runtime and applies on next launch, with no store review.

intermediate1 min read

Exposing Swift classes to Objective-C

Subclass NSObject or mark members @objc, import the generated ModuleName-Swift.h, and accept that Swift-only types like enums with associated values cannot cross.

intermediate2 min read

How do you handle platform-specific configurations per flavor on Android and iOS?

Tests if you know flavors delegate icons and titles to native tooling. On Android, use productFlavors in build.gradle with source sets or placeholders; on iOS, use Xcode build configurations with Info.plist values or asset catalogs.

What is certificate pinning and what are its trade-offs?
intermediate2 min read

What is certificate pinning and what are its trade-offs?

Pinning hardcodes a server key to block rogue CA MITM; trade-offs are breakage on cert rotation and forced updates.

intermediate1 min read

CI/CD Pipeline for React Native to TestFlight and Play

A triggered workflow installs deps, builds signed artifacts on macOS and Linux runners, uploads via Fastlane to TestFlight and the Play internal track.

intermediate1 min read

What an autoreleasepool is and when to add one manually

An autorelease pool holds objects until it drains; wrap tight loops creating many temporary ObjC objects in autoreleasepool to cap peak memory.

advanced2 min read

Debug iOS code signing failure in CI that works locally

This tests Xcode code signing and CI keychain isolation. A strong answer checks exportOptions.plist, keychain profile presence, runner OS and Xcode versions, and entitlements mismatches. Red flag: manual local fixes or ignoring keychain access gaps.

Use Android Keystore to secure a database encryption key
advanced2 min read

Use Android Keystore to secure a database encryption key

Tests Android Keystore key generation and hardware trust boundaries. Strong answers: KeyGenParameterSpec with AES/GCM, TEE vs StrongBox isolation, setIsStrongBoxBacked on API 28+ with fallback, wrapping the database key. Red flag: claims Keystore encrypts DBs.

advanced1 min read

Designing a Fastfile for Versioning, match, and Uploads

Lanes bump versions, run match for signing, build with gym and gradle, upload via pilot and supply; secrets come from CI env or a vault.

intermediate1 min read

dispatch_async versus Task.detached for offloading work

Dispatch_async submits a closure to a queue; Task.detached starts an unstructured async task off the current actor without inheriting context.

easy2 min read

Why use const for Flutter widgets and how does it improve performance?

Tests widget canonicalization and rebuild short-circuiting. Strong answer: const enables instance reuse and skips subtree rebuilds on parent updates, reducing allocations.

Explain generational GC in ART and why onDraw must avoid allocations
advanced2 min read

Explain generational GC in ART and why onDraw must avoid allocations

Covers young-gen nursery, mark-sweep fallback, and why a 5-10ms GC pause misses 16ms frame deadline.

advanced1 min read

Optimizing Slow iOS CI Build Times

Profile the build, cache CocoaPods and DerivedData, use prebuilt frameworks, parallelize, scope to changed work.

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