2 min read

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.

#Learning-log#Quiz#Assessment Weekly Quiz

Table of contents

  1. Interactive Quiz

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

Score: 0 / 20 | Answered: 0 / 20

Q1 In Flutter, what does Hot Reload primarily do?

Fundamentals

Select one option.

Q2 When should you prefer Hot Restart over Hot Reload?

Fundamentals

Select one option.

Q3 In Flutter’s architecture, which tree holds immutable configuration describing the UI?

Fundamentals

Select one option.

Q4 Which statements about Kotlin val and var are true?

Fundamentals

Select one or more options.

Q5 Which Kotlin operator safely calls a member when the receiver may be null?

Fundamentals

Select one option.

Q6 To preserve a list item’s State when reordering same-type siblings in Flutter, what should you use?

Intermediate

Select one option.

Q7 Which statement about Flutter’s layout model is correct?

Intermediate

Select one option.

Q8 Which changes generally require a Hot Restart (not just Hot Reload) in Flutter?

Intermediate

Select one or more options.

Q9 What does the Elvis operator (?:) do in Kotlin?

Intermediate

Select one option.

Q10 Which Kotlin declaration is a valid compile-time constant usable in annotations?

Intermediate

Select one option.

Q11 When is it safe to call setState in Flutter?

Intermediate

Select one option.

Q12 Which statements about InheritedWidget are true?

Intermediate

Select one or more options.

Q13 Which State method is called when the parent rebuilds with a new configuration of the same widget type?

Advanced

Select one option.

Q14 Which Key choice guarantees a new identity each build and therefore prevents state reuse if regenerated every frame?

Advanced

Select one option.

Q15 During a successful Hot Reload, what happens to a StatefulWidget’s State object?

Advanced

Select one option.

Q16 Which statements about RenderObjects are true in Flutter?

Advanced

Select one or more options.

Q17 In Kotlin, what does the type Nothing represent?

Advanced

Select one option.

Q18 When does Kotlin perform smart casts automatically?

Advanced

Select one option.

Q19 Which statements about Kotlin lateinit var are true?

Advanced

Select one or more options.

Q20 Which Kotlin declaration gives a read-only reference to a mutable collection (the collection itself can change)?

Advanced

Select one option.

References

Share

More to explore

Keep exploring

Previous

Jetpack Compose: Core Concepts Refresher

Next

Kotlin Language: Variables & Types Refresher