Flutter Interview Questions & Answers β Chetu Company Preparation
Flutter is one of the fastest-growing frameworks for cross-platform app development. If you are preparing for an interview (like with Chetu Company), hereβs a complete list of commonly asked Flutter Interview Questions & Answers to help you revise quickly.
πΉ 1. What is State Management in Flutter?
State management is how you manage and update the data that affects your UI. It ensures the UI automatically reflects changes in the application state.

πΉ 2. Why not always use setState
?
setState
is simple but works only inside a widget.- Not suitable for large apps as it causes unnecessary widget rebuilds.
- Difficult to scale and manage complex states.
πΉ 3. Package vs Plugin in Flutter
- Package: Reusable Dart code (e.g.,
http
,provider
). - Plugin: Dart code + Native code (Java/Kotlin for Android, Swift/Obj-C for iOS) to access device features (e.g.,
camera
,shared_preferences
).
πΉ 4. What are Keys in Flutter?
Keys are used to preserve widget state when widgets are rebuilt, especially in lists. They help Flutter differentiate between widgets with the same type.
πΉ 5. Stream in Flutter (Key Points)
- Delivers asynchronous data over time.
- Can emit multiple values (unlike Future).
- Often used with
StreamBuilder
for real-time updates.
πΉ 6. Stateful vs Stateless Widget
- Stateless: UI does not change once built (static UI).
- Stateful: UI can change dynamically based on user interaction or data.
πΉ 7. Stateful Widget Lifecycle Explanation
- createState β Creates state object.
- initState β Called once, good for initialization.
- didChangeDependencies β Called when dependencies change.
- build β Builds the widget tree.
- didUpdateWidget β Called when widget config changes.
- setState β Triggers UI rebuild.
- deactivate β Called when widget is removed from tree.
- dispose β Cleanup before widget is destroyed.
πΉ 8. What is a Mixin in Flutter?
A way to reuse a classβs code in multiple class hierarchies. It allows adding functionality without inheritance.
πΉ 9. What is Extension in Flutter?
Extensions add new methods/properties to existing classes without modifying their source code.
πΉ 10. What is ChangeNotifier?
A simple class for state management that notifies listeners when notifyListeners()
is called.
πΉ 11. What is Dependency Injection?
A design pattern where objects are provided their dependencies instead of creating them internally, improving reusability and testability.
πΉ 12. ListView vs ListView.builder (Key Points)
- ListView: Builds all items at once (good for small lists).
- ListView.builder: Builds items lazily (on demand), best for large/long lists.
πΉ 13. What is Tree Shaking?
A Dart/Flutter compiler optimization that removes unused code from the final build, reducing app size.
πΉ 14. Method Channel (Key Points)
- Used for communication between Dart and native code (Android/iOS).
- Works via a message-passing mechanism.
- Example: Accessing camera, Bluetooth, or sensors.
πΉ 15. Firebase Notifications in Flutter
Firebase Cloud Messaging (FCM) allows sending push notifications to Android/iOS apps using Firebase.
πΉ 16. How to Use Firebase Notifications?
- Add
firebase_core
andfirebase_messaging
packages. - Initialize Firebase in
main.dart
. - Request notification permissions.
- Use
FirebaseMessaging.onMessage
andFirebaseMessaging.onBackgroundMessage
to handle notifications.
πΉ 17. Async & Await in Flutter
- async: Marks a function asynchronous, returns a
Future
. - await: Pauses execution until a
Future
completes.
πΉ 18. MaterialApp vs Scaffold
- MaterialApp: Root widget, app-level configuration (theme, routes, navigation).
- Scaffold: Screen-level widget providing layout (AppBar, Drawer, FAB, BottomNav).
πΉ 19. About Flutter
Flutter is an open-source framework by Google for building cross-platform apps (Android, iOS, Web, Desktop) using a single codebase. It uses the Dart language and provides fast performance with a widget-based architecture.
πΉ 20. How to Remove Debug Banner in Flutter?
- Set inside
MaterialApp
:
MaterialApp(
debugShowCheckedModeBanner: false,
);
- Or run app in release mode:
flutter run --release
.
β¨ Final Note:
These questions are commonly asked in Flutter interviews at Chetu and other companies. Revising them will boost your confidence and help you give crisp, clear answers.
Related Articles
- How to make Ludo app in Flutter with Source Code Step by step
- How to make PDF Reader app in Flutter with Source Code Step by step
- How to make QR Scanner app in Flutter with Source Code Step by step
- How to Make a ToDo App with Flutter with source Code StepWise in 2024
- What is package in Flutter (Dart) with example in 2024
- What is class in Flutter(Dart) with example step by step
- Advantage of Flutter with examples in 2024
- Top 15 Amazing Applications Built with Flutter Framework
- Creating an Instruction UI Screen in Flutter Application
0 Comments