🌍 Worldwide · Programming

Firebase Syllabus

Roadmap to Firebase integration. The full Firebase syllabus: 11 chapters, 34 topics and 85 sub-topics, with 50 flashcards written against it.

11Chapters
34Topics
85Sub-topics
50Flashcards

Firebase syllabus — full chapter and topic list

Expand any chapter to see its topics and sub-topics. This is the whole examinable outline for Firebase, not a summary of it.

  1. Introduction to Firebase

    2 topics
    • Overview of Firebase
      • What is Firebase?
      • Firebase Features
      • Use Cases of Firebase
    • Setting Up Firebase
      • Creating a Firebase Project
      • Firebase Console Overview
      • Integrating Firebase with Your App
  2. Firebase Authentication

    4 topics
    • Introduction to Firebase Authentication
      • Supported Authentication Methods
      • Setting Up Authentication
    • Email and Password Authentication
      • Implementing Sign-Up
      • Implementing Sign-In
      • Password Reset
    • Social Authentication
      • Google Sign-In
      • Facebook Login
      • Twitter Login
      • GitHub Login
    • Anonymous Authentication
      • Setting Up Anonymous Authentication
      • Converting Anonymous Users
  3. Firebase Realtime Database

    3 topics
    • Introduction to Realtime Database
      • Difference Between Realtime Database and Firestore
      • Data Structure and Storage
    • Basic CRUD Operations
      • Creating Data
      • Reading Data
      • Updating Data
      • Deleting Data
    • Advanced Database Features
      • Offline Capabilities
      • Data Validation
      • Security Rules
  4. Cloud Firestore

    3 topics
    • Introduction to Cloud Firestore
      • Firestore vs. Realtime Database
      • Data Model
    • Basic CRUD Operations
      • Adding Documents
      • Retrieving Documents
      • Updating Documents
      • Deleting Documents
    • Advanced Firestore Features
      • Offline Persistence
      • Security Rules
      • Indexing and Querying
  5. Firebase Cloud Messaging

    3 topics
    • Introduction to Cloud Messaging
      • What is FCM?
      • FCM Architecture
    • Setting Up FCM
      • Integrating FCM with Your App
      • Configuring Notifications
    • Sending Messages
      • Sending Notifications from Console
      • Sending Notifications Programmatically
      • Handling Incoming Messages
  6. Firebase Cloud Storage

    3 topics
    • Introduction to Cloud Storage
      • What is Firebase Storage?
      • Use Cases
    • Basic Operations
      • Uploading Files
      • Downloading Files
      • Deleting Files
    • Advanced Storage Features
      • Security and Rules
      • Managing Files
      • Handling Large Files
  7. Firebase Analytics

    4 topics
    • Introduction to Firebase Analytics
      • What is Firebase Analytics?
      • Key Metrics and Reports
    • Setting Up Analytics
      • Integrating Analytics with Your App
      • Configuring User Properties
    • Tracking Events
      • Predefined Events
      • Custom Events
    • Advanced Analytics Features
      • User Segmentation
      • Funnels and Conversion Tracking
      • A/B Testing
  8. Firebase Remote Config

    3 topics
    • Introduction to Remote Config
      • What is Remote Config?
      • Use Cases
    • Setting Up Remote Config
      • Integrating Remote Config with Your App
      • Fetching and Activating Configurations
    • Advanced Remote Config Features
      • Conditional Parameters
      • Personalization
      • A/B Testing with Remote Config
  9. Firebase Performance Monitoring

    3 topics
    • Introduction to Performance Monitoring
      • What is Performance Monitoring?
      • Key Metrics
    • Setting Up Performance Monitoring
      • Integrating Performance Monitoring with Your App
      • Configuring Custom Traces
    • Analyzing Performance Data
      • Dashboard Overview
      • Interpreting Metrics
      • Optimizing App Performance
  10. Firebase Test Lab

    3 topics
    • Introduction to Test Lab
      • What is Firebase Test Lab?
      • Supported Devices and OS
    • Setting Up Test Lab
      • Creating Test Cases
      • Running Tests
    • Analyzing Test Results
      • Interpreting Logs and Screenshots
      • Automating Testing
  11. Firebase Dynamic Links

    3 topics
    • Introduction to Dynamic Links
      • What are Dynamic Links?
      • Use Cases
    • Creating Dynamic Links
      • Manual Creation
      • Programmatic Creation
    • Handling Dynamic Links
      • Receiving Dynamic Links
      • Deep Linking to App Content

