Bird
Raised Fist0
Firebasecloud~5 mins

Why Firebase Hosting serves web apps - Performance Analysis

Choose your learning style10 modes available
Time Complexity: Why Firebase Hosting serves web apps
O(n)
Understanding Time Complexity

We want to understand how the time to serve a web app changes as more users request it from Firebase Hosting.

How does Firebase handle many requests and how does that affect response time?

Scenario Under Consideration

Analyze the time complexity of serving web app files from Firebase Hosting.


// User requests a web app page
firebaseHosting.serve = function(request) {
  var cacheCheck = checkCache(request.url);
  if (cacheCheck.hit) {
    return cacheCheck.content;
  } else {
    var content = fetchFromStorage(request.url);
    cacheStore(request.url, content);
    return content;
  }
}
    

This sequence shows how Firebase Hosting serves a web app by first checking cache, then fetching from storage if needed.

Identify Repeating Operations

Look at what happens each time a user requests a page.

  • Primary operation: Checking cache and possibly fetching files from storage.
  • How many times: Once per user request.
How Execution Grows With Input

As more users request the app, Firebase Hosting handles each request similarly.

Input Size (n)Approx. Api Calls/Operations
1010 cache checks, some fetches if cache misses
100100 cache checks, some fetches if cache misses
10001000 cache checks, some fetches if cache misses

Pattern observation: The number of operations grows linearly with the number of requests.

Final Time Complexity

Time Complexity: O(n)

This means the time to serve requests grows directly in proportion to the number of requests.

Common Mistake

[X] Wrong: "Firebase Hosting serves all users instantly with no extra work as users increase."

[OK] Correct: Each user request still requires checking cache or fetching files, so work grows with users.

Interview Connect

Understanding how cloud services handle many requests helps you design scalable apps and explain performance in real projects.

Self-Check

"What if Firebase Hosting had no cache and fetched files from storage every time? How would the time complexity change?"

Practice

(1/5)
1. Why does Firebase Hosting serve web apps over HTTPS by default?
easy
A. To make the website load slower
B. To disable images from loading
C. To block users from accessing the app
D. To keep the connection secure and protect user data

Solution

  1. Step 1: Understand HTTPS purpose

    HTTPS encrypts data between the user and the server to keep it safe from attackers.
  2. Step 2: Apply to Firebase Hosting

    Firebase Hosting uses HTTPS by default to protect users visiting your web app.
  3. Final Answer:

    To keep the connection secure and protect user data -> Option D
  4. Quick Check:

    HTTPS = Secure connection [OK]
Hint: HTTPS means secure connection, always used by Firebase Hosting [OK]
Common Mistakes:
  • Thinking HTTPS slows down the site
  • Believing HTTPS blocks users
  • Confusing HTTPS with disabling images
2. Which file does Firebase Hosting usually serve first when loading a single-page web app?
easy
A. index.html
B. style.css
C. main.js
D. firebase.json

Solution

  1. Step 1: Identify the entry point for web apps

    Single-page apps start by loading the main HTML file, which is usually index.html.
  2. Step 2: Confirm Firebase Hosting behavior

    Firebase Hosting serves index.html first to load the app shell and then loads scripts and styles.
  3. Final Answer:

    index.html -> Option A
  4. Quick Check:

    First file loaded = index.html [OK]
Hint: Web apps start with index.html file [OK]
Common Mistakes:
  • Choosing JavaScript or CSS files as first load
  • Confusing config files like firebase.json as entry
  • Not knowing the role of index.html
3. Given this Firebase Hosting rewrite rule in firebase.json:
{
  "hosting": {
    "rewrites": [
      { "source": "**", "destination": "/index.html" }
    ]
  }
}
What happens when a user visits /profile in a single-page app?
medium
A. The server returns a 404 error because /profile does not exist
B. The server serves the index.html file so the app can handle the route
C. The server redirects the user to the homepage URL
D. The server serves a blank page

Solution

  1. Step 1: Understand the rewrite rule

    The rule sends all requests (**) to /index.html, regardless of the URL path.
  2. Step 2: Apply to /profile URL

    When user visits /profile, Firebase Hosting serves index.html, letting the app's JavaScript handle the route.
  3. Final Answer:

    The server serves the index.html file so the app can handle the route -> Option B
  4. Quick Check:

    Rewrite all URLs to index.html = The server serves the index.html file so the app can handle the route [OK]
Hint: Rewrite '**' to index.html serves all app routes [OK]
Common Mistakes:
  • Expecting 404 error for app routes
  • Thinking server redirects to homepage
  • Assuming blank page is served
4. A developer sets up Firebase Hosting but their single-page app shows a 404 error on routes like /dashboard. What is the likely fix?
medium
A. Add a rewrite rule in firebase.json to send all routes to /index.html
B. Remove the index.html file from the hosting folder
C. Disable HTTPS in Firebase Hosting settings
D. Change the app to use multiple HTML files for each route

Solution

  1. Step 1: Identify cause of 404 on app routes

    Without rewrite rules, Firebase Hosting looks for actual files matching the URL and returns 404 if missing.
  2. Step 2: Apply rewrite rule fix

    Adding a rewrite rule to send all routes to /index.html lets the app handle routing and prevents 404 errors.
  3. Final Answer:

    Add a rewrite rule in firebase.json to send all routes to /index.html -> Option A
  4. Quick Check:

    Rewrite rule fixes 404 on SPA routes [OK]
Hint: Rewrite all routes to index.html to fix SPA 404 errors [OK]
Common Mistakes:
  • Deleting index.html file
  • Disabling HTTPS thinking it helps
  • Using multiple HTML files instead of SPA routing
5. You want your Firebase Hosting to serve a React single-page app that uses client-side routing. Which configuration ensures all URLs load your app correctly?
hard
A. Disable rewrites and rely on default file serving
B. Upload separate HTML files for each route like /about.html and /contact.html
C. Set a rewrite rule in firebase.json to send all requests to /index.html
D. Use HTTP instead of HTTPS to avoid routing issues

Solution

  1. Step 1: Understand React SPA routing needs

    React SPA uses client-side routing, so all URLs must load the same index.html to let JavaScript handle routes.
  2. Step 2: Configure Firebase Hosting rewrites

    Adding a rewrite rule sending all requests to /index.html ensures the app loads correctly on any URL.
  3. Final Answer:

    Set a rewrite rule in firebase.json to send all requests to /index.html -> Option C
  4. Quick Check:

    Rewrite all URLs to index.html for SPA routing [OK]
Hint: Rewrite all URLs to index.html for React SPA [OK]
Common Mistakes:
  • Uploading multiple HTML files for SPA routes
  • Disabling rewrites causing 404 errors
  • Switching to HTTP thinking it fixes routing
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard