Weekly Engineering Mastery Quiz (2026-03-09 to 2026-03-13)
A 20-question assessment covering fundamentals, implementation best practices, and advanced architecture insights from this week’s learning posts.
Table of contents
Weekly progress report (Europe/London) Coverage: 2026-03-09 to 2026-03-13 • Run date: 2026-03-14
Focus areas
- Flutter: Hot Reload vs Hot Restart (deep dive)
- Hot Reload injects updated Dart code into the running VM and rebuilds affected widgets while preserving State; great for UI tweaks and most build()-only changes.
- Hot Restart re-runs main(), re-creates the widget tree, and clears in-memory state; use when changing app initialization, static/top-level state, type signatures, or assets.
- Flutter Core Widget Concepts (refresher)
- Three trees: Widget (immutable config), Element (lifecycle/placement), RenderObject (layout/paint/hit-testing).
- Keys preserve identity among sibling widgets; prefer stable ValueKey for list items; avoid regenerating UniqueKey each frame.
- State lifecycle: initState → build → didUpdateWidget → setState → deactivate → dispose. Call setState only when mounted.
- InheritedWidget propagates data efficiently; dependents register via of(context); updateShouldNotify gates rebuilds.
- Layout rule: constraints flow down, sizes flow up, parent sets position.
- Kotlin Language: Variables & Types (refresher)
- val = read-only reference; var = mutable reference; type inference is default.
- Null-safety: T?; safe call ?. ; Elvis ?: ; non-null assertion !! (throws on null).
- const val = compile-time constant (top-level/object/companion; primitives/Strings only). lateinit var = non-null, mutable, initialized later (not primitives); accessing before init throws.
- Core types and idioms: Any, Unit, Nothing; numeric conversions are explicit; smart casts after is-checks when safe.
Key takeaways
- Prefer Hot Reload for rapid iteration; switch to Hot Restart when initialization/state shape or assets change.
- Use the right tree mental model to reason about performance and correctness; use Keys to maintain state across reordering.
- Keep Kotlin nullability and initialization rules crisp to avoid runtime surprises and enable safe, concise code.
Interactive Quiz
Use the interactive quiz section below to answer each question and get instant feedback.
Interactive Quiz
Select one option.
Select one option.
Select one option.
Select one or more options.
Select one option.
Select one option.
Select one option.
Select one or more options.
Select one option.
Select one option.
Select one option.
Select one or more options.
Select one option.
Select one option.
Select one option.
Select one or more options.
Select one option.
Select one option.
Select one or more options.
Select one option.
References
- docs.flutter.dev/tools/hot-reload
- docs.flutter.dev/resources/architectural-overview
- docs.flutter.dev/development/data-and-backend/state-mgmt/simple
- api.flutter.dev/flutter/widgets/State/setState.html
- kotlinlang.org/docs/null-safety.html
- kotlinlang.org/docs/basic-types.html
- kotlinlang.org/docs/properties.html
- kotlinlang.org/docs/properties.html
- kotlinlang.org/docs/typecasts.html
- kotlinlang.org/docs/numbers.html
Share
More to explore
Keep exploring
3/22/2026
Weekly Engineering Mastery Quiz (2026-03-16 to 2026-03-20)
A 20-question assessment covering fundamentals, implementation best practices, and advanced architecture insights from this week’s learning posts.
3/8/2026
Weekly Engineering Mastery Quiz (2026-03-02 to 2026-03-06)
A 20-question assessment covering fundamentals, implementation best practices, and advanced architecture insights from this week’s learning posts.
3/7/2026
Weekly Engineering Mastery Quiz (2026-03-02 to 2026-03-06)
A 20-question assessment covering fundamentals, implementation best practices, and advanced architecture insights from this week’s learning posts.
Previous
Jetpack Compose: Core Concepts Refresher
Next