Bird
Raised Fist0
Node.jsframework~20 mins

setInterval and clearInterval in Node.js - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Timer Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
What does this Node.js code output?
Consider the following code snippet using setInterval and clearInterval. What will be printed to the console?
Node.js
let count = 0;
const intervalId = setInterval(() => {
  count++;
  console.log(count);
  if (count === 3) {
    clearInterval(intervalId);
  }
}, 1000);
A1\n2\n3\n4 (then stops)
B1\n2\n3 (then stops)
C1\n2 (then stops)
DNo output, code throws an error
Attempts:
2 left
💡 Hint
Think about when clearInterval stops the repeated action.
📝 Syntax
intermediate
1:30remaining
Which option correctly cancels a repeating timer?
You want to stop a repeating timer created by setInterval. Which of the following code snippets correctly cancels it?
Node.js
const timer = setInterval(() => console.log('tick'), 500);
AcancelInterval(timer);
BclearTimeout(timer);
CstopInterval(timer);
DclearInterval(timer);
Attempts:
2 left
💡 Hint
Remember the function name to stop intervals is similar to the one to start them.
state_output
advanced
2:00remaining
What is the final value of counter after this code runs?
Analyze the code below. What will be the value of counter after 3500 milliseconds?
Node.js
let counter = 0;
const id = setInterval(() => {
  counter += 2;
  if (counter >= 6) {
    clearInterval(id);
  }
}, 1000);
A6
B8
C4
D0
Attempts:
2 left
💡 Hint
Count how many times the interval callback runs before stopping.
🔧 Debug
advanced
2:00remaining
Why does this code print odd numbers (1, 3, 5...) repeatedly?
Look at this code snippet. It prints '1', '3', '5', etc. every second instead of sequential numbers. What is the cause?
Node.js
let i = 0;
setInterval(() => {
  i++;
  console.log(i++);
}, 1000);
ABecause <code>i++</code> returns the value before increment, causing unexpected output.
BBecause <code>i</code> is not initialized properly.
CBecause <code>setInterval</code> callback is missing a return statement.
DBecause <code>console.log</code> is called outside the interval.
Attempts:
2 left
💡 Hint
Check how the increment operator works when used inside console.log.
🧠 Conceptual
expert
1:30remaining
What happens if you call clearInterval with an invalid ID?
In Node.js, if you call clearInterval with a value that is not a valid interval ID, what will happen?
AThe program crashes and exits.
BA runtime error is thrown immediately.
CNothing happens; the call is ignored without error.
DThe last interval created is cleared instead.
Attempts:
2 left
💡 Hint
Think about how Node.js handles invalid timer IDs safely.

Practice

(1/5)
1. What does the setInterval function do in Node.js?
easy
A. Runs a function only once after a delay
B. Stops a running timer
C. Runs a function repeatedly at specified time intervals
D. Schedules a function to run immediately

Solution

  1. Step 1: Understand setInterval purpose

    setInterval schedules a function to run repeatedly every specified milliseconds.
  2. Step 2: Compare with other timer functions

    setTimeout runs once after delay, clearInterval stops intervals.
  3. Final Answer:

    Runs a function repeatedly at specified time intervals -> Option C
  4. Quick Check:

    setInterval = repeated execution [OK]
Hint: setInterval repeats; setTimeout runs once [OK]
Common Mistakes:
  • Confusing setInterval with setTimeout
  • Thinking clearInterval starts timers
  • Believing setInterval runs only once
2. Which of the following is the correct syntax to stop a repeating timer started with setInterval?
easy
A. clearInterval(timerId);
B. stopInterval(timerId);
C. clearTimeout(timerId);
D. cancelInterval(timerId);

Solution

  1. Step 1: Identify the function to stop intervals

    clearInterval is the built-in function to stop intervals.
  2. Step 2: Check other options

    clearTimeout stops timeouts, others are invalid functions.
  3. Final Answer:

    clearInterval(timerId); -> Option A
  4. Quick Check:

    clearInterval stops intervals [OK]
