

















































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This exam prepares candidates for the Flutter Certified Application Developer certification. Topics include Flutter framework, Dart programming, UI design, state management, asynchronous programming, and integration with APIs for mobile app development.
Typology: Exams
1 / 89
This page cannot be seen from the preview
Don't miss anything!


















































































Question 1. Which keyword is used to declare a compile-time constant value that is the same for every instance of a class? A) var B) final C) const D) static Answer: C Explanation: const creates a compile-time constant, shared across all instances, whereas final is runtime-only and instance-specific. Question 2. In Dart null safety, which operator asserts that a nullable expression is non-null at runtime? A)? B)! C) ?? D) ??= Answer: B Explanation: The postfix ! operator performs a null-check and throws a LateError if the value is null, allowing the value to be treated as non-nullable. Question 3. What is the result of the expression 5 is int? A) true B) false C) throws a compile-time error D) null Answer: A
Explanation: The is operator tests type at runtime; 5 is an int, so the expression evaluates to true. Question 4. Which of the following statements about late variables is correct? A) They must be initialized at declaration. B) They can be non-nullable without an initializer. C) They are always immutable. D) They cannot be used with final. Answer: B Explanation: late allows a non-nullable variable to be initialized later, deferring the initialization until first use. Question 5. Which control-flow statement in Dart allows you to iterate over each element in an iterable without exposing the index? A) for (var i = 0; i < list.length; i++) B) while (condition) C) for (var item in list) D) do … while (condition) Answer: C Explanation: The enhanced for-in loop iterates directly over the elements of an iterable. Question 6. Which collection type guarantees that its elements are unique? A) List B) Map C) Set
C) with D) mixin Answer: C Explanation: The with keyword is used to apply a mixin to a class. Question 10. Which of the following correctly overrides a method from a superclass? A) void draw() { super.draw(); } B) @override void draw() { super.draw(); } C) override void draw() { super.draw(); } D) void draw() @override { super.draw(); } Answer: B Explanation: The @override annotation before the method signals an intentional override. Question 11. What does the factory constructor allow you to do that a generative constructor does not? A) Return a subclass instance. B) Initialize final fields. C) Use initializer lists. D) Require const keyword. Answer: A Explanation: A factory constructor can return an existing instance or an instance of a subclass, providing flexibility beyond generative constructors. Question 12. In Dart, which operator is used for type-casting that may throw an exception if the cast fails? A) as
B) is C) is! D) ?? Answer: A Explanation: The as operator performs a cast and throws a CastError if the object is not of the target type. Question 13. Which statement about asynchronous functions in Dart is true? A) An async function always returns a Future. B) await can be used only inside an async function. C) await blocks the UI thread. D) async functions cannot have parameters. Answer: B Explanation: await may only appear within an async function; it pauses execution of that function without blocking the UI thread. Question 14. Which method on a Stream allows you to listen for data events and handle errors? A) then() B) listen() C) map() D) where() Answer: B Explanation: listen registers callbacks for data, error, and done events on a Stream.
Explanation: Scaffold implements the basic visual layout structure for material design apps. Question 18. Which widget is best suited for displaying a scrollable, lazily built list of items? A) ListView.builder B) ListView(children: …) C) Column D) GridView.count Answer: A Explanation: ListView.builder creates items on demand as they scroll into view, optimizing memory usage. Question 19. To create a responsive layout that adapts to screen width, which widget can be used to obtain the constraints at runtime? A) MediaQuery B) LayoutBuilder C) Expanded D) Flexible Answer: B Explanation: LayoutBuilder provides the parent’s constraints via its builder callback, enabling responsive decisions. Question 20. Which widget aligns its child within itself according to an Alignment value? A) Center B) Align C) Padding
D) Positioned Answer: B Explanation: Align positions its child based on the alignment property (e.g., Alignment.topRight). Question 21. Which widget expands a child to fill the remaining space in a Row or Column? A) Flexible B) Expanded C) SizedBox.expand D) Spacer Answer: B Explanation: Expanded forces its child to take up all available free space in the main axis. Question 22. Which of the following widgets provides a material design button that reacts to user taps with a splash effect? A) TextButton B) ElevatedButton C) IconButton D) OutlinedButton Answer: B Explanation: ElevatedButton is a material button that shows a splash and elevation change on tap. Question 23. What is the effect of wrapping a widget with GestureDetector and providing an onTap callback? A) The widget becomes focusable.
Question 26. Which theme property controls the default color of AppBar across the app? A) primaryColor B) accentColor C) scaffoldBackgroundColor D) appBarTheme.color Answer: D Explanation: AppBarTheme within ThemeData defines default styling for all AppBar widgets; color sets its background. Question 27. How can you include a custom font in a Flutter project? A) Add the font file to assets/ and reference it in pubspec.yaml under fonts. B) Place the font in lib/ and import it directly. C) Use GoogleFonts package only. D) Add the font path to android/app/src/main/assets. Answer: A Explanation: Fonts are declared under the fonts: section of pubspec.yaml, pointing to files in the assets directory. Question 28. Which widget should you use to ensure that UI elements are not obscured by system UI such as the notch or status bar? A) SafeArea B) Padding C) MediaQuery D) Align Answer: A
Explanation: SafeArea adds padding to avoid intrusions from system UI overlays. Question 29. Which lifecycle method of a StatefulWidget is called only once when the widget is inserted into the tree? A) initState B) didChangeDependencies C) build D) dispose Answer: A Explanation: initState runs a single time after the state object is created. Question 30. When should you call setState in a StatefulWidget? A) Inside the widget’s constructor. B) After modifying a state variable to trigger a rebuild. C) In the build method. D) Inside dispose. Answer: B Explanation: setState notifies the framework that the state changed, prompting a rebuild of the widget. Question 31. Which of the following is NOT a valid way to pass data from a parent widget to a child widget? A) Constructor parameters. B) InheritedWidget. C) Global variables. D) Provider’s read method inside the child. Answer: C
Answer: B Explanation: pop removes the topmost route from the navigation stack, revealing the previous route. Question 35. How do you define a named route in MaterialApp? A) routes: {'/home': (context) => HomeScreen()} B) namedRoutes: {'/home': HomeScreen()} C) routeNames: ['/home'] D) navigator: {'/home': HomeScreen()} Answer: A Explanation: The routes map associates a string name with a builder function for that route. Question 36. Which property of MaterialApp allows you to customize route generation for unknown route names? A) onGenerateRoute B) onUnknownRoute C) routes D) navigatorKey Answer: A Explanation: onGenerateRoute is called for any route name not found in routes, enabling dynamic route creation. Question 37. In the http package, which method is used to send a POST request with a JSON body? A) http.get(uri) B) http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/json'})
C) http.put(uri) D) http.delete(uri) Answer: B Explanation: http.post with appropriate headers and a JSON-encoded body sends a POST request. Question 38. When decoding JSON in Dart, which class is typically used to convert a JSON string into a Dart map? A) JsonDecoder B) jsonDecode (from dart:convert) C) JsonParser D) Map.fromJson Answer: B Explanation: jsonDecode from dart:convert parses a JSON string into a Map. Question 39. Which package is most commonly used for simple key-value persistence on both Android and iOS? A) sqflite B) hive C) shared_preferences D) path_provider Answer: C Explanation: shared_preferences provides a lightweight API for storing primitive data types. Question 40. Which Flutter plugin allows you to pick an image from the device’s gallery?
Question 43. Which testing type focuses on verifying a single Dart class’s business logic without UI involvement? A) Unit test B) Widget test C) Integration test D) Golden test Answer: A Explanation: Unit tests isolate a piece of code (often a class or function) and run in a pure Dart environment. Question 44. In a widget test, which class provides methods to interact with the widget tree, such as tapping and entering text? A) WidgetTester B) TestWidgetsFlutterBinding C) Finder D) TestWidgetsFlutterBinding.instance Answer: A Explanation: WidgetTester offers tap, enterText, pump, and other utilities for widget testing. Question 45. Which Flutter DevTools feature helps you visualize the widget hierarchy and identify rebuilds? A) Timeline view B) Widget inspector C) Memory tab D) CPU profiler Answer: B
Explanation: The Widget Inspector displays the widget tree and highlights widgets that rebuild. Question 46. What does the hot reload feature do? A. Restarts the entire application process. B. Recompiles changed Dart code and updates the UI while preserving state. C. Clears the widget cache. D. Generates a release build. Answer: B Explanation: Hot reload injects updated source code into the running Dart VM, refreshing UI without losing the current state. Question 47. Which property of pubspec.yaml lists the external packages your app depends on? A) dependencies B) dev_dependencies C) assets D) flutter Answer: A Explanation: The dependencies section declares runtime packages required by the app. Question 48. Which widget is used to display a hero animation between two routes? A) AnimatedContainer B) Hero C) FadeTransition D) PageRouteBuilder
C) AccessibleWidget D) AccessibilityNode Answer: A Explanation: Semantics annotates the widget subtree with accessibility metadata. Question 52. In Dart, what does the ??= operator do? A) Assigns a value only if the variable is null. B) Checks for null and throws an error. C) Performs a null-aware equality test. D) Returns the left operand if it is not null. Answer: A Explanation: a ??= b assigns b to a only when a is currently null. Question 53. Which of the following statements about the Future class is false? A) A Future represents a computation that completes later. B) Future.value() creates an already-completed future. C) Future.error() creates a future that completes with an error. D) Future can only be used with async functions. Answer: D Explanation: Future can be created and used without async; async merely provides syntactic sugar. Question 54. Which widget expands its child to fill the maximum width and height of its parent? A) SizedBox.expand
B) Container(width: double.infinity, height: double.infinity) C) Expanded (inside a Row/Column) D) Align(alignment: Alignment.center) Answer: A Explanation: SizedBox.expand forces its child to occupy all available space. Question 55. Which layout widget places its children on top of each other? A) Row B) Column C) Stack D) Wrap Answer: C Explanation: Stack allows children to be positioned relative to each other, overlapping as needed. Question 56. Which property of BoxDecoration controls the background color of a Container? A) color B) backgroundColor C) fillColor D) paint Answer: A Explanation: BoxDecoration.color sets the fill color of the container’s box. Question 57. Which widget should you use to limit the number of items displayed in a ListView to a fixed size without scrolling? A) ListView.builder with shrinkWrap: true