Bird
Raised Fist0
Firebasecloud~20 mins

Scheduled functions in Firebase - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Scheduled Functions Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
Understanding Firebase Scheduled Function Execution

You have a Firebase scheduled function set to run every 5 minutes using the cron expression */5 * * * *. What will be the behavior of this function?

Firebase
exports.scheduledFunction = functions.pubsub.schedule('*/5 * * * *').onRun((context) => {
  console.log('Function executed');
  return null;
});
AThe function runs exactly at every 5th minute mark (e.g., 00:00, 00:05, 00:10, etc.)
BThe function runs every 5 minutes starting from the time of deployment, not aligned to clock minutes
CThe function runs once every 5 hours
DThe function runs continuously without any delay
Attempts:
2 left
💡 Hint

Think about how cron expressions align with clock time.

❓ Configuration
intermediate
2:00remaining
Correct Firebase Scheduled Function Syntax

Which of the following Firebase scheduled function definitions will deploy without syntax errors?

Afunctions.pubsub.schedule('*/10 * * * *').onRun((context) => { return null; });
Bfunctions.pubsub.schedule('10 * * * *').onRun((context) => { return null; });
Cfunctions.pubsub.schedule('every 10 mins').onRun((context) => { return null; });
Dfunctions.pubsub.schedule('every 10 minutes').onRun((context) => { return null; });
Attempts:
2 left
💡 Hint

Check the valid cron syntax for Firebase scheduled functions.

❓ Architecture
advanced
2:00remaining
Designing a Reliable Daily Cleanup Scheduled Function

You want to create a Firebase scheduled function that runs daily at midnight UTC to clean up old data. Which design choice ensures the function runs reliably even if the function code is updated frequently?

ADeploy the scheduled function with the cron expression '0 0 * * *' and update it whenever code changes.
BUse a client device to trigger the cleanup function daily via HTTP request at midnight UTC.
CDeploy the scheduled function with '0 0 * * *' and avoid frequent redeployments to keep schedule stable.
DSchedule the function to run every hour and check inside the function if it is midnight UTC before cleanup.
Attempts:
2 left
💡 Hint

Consider how Firebase scheduled functions handle redeployments and schedules.

❓ security
advanced
2:00remaining
Securing Firebase Scheduled Functions

Which statement best describes the security model of Firebase scheduled functions?

AScheduled functions run only when triggered by authenticated users.
BScheduled functions run with the same security rules as client SDKs and require user authentication.
CScheduled functions require an API key to run and validate it on each execution.
DScheduled functions run with administrative privileges and do not require user authentication.
Attempts:
2 left
💡 Hint

Think about who triggers scheduled functions and their privileges.

✅ Best Practice
expert
3:00remaining
Optimizing Cost and Performance of Frequent Scheduled Functions

You have a Firebase scheduled function running every minute to process queued tasks. The function sometimes runs longer than a minute, causing overlapping executions and increased costs. What is the best approach to optimize cost and avoid overlaps?

AUse a client-triggered HTTP function instead of scheduled functions.
BImplement a locking mechanism inside the function to skip execution if a previous run is still active.
CDeploy multiple instances of the function to handle concurrent executions.
DIncrease the schedule interval to every 5 minutes to avoid overlaps.
Attempts:
2 left
💡 Hint

Consider how to prevent multiple function instances from processing the same tasks simultaneously.

Practice

(1/5)
1. What is the main purpose of Firebase Scheduled Functions?
easy
A. To run code automatically at specific times without manual intervention
B. To store user data securely in the cloud
C. To create real-time chat applications
D. To manage user authentication and login

Solution

  1. Step 1: Understand the role of scheduled functions

    Scheduled functions are designed to run tasks automatically at set times without needing a user to start them.
  2. Step 2: Compare with other Firebase features

    Other options like storing data, chat apps, or authentication are handled by different Firebase services, not scheduled functions.
  3. Final Answer:

    To run code automatically at specific times without manual intervention -> Option A
  4. Quick Check:

    Scheduled functions = automatic timed code run [OK]
Hint: Scheduled functions run code on a timer, no clicks needed [OK]
Common Mistakes:
  • Confusing scheduled functions with database storage
  • Thinking scheduled functions handle user login
  • Assuming scheduled functions manage real-time data
2. Which of the following is the correct way to schedule a Firebase function to run every day at midnight using cron syntax?
easy
A. functions.pubsub.schedule('every day 00:00').onRun(...)
B. functions.pubsub.schedule('daily at midnight').onRun(...)
C. functions.pubsub.schedule('0 0 * * *').onRun(...)
D. functions.pubsub.schedule('midnight every day').onRun(...)

