Bird
Raised Fist0
Spring Bootframework~10 mins

Cron expressions for scheduling in Spring Boot - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to schedule a method to run every minute using a cron expression.

Spring Boot
@Scheduled(cron = "[1]")
public void runEveryMinute() {
    System.out.println("Running every minute");
}
Drag options to blanks, or click blank then click option'
A"* * * * *"
B"*/5 * * * * ?"
C"0 0/1 * * * ?"
D"0 * * * * *"
Attempts:
3 left
💡 Hint
Common Mistakes
Using 5 fields instead of 6 in the cron expression
Setting the wrong field for seconds
2fill in blank
medium

Complete the cron expression to schedule a task to run at 3:30 AM every day.

Spring Boot
@Scheduled(cron = "[1]")
public void runDailyAt330() {
    System.out.println("Running daily at 3:30 AM");
}
Drag options to blanks, or click blank then click option'
A"30 0 3 * * *"
B"0 30 3 * * *"
C"0 3 30 * * *"
D"0 30 15 * * *"
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping minutes and hours
Using 24-hour format incorrectly
3fill in blank
hard

Fix the error in the cron expression to run a task every Monday at 8 AM.

Spring Boot
@Scheduled(cron = "[1]")
public void runEveryMondayAt8() {
    System.out.println("Running every Monday at 8 AM");
}
Drag options to blanks, or click blank then click option'
A"0 0 8 ? * MON"
B"0 0 8 * * MON"
C"0 0 8 * * 1"
D"0 0 8 ? * 2"
Attempts:
3 left
💡 Hint
Common Mistakes
Using '*' instead of '?' for day-of-month
Using numeric day-of-week incorrectly
4fill in blank
hard

Fill both blanks to schedule a task to run every 15 minutes between 9 AM and 5 PM on weekdays.

Spring Boot
@Scheduled(cron = "[1] [2] 9-17 * * MON-FRI")
public void runEvery15MinWeekdays() {
    System.out.println("Running every 15 minutes on weekdays between 9 AM and 5 PM");
}
Drag options to blanks, or click blank then click option'
A0
B0/15
C9-17
D*/15
Attempts:
3 left
💡 Hint
Common Mistakes
Using '*' for seconds causing multiple triggers
Incorrect hour range or day specification
5fill in blank
hard

Fill all three blanks to schedule a task to run at 10:15 PM on the last day of every month.

Spring Boot
@Scheduled(cron = "[1] [2] [3] L * ?")
public void runMonthlyLastDay() {
    System.out.println("Running at 10:15 PM on the last day of every month");
}
Drag options to blanks, or click blank then click option'
A0
B15
C22
D59
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong hour or minute values
Misplacing 'L' in the expression

Practice

(1/5)
1. What does a cron expression in Spring Boot primarily specify?
easy
A. The output format of the task
B. When a scheduled task should run
C. The name of the scheduled task
D. The priority of the task

Solution

  1. Step 1: Understand the purpose of cron expressions

    Cron expressions define timing details for scheduling tasks.
  2. Step 2: Identify what cron expressions control in Spring Boot

    They tell Spring Boot exactly when to run a method automatically.
  3. Final Answer:

    When a scheduled task should run -> Option B
  4. Quick Check:

    Cron expression = schedule time [OK]
Hint: Cron expressions set task run times, not names or outputs [OK]
Common Mistakes:
  • Thinking cron sets task names
  • Confusing cron with output formatting
  • Assuming cron controls task priority
2. Which of the following is the correct syntax to schedule a method to run every minute using Spring Boot's @Scheduled annotation with a cron expression?
easy
A. @Scheduled(cron = "*/1 * * * *")
B. @Scheduled(cron = "* * * * *")
C. @Scheduled(cron = "0 0/1 * * ?")
D. @Scheduled(cron = "0 * * * * *")

Solution

  1. Step 1: Recall Spring Boot cron format

    Spring Boot cron uses 6 fields: seconds, minutes, hours, day, month, weekday.
  2. Step 2: Identify correct expression for every minute

    "0 * * * * *" means at 0 seconds every minute, every hour, every day.
  3. Final Answer:

    @Scheduled(cron = "0 * * * * *") -> Option D
  4. Quick Check:

    6-field cron with 0 seconds = every minute [OK]
Hint: Spring Boot cron needs 6 fields; seconds first [OK]
Common Mistakes:
  • Using 5-field cron (missing seconds)
  • Misplacing seconds field
  • Using '?' in wrong position
3. Given the cron expression "0 15 10 * * ?" in a Spring Boot @Scheduled annotation, when will the scheduled method run?
medium
A. Every day at 10:15 AM
B. Every hour at 15 minutes past
C. Every day at 10:00 AM
D. Every minute at 15 seconds past

Solution

  1. Step 1: Break down the cron fields

    Fields: seconds=0, minutes=15, hours=10, day=any, month=any, weekday=? (no specific day)
  2. Step 2: Interpret the timing

    Means run at 10:15:00 every day, ignoring weekday.
  3. Final Answer:

    Every day at 10:15 AM -> Option A
  4. Quick Check:

    0 15 10 * * ? = daily 10:15 AM [OK]
Hint: Seconds first, then minutes, then hours in Spring cron [OK]
Common Mistakes:
  • Confusing minutes and hours positions
  • Ignoring '?' meaning in weekday
  • Assuming it runs every hour
4. Identify the error in this Spring Boot cron expression: @Scheduled(cron = "0 0 25 * * ?")
medium
A. Seconds field missing
B. Day of month field is invalid
C. Hour value 25 is invalid
D. Weekday field cannot be '?'

Solution

  1. Step 1: Check each cron field's valid range

    Seconds: 0-59, Minutes: 0-59, Hours: 0-23, Day: 1-31, Month: 1-12, Weekday: 1-7 or ?
  2. Step 2: Identify invalid value

    Hour field is 25, which is outside 0-23 range, causing error.
  3. Final Answer:

    Hour value 25 is invalid -> Option C
  4. Quick Check:

    Hour must be 0-23, 25 is invalid [OK]
Hint: Hours max 23 in cron, check all field ranges [OK]
Common Mistakes:
  • Using hour > 23
  • Forgetting seconds field
  • Misusing '?' in day or weekday
5. You want to schedule a Spring Boot task to run every Monday at 8:30 AM, but only during the months of June, July, and August. Which cron expression correctly achieves this?
hard
A. "0 30 8 ? 6,7,8 MON"
B. "0 30 8 * 6-8 *"
C. "0 30 8 ? 5-8 MON"
D. "0 30 8 ? 6-8 1"

Solution

  1. Step 1: Understand cron fields needed

    Seconds=0, Minutes=30, Hours=8, Day=? (no specific day), Month=6,7,8 (June-Aug), Weekday=MON (Monday)
  2. Step 2: Check options for correct syntax

    "0 30 8 ? 6,7,8 MON" uses '?' for day, lists months as 6,7,8, and weekday as MON, which is correct.
  3. Final Answer:

    "0 30 8 ? 6,7,8 MON" -> Option A
  4. Quick Check:

    Use '?' for day, list months, specify MON weekday [OK]
Hint: Use '?' for day when specifying weekday, list months with commas [OK]
Common Mistakes:
  • Using '*' for day and weekday together
  • Using range '-' instead of commas for months
  • Using numeric weekday instead of MON
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