Hint: Use clearInterval with the interval ID [OK]
Common Mistakes:
  • Using clearTimeout to stop intervals
  • Using non-existent functions like stopInterval
  • Not passing the timer ID to clearInterval
3. What will the following code output to the console?
let count = 0;
const id = setInterval(() => {
  count++;
  console.log(count);
  if (count === 3) clearInterval(id);
}, 1000);
medium
A. 1 2 3 (each number printed every second, then stops)
B. 1 2 3 4 5 (prints numbers every second indefinitely)
C. Only 3 printed once after 3 seconds
D. No output because clearInterval is called immediately

Solution

  1. Step 1: Trace the interval execution

    Every 1000ms, count increases and prints. When count reaches 3, clearInterval stops it.
  2. Step 2: Understand stopping condition

    After printing 3, the interval stops, so no further output.
  3. Final Answer:

    1 2 3 (each number printed every second, then stops) -> Option A
  4. Quick Check:

    Interval runs 3 times then stops [OK]
Hint: clearInterval inside callback stops after condition [OK]
Common Mistakes:
  • Assuming it runs forever
  • Thinking clearInterval stops immediately before first print
  • Confusing setTimeout with setInterval
4. Identify the error in this code snippet:
const id = setInterval(() => {
  console.log('Hello');
});
clearInterval(id);
medium
A. No error, code works fine
B. clearInterval should be called inside the callback
C. setInterval cannot be assigned to a variable
D. Missing interval time argument in setInterval

Solution

  1. Step 1: Check setInterval syntax

    setInterval requires two arguments: function and interval time in milliseconds.
  2. Step 2: Analyze the code

    Here, the interval time is missing, causing a syntax error or unexpected behavior.
  3. Final Answer:

    Missing interval time argument in setInterval -> Option D
  4. Quick Check:

    setInterval needs delay argument [OK]
Hint: Always provide delay time in setInterval [OK]
Common Mistakes:
  • Omitting the delay argument
  • Calling clearInterval immediately without delay
  • Thinking setInterval returns undefined
5. You want to print "Tick" every second but stop after 5 ticks. Which code correctly achieves this?
hard
A. setInterval(() => { console.log('Tick'); clearInterval(timer); }, 1000);
B. let ticks = 0; const timer = setInterval(() => { ticks++; console.log('Tick'); if (ticks === 5) clearInterval(timer); }, 1000);
C. let ticks = 0; setTimeout(() => { console.log('Tick'); if (ticks < 5) ticks++; }, 1000);
D. const timer = setInterval(() => { console.log('Tick'); if (ticks === 5) clearTimeout(timer); }, 1000);

Solution

  1. Step 1: Identify correct interval and stopping logic

    let ticks = 0; const timer = setInterval(() => { ticks++; console.log('Tick'); if (ticks === 5) clearInterval(timer); }, 1000); uses setInterval with a counter and calls clearInterval after 5 ticks.
  2. Step 2: Check other options for errors

    setInterval(() => { console.log('Tick'); clearInterval(timer); }, 1000); clears immediately, let ticks = 0; setTimeout(() => { console.log('Tick'); if (ticks < 5) ticks++; }, 1000); uses setTimeout wrongly, const timer = setInterval(() => { console.log('Tick'); if (ticks === 5) clearTimeout(timer); }, 1000); uses clearTimeout instead of clearInterval.
  3. Final Answer:

    let ticks = 0; const timer = setInterval(() => { ticks++; console.log('Tick'); if (ticks === 5) clearInterval(timer); }, 1000); -> Option B
  4. Quick Check:

    Use counter and clearInterval after limit [OK]
Hint: Use a counter and clearInterval after limit [OK]
Common Mistakes:
  • Calling clearInterval immediately
  • Using clearTimeout to stop intervals
  • Using setTimeout instead of setInterval for repeated tasks