Skip to content
tezvyn:

Flutter & Dart

Flutter framework, Dart language, packages, Impeller

34 bites

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

Easy interview questions in Flutter & Dart, page 2

easy2 min read

Explain FutureBuilder and how it manages async UI states

This tests declarative async UI state management. Obtain the Future before build, pass it to FutureBuilder, and branch on snapshot.connectionState and hasError to render loading, data, or error states.

easy2 min read

Purpose of factory fromJson constructor in Dart models

Factory fromJson centralizes deserialization, preprocesses Map values before instantiation, and keeps the primary constructor clean.

easy2 min read

When to use SQLite over key-value storage?

Tests structured-vs-flat storage judgment. Good answers cite relational data, complex queries, or multi-table schemas, then list adding the dependency, getting a path, opening with onCreate, and keeping a singleton.

easy2 min read

Implicit vs explicit animations: AnimatedContainer or AnimationController?

Knowledge of Flutter's implicit versus explicit animation paradigms. Implicit widgets auto-animate property changes on rebuild; explicit controllers manage playback manually. Red flag: saying explicit is always superior or that implicit animations cannot stop.

easy2 min read

Describe CustomPaint and CustomPainter and implement a circle

This tests Flutter's render delegation. Separate CustomPaint, the canvas widget, from CustomPainter, the drawing logic; cover canvas.drawCircle and shouldRepaint returning false. Red flags: calling setState in paint or ignoring shouldRepaint.

easy2 min read

How do AnimationController and TickerProvider work together to drive animations?

Tests your grasp of Flutter's imperative animation engine. AnimationController stores value and direction; TickerProvider (via vsync) schedules frame callbacks; paired they emit 60–120 ticks per second.

easy2 min read

What native iOS and Android config does the Flutter camera plugin need?

Tests native platform knowledge beyond Dart. iOS requires NSCameraUsageDescription and NSMicrophoneUsageDescription in Info.plist. Android needs minSdk 24 and choosing between CameraX or Camera2 implementations.

easy2 min read

Explain the purpose of MethodChannel and how it enables Dart-to-native calls

MethodChannel lets Dart encode a method call; the platform host decodes it on the main thread, runs native code, and returns an async result.

easy2 min read

Unit, widget, and integration test differences in Flutter

Tests your grasp of Flutter's test pyramid and isolation levels. Unit tests check pure Dart logic; widget tests verify UI in a headless environment; integration tests exercise the full app on a device. Red flag: saying widget tests require an emulator.

easy2 min read

How do you verify a Text widget with 'Hello' is present?

Find.text('Hello') locates the widget; expect(finder, findsOneWidget) asserts exactly one exists.

easy2 min read

Flutter command for an Android release build and APK vs AAB difference.

Flutter CLI release commands and Android distribution formats. Name flutter build apk and flutter build appbundle; note AAB lets Google Play generate optimized APKs per device while APK is a single direct-install file.

easy2 min read

How would you manage different backend environments in a Flutter project?

Tests Flutter build flavors and compile-time config injection. A strong answer uses dart-define or flavor-specific entry points plus an EnvironmentConfig abstraction. A red flag is manually swapping hard-coded base URLs before each build.

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.

easy2 min read

Flutter's Widget, Element, and RenderObject trees: roles and relationships

Tests your mental model of Flutter's rendering layers. Strong answer: Widget is immutable configuration; Element is the mutable lifecycle manager owning the RenderObject; RenderObject is the concrete layout and paint entity.

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