Firebase flashcards

The complete Firebase deck: 50 questions with worked answers.

  1. What is Firebase?

    Firebase is a Backend-as-a-Service (BaaS) platform owned by Google that provides ready-made backend services (authentication, databases, storage, messaging, hosting, analytics) so developers can build apps without managing their own server infrastructure.

  2. Name the two primary databases Firebase offers and their core data model.

    Realtime Database (a single large JSON tree) and Cloud Firestore (a document-collection model). Both are NoSQL and sync data in real time across clients.

  3. What file is required to configure Firebase in an Android app, and where is it placed?

    The google-services.json file, placed in the app-level module directory (e.g. android/app/). It contains the project's API keys and configuration.

  4. What is the equivalent Firebase configuration file for an iOS app?

    GoogleService-Info.plist, added to the Xcode project (the iOS app bundle).

  5. In a web/JavaScript app, how is Firebase initialized?

    By calling initializeApp(firebaseConfig), passing a config object containing apiKey, authDomain, projectId, storageBucket, messagingSenderId, and appId.

  6. What is a Firebase 'project' versus a Firebase 'app'?

    A project is the top-level container for all Firebase resources (databases, users, storage). An app is a platform-specific client (Android, iOS, web) registered within a project that shares those resources.

  7. What is Firebase Authentication?

    A service that provides backend authentication, ready-to-use UI libraries, and SDKs to sign in users via email/password, phone, and federated identity providers (Google, Facebook, Apple, etc.).

  8. What object represents a signed-in user in Firebase Auth, and how do you get the current user?

    The User object. In the SDK you access it via FirebaseAuth.instance.currentUser (or auth.currentUser), which returns null if no user is signed in.

  9. List the standard sign-in method categories supported by Firebase Authentication.

    Email/password, email link (passwordless), phone number (SMS), federated/social providers (Google, Facebook, Twitter/X, GitHub, Apple, Microsoft, Yahoo), and anonymous.

  10. Which method creates a new account with email and password in Firebase Auth?

    createUserWithEmailAndPassword(email, password). It creates the user and, on success, signs them in automatically.

  11. Which method signs an existing user in with email and password?

    signInWithEmailAndPassword(email, password).

  12. How do you send a verification email and a password-reset email in Firebase Auth?

    Call user.sendEmailVerification() on the User object to verify an address, and auth.sendPasswordResetEmail(email) to send a reset link.

  13. What is the minimum password length Firebase Auth enforces for email/password accounts by default?

    6 characters. Passwords shorter than 6 characters raise a weak-password error.

  14. What is social (federated) authentication and what credential does it use?

    Signing in with a third-party identity provider (Google, Facebook, etc.). The provider returns an OAuth token/credential that is exchanged with Firebase via signInWithCredential() or signInWithPopup()/signInWithProvider() to authenticate the user.

  15. Outline the general flow of Google Sign-In with Firebase.

    1) User signs in with Google to obtain an idToken and accessToken. 2) Build a GoogleAuthProvider credential from those tokens. 3) Pass the credential to signInWithCredential() to authenticate the Firebase user.

  16. What is anonymous authentication and why is it used?

    It creates a temporary anonymous account with a real UID, letting unauthenticated users use features requiring auth (e.g. saving data, security rules). It is used to try the app before signup while still tracking a user.

  17. How do you convert an anonymous account into a permanent account without losing data?

    Create a credential for a permanent provider (email/password or social) and call user.linkWithCredential(credential). This upgrades the anonymous account in place, keeping the same UID and data.

  18. Which method signs in an anonymous user?

    signInAnonymously(). It returns a UserCredential with a new anonymous User whose isAnonymous property is true.

  19. What is the Firebase Realtime Database and how is data stored?

    A cloud-hosted NoSQL database that stores all data as one large JSON tree and synchronizes it in real time to every connected client, with offline support.

  20. How is data structured/addressed in the Realtime Database?

    As nested key-value pairs forming a JSON tree; each piece of data is reached by a path (e.g. /users/uid/name). There are no tables or documents—only nodes referenced by DatabaseReference.