Solution

  1. Step 1: Identify correct cron syntax for midnight daily

    The cron expression '0 0 * * *' means minute 0, hour 0, every day, which is midnight daily.
  2. Step 2: Match with Firebase schedule method

    Firebase uses cron syntax strings like '0 0 * * *' in schedule() to set times precisely.
  3. Final Answer:

    functions.pubsub.schedule('0 0 * * *').onRun(...) -> Option C
  4. Quick Check:

    Cron '0 0 * * *' = midnight daily [OK]
Hint: Cron '0 0 * * *' means every day at midnight [OK]
Common Mistakes:
  • Using natural language instead of cron syntax
  • Incorrect cron format like 'every day 00:00'
  • Misplacing hour and minute values in cron
3. Given the following Firebase scheduled function code, what will it log when triggered?
exports.dailyTask = functions.pubsub.schedule('every 5 minutes').onRun((context) => {
  console.log('Task running at', new Date().toISOString());
  return null;
});
medium
A. Logs 'Task running at' once at deployment time only
B. Runs continuously without delay, flooding logs
C. Throws a syntax error due to invalid schedule string
D. Logs 'Task running at' with the current timestamp every 5 minutes

Solution

  1. Step 1: Understand the schedule string 'every 5 minutes'

    This string tells Firebase to run the function every 5 minutes automatically.
  2. Step 2: Analyze the function behavior

    Each time it runs, it logs the message with the current timestamp in ISO format.
  3. Final Answer:

    Logs 'Task running at' with the current timestamp every 5 minutes -> Option D
  4. Quick Check:

    Schedule 'every 5 minutes' triggers repeated logs [OK]
Hint: Schedule string 'every 5 minutes' means repeated logs every 5 minutes [OK]
Common Mistakes:
  • Thinking it runs only once at deployment
  • Assuming schedule string is invalid syntax
  • Believing it runs nonstop without delay
4. What is wrong with this Firebase scheduled function code?
exports.cleanup = functions.pubsub.schedule('every 60 minutes').onRun(() => {
  // cleanup code here
});
medium
A. The schedule string 'every 60 minutes' is invalid; should use 'every 1 hour' or cron syntax
B. The function must return a promise or null, missing return statement
C. The function name 'cleanup' is reserved and cannot be used
D. The schedule method requires a timezone parameter

Solution

  1. Step 1: Check the schedule string validity

    Firebase does not recognize 'every 60 minutes'; it supports 'every 1 hour' or cron expressions.
  2. Step 2: Review other code parts

    Returning a promise or null is recommended but not mandatory here; function name and timezone are not issues.
  3. Final Answer:

    The schedule string 'every 60 minutes' is invalid; should use 'every 1 hour' or cron syntax -> Option A
  4. Quick Check:

    Invalid schedule string = error [OK]
Hint: Use 'every 1 hour' not 'every 60 minutes' in schedule [OK]
Common Mistakes:
  • Using unsupported time phrases in schedule
  • Forgetting to return null or a promise
  • Assuming timezone is always required
5. You want to create a Firebase scheduled function that runs every Monday at 9:30 AM in New York time to send weekly reports. Which is the correct way to configure this function?
hard
A. functions.pubsub.schedule('every Monday 9:30').timeZone('America/New_York').onRun(...)
B. functions.pubsub.schedule('30 9 * * 1').timeZone('America/New_York').onRun(...)
C. functions.pubsub.schedule('0 9 * * 1').timeZone('EST').onRun(...)
D. functions.pubsub.schedule('30 9 * * 1').onRun(...)

Solution

  1. Step 1: Use correct cron syntax for Monday 9:30 AM

    The cron '30 9 * * 1' means minute 30, hour 9, every Monday (day 1).
  2. Step 2: Set proper timezone for New York

    Use the full IANA timezone string 'America/New_York' to handle daylight savings correctly.
  3. Step 3: Verify other options

    functions.pubsub.schedule('every Monday 9:30').timeZone('America/New_York').onRun(...) uses invalid schedule string; functions.pubsub.schedule('0 9 * * 1').timeZone('EST').onRun(...) uses 'EST' which is not a valid timezone identifier; functions.pubsub.schedule('30 9 * * 1').onRun(...) misses timezone setting.
  4. Final Answer:

    functions.pubsub.schedule('30 9 * * 1').timeZone('America/New_York').onRun(...) -> Option B
  5. Quick Check:

    Cron + correct timezone = functions.pubsub.schedule('30 9 * * 1').timeZone('America/New_York').onRun(...) [OK]
Hint: Use cron '30 9 * * 1' plus 'America/New_York' timezone [OK]
Common Mistakes:
  • Using natural language instead of cron syntax
  • Using short timezone codes like 'EST' instead of full IANA names
  • Forgetting to set timezone causing wrong run times
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