| 1 | How do the async and await keywords let you write asynchronous code in Dart that reads and looks like simple, straightforward sequential code? Flutter › Dart Asynchronous Programming (Future & async/await) | Flutter | Dart Asynchronous Programming (Future & async/await) | Beginner |
| 2 | What is the difference between microtasks and the event queue in Dart's event loop, and how does this affect the precise order in which asynchronous code actually executes? Flutter › Dart Asynchronous Programming (Future & async/await) | Flutter | Dart Asynchronous Programming (Future & async/await) | Intermediate |
| 3 | How can you properly cancel an in progress asynchronous operation in Dart, such as a network request, when it is no longer actually needed, for example because the user has already navigated away from that specific screen? Flutter › Dart Asynchronous Programming (Future & async/await) | Flutter | Dart Asynchronous Programming (Future & async/await) | Advanced |
| 4 | What is a Future in Dart, and how does it represent a value that will not actually be available until some point later in time? Flutter › Dart Asynchronous Programming (Future & async/await) | Flutter | Dart Asynchronous Programming (Future & async/await) | Beginner |
| 5 | How do you properly handle errors that occur during an asynchronous operation using a try catch block combined with async and await? Flutter › Dart Asynchronous Programming (Future & async/await) | Flutter | Dart Asynchronous Programming (Future & async/await) | Intermediate |
| 6 | How does Future.wait let you run several independent asynchronous operations concurrently and wait for all of them to complete together, rather than awaiting each one sequentially one after another? Flutter › Dart Asynchronous Programming (Future & async/await) | Flutter | Dart Asynchronous Programming (Future & async/await) | Intermediate |
| 7 | How can improper use of unawaited Futures introduce subtle bugs, such as a race condition or an unhandled error, into a Flutter application, and how does the unawaited function help make this deliberate choice explicit? Flutter › Dart Asynchronous Programming (Future & async/await) | Flutter | Dart Asynchronous Programming (Future & async/await) | Advanced |
| 8 | What is a Stream in Dart, and how does it differ from a Future in terms of how many values it can actually provide over time? Flutter › Dart Streams & StreamControllers | Flutter | Dart Streams & StreamControllers | Beginner |
| 9 | What is an isolate in Dart, and how does it fundamentally differ from a traditional operating system thread used for genuine concurrent execution in many other programming languages? Flutter › Flutter Isolates & Multithreading | Flutter | Flutter Isolates & Multithreading | Beginner |
| 10 | What is a platform channel in Flutter, and how does it let your Dart code actually communicate with genuine native Android or iOS code when a required specific capability is not already available through an existing plugin? Flutter › Platform Channels (Native Android & iOS Integration) | Flutter | Platform Channels (Native Android & iOS Integration) | Beginner |
| 11 | How should you properly and correctly handle an error that genuinely occurs on the native side of a platform channel, and how does that particular error actually get properly reported back to your own Dart code? Flutter › Platform Channels (Native Android & iOS Integration) | Flutter | Platform Channels (Native Android & iOS Integration) | Intermediate |
| 12 | How should you properly and correctly avoid calling setState after a StatefulWidget's own associated State object has genuinely already been disposed of, such as after an asynchronous operation genuinely completes following a user having already navigated away? Flutter › State Management with setState | Flutter | State Management with setState | Intermediate |
| 13 | How does Dart's newer Isolate.run API simplify the process of running a specific one off computation on a separate isolate compared to the older, considerably more manual Isolate.spawn combined with ReceivePort approach? Flutter › Flutter Isolates & Multithreading | Flutter | Flutter Isolates & Multithreading | Advanced |
| 14 | How can you properly and safely use a BuildContext across an asynchronous gap, such as directly after an await statement, without genuinely risking using a context that has since actually genuinely become invalid because its own underlying widget was already disposed of in the meantime? Flutter › Flutter Widget Tree, Element Tree & BuildContext | Flutter | Flutter Widget Tree, Element Tree & BuildContext | Advanced |
| 15 | Why is proper error handling important in a Flutter app, and what happens by default if an unhandled exception occurs somewhere within a running app? Flutter › Error Handling & Crash Reporting (Sentry & Crashlytics) | Flutter | Error Handling & Crash Reporting (Sentry & Crashlytics) | Beginner |
| 16 | What is the main isolate in a Flutter app, and why should genuinely expensive, computationally intensive work generally be avoided from running directly on it? Flutter › Flutter Isolates & Multithreading | Flutter | Flutter Isolates & Multithreading | Beginner |
| 17 | What are the basic different provider types in Riverpod, such as Provider, StateProvider, and FutureProvider, and when would you specifically reach for each individual different one? Flutter › Flutter Riverpod Code Generation & Providers | Flutter | Flutter Riverpod Code Generation & Providers | Beginner |
| 18 | How do you properly set up Flutter's global error handling using FlutterError.onError and PlatformDispatcher.instance.onError to automatically capture every uncaught error and forward it to a crash reporting service? Flutter › Error Handling & Crash Reporting (Sentry & Crashlytics) | Flutter | Error Handling & Crash Reporting (Sentry & Crashlytics) | Intermediate |
| 19 | How should you properly handle a genuine network timeout and other common network errors, such as no internet connectivity, when making a request using either the http or Dio packages? Flutter › Networking with HTTP & Dio | Flutter | Networking with HTTP & Dio | Intermediate |
| 20 | How do you properly implement request cancellation using Dio's own CancelToken, such as cancelling a search request the moment a user genuinely types a brand new different search query? Flutter › Networking with HTTP & Dio | Flutter | Networking with HTTP & Dio | Intermediate |
| 21 | How do you properly handle loading, error, and data states when working with a FutureProvider or a StreamProvider in Riverpod, using the resulting AsyncValue's own convenient when method? Flutter › State Management with Riverpod | Flutter | State Management with Riverpod | Intermediate |
| 22 | How can you properly implement request deduplication to prevent several genuinely separate identical simultaneous requests for exactly the same particular data from all actually and wastefully hitting your backend server together at once? Flutter › REST API Integration in Flutter | Flutter | REST API Integration in Flutter | Advanced |
| 23 | How should you properly design your app's own networking layer to genuinely support parallel loading of several genuinely independent pieces of data needed for a single given screen, while still properly and gracefully handling the case where just one of those particular requests genuinely happens to fail? Flutter › REST API Integration in Flutter | Flutter | REST API Integration in Flutter | Advanced |