Show the other 30 Firebase flashcards
  1. In the Realtime Database, which methods write data and how do set() and update() differ?

    set() writes/overwrites the entire data at a reference. update() writes only the specified child keys, leaving other children unchanged. push() creates a new child with an auto-generated unique key.

  2. How do you read data once versus listen continuously in the Realtime Database?

    Read once with ref.get() (returns a DataSnapshot). Listen continuously with ref.on()/onValue (or child event listeners), which fire whenever the data changes.

  3. What does the Realtime Database push() method return and why is it useful?

    It returns a reference with a unique, chronologically-ordered auto-generated key (a push ID). It is used to append items to a list without key collisions across clients.

  4. Name the child-event listeners available in the Realtime Database.

    onChildAdded, onChildChanged, onChildRemoved, and onChildMoved—used to observe individual changes within a list/collection node.

  5. How do you query and order data in the Realtime Database?

    Chain query methods on a reference: orderByChild(), orderByKey(), or orderByValue(), then filter with startAt(), endAt(), equalTo(), and limit results with limitToFirst()/limitToLast().

  6. What are Firebase Security Rules and where do Realtime Database rules apply?

    A declarative language controlling read/write access based on auth state and data. Realtime Database rules use .read and .write expressions attached to database paths and cascade to children.

  7. What are transactions in the Realtime Database used for?

    To safely update data that could be corrupted by concurrent modifications (e.g. counters). runTransaction() reads the current value, applies a function, and retries automatically if another client wrote in between.

  8. What is Cloud Firestore?

    A flexible, scalable NoSQL document database from Firebase/Google Cloud that stores data in documents grouped into collections, with real-time sync, offline support, and richer querying than the Realtime Database.

  9. Describe Cloud Firestore's data model hierarchy.

    Data lives in documents (sets of key-value fields). Documents are stored in collections. Documents can contain subcollections, forming a collection → document → subcollection hierarchy. Documents cannot exceed 1 MiB.

  10. What is the maximum size of a single Firestore document?

    1 MiB (1,048,576 bytes) per document, including field names and values.

  11. How do you add a document to a Firestore collection with an auto-ID versus a specific ID?

    Auto-ID: collection('c').add(data) which generates a random document ID. Specific ID: collection('c').doc('id').set(data).

  12. How do set() and update() differ for a Firestore document?

    set() creates or fully overwrites the document (use {merge: true} to merge). update() modifies only the specified fields and fails if the document does not exist.

  13. How do you read a single document versus a whole collection in Firestore?

    Single: doc(ref).get() returns a DocumentSnapshot. Collection/query: collection(ref).get() returns a QuerySnapshot containing all matching documents.

  14. How do you listen for real-time updates in Firestore?

    Attach a snapshot listener with onSnapshot() (or .snapshots() stream) on a document or query; it fires immediately with current data and again whenever the data changes.

  15. How do you build a filtered, ordered, limited query in Firestore?

    Chain clauses on a collection reference: where('field', op, value), orderBy('field'), and limit(n). Multiple where clauses combine with logical AND.

  16. What is a compound query limitation in Firestore, and how is it resolved?

    Queries with range/inequality filters or combined where+orderBy on multiple fields require a composite index. Firestore returns an error with a link to auto-create the needed index.

  17. What are Firestore batched writes and transactions used for?

    A WriteBatch groups multiple set/update/delete operations that commit atomically (all or nothing). A transaction reads then writes atomically, retrying on conflict—ideal for consistency across documents (e.g. transfers).

  18. What is Firebase Cloud Messaging (FCM)?

    A free, cross-platform messaging service that reliably delivers notifications and data messages to Android, iOS, and web clients from a server or the Firebase console.

  19. What are the two message types in FCM and how do they differ?

    Notification messages: handled automatically by the FCM SDK, displaying a notification (with an optional data payload). Data messages: contain only custom key-value data and are always handled by the client app's code.

  20. What is an FCM registration token and why is it needed?

    A unique per-device/app identifier the client obtains from FCM (getToken()). The server must store and target this token to send messages to that specific device.

  21. What are FCM topics used for?

    They let clients subscribe to a named channel (e.g. 'news'); the server sends one message to the topic and FCM fans it out to all subscribed devices—no need to track individual tokens.

  22. Which FCM callback handles a message while the app is in the foreground versus the background?

    Foreground: onMessage (or FirebaseMessaging.onMessage). Background/terminated: a background handler such as onBackgroundMessage / setBackgroundMessageHandler, and taps are handled by onMessageOpenedApp.

  23. How does message delivery differ when an app is in the background for FCM notification messages?

    When backgrounded, notification messages are delivered to the system tray automatically and the app's foreground handler is not called; the data payload is delivered only when the user taps the notification.

  24. What is Firebase Cloud Storage used for?

    Storing and serving large user-generated files—images, audio, video, and other binary content—backed by Google Cloud Storage, with resumable uploads/downloads and security-rule-based access control.

  25. How are files organized and referenced in Cloud Storage?

    In a hierarchical bucket path structure. You create a StorageReference pointing to a path (e.g. ref('images/pic.jpg')) using storage.ref() and perform operations on that reference.

  26. Which methods upload data to Cloud Storage?

    putFile() (upload a file from a device path), putData()/put() (upload bytes/Blob/Uint8List in memory), and putString() (upload a string). They return an UploadTask.

  27. How do you get a downloadable URL for a file in Cloud Storage?

    Call getDownloadURL() on the file's StorageReference, which returns a long-lived, tokenized public URL usable to display or download the file.

  28. What does an UploadTask provide for tracking Cloud Storage uploads?

    It emits state/progress events (running, paused, success, error) exposing bytesTransferred and totalBytes, and supports pause(), resume(), and cancel() for resumable uploads.

  29. What are Cloud Storage Security Rules and how do they integrate with Auth?

    Declarative rules controlling read/write access to storage paths. They can reference request.auth (the signed-in user) and file metadata (size, contentType), e.g. allow only owners to write to their own folder.

  30. Compare the Realtime Database and Cloud Firestore on data model and querying.

    Realtime Database: single JSON tree, simple deep queries, sorts/filters on one property, deep-path listeners. Firestore: documents/collections, richer indexed queries with multiple filters and sorting, better scalability and structured data, but no true deep queries across subcollections by default.

Firebase syllabus FAQ

What is in the Firebase syllabus?

The Firebase syllabus is split into 11 chapters: Introduction to Firebase, Firebase Authentication, Firebase Realtime Database, Cloud Firestore, Firebase Cloud Messaging, Firebase Cloud Storage, Firebase Analytics, Firebase Remote Config, Firebase Performance Monitoring, Firebase Test Lab and Firebase Dynamic Links. Together they contain 34 topics and 85 sub-topics.

How many chapters and topics are in the Firebase syllabus?

11 chapters and 34 topics, broken down further into 85 sub-topics. The largest chapter is Firebase Authentication, with 4 topics.

Are there Firebase flashcards?

Yes — 50 question-and-answer flashcards, printed in full on this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.