0
0
Rest APIprogramming~20 mins

SLA and uptime tracking in Rest API - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
SLA and Uptime Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Calculate uptime percentage from logs
Given a list of service status logs with timestamps and status ("up" or "down"), what is the output of the following code that calculates the uptime percentage?
Rest API
logs = [
    {"timestamp": "2024-06-01T00:00:00Z", "status": "up"},
    {"timestamp": "2024-06-01T01:00:00Z", "status": "down"},
    {"timestamp": "2024-06-01T02:00:00Z", "status": "up"},
    {"timestamp": "2024-06-01T03:00:00Z", "status": "up"}
]

up_count = sum(1 for log in logs if log["status"] == "up")
total = len(logs)
uptime_percentage = (up_count / total) * 100
print(f"Uptime: {uptime_percentage:.2f}%")
AUptime: 75.00%
BUptime: 25.00%
CUptime: 50.00%
DUptime: 100.00%
Attempts:
2 left
💡 Hint
Count how many logs have status 'up' and divide by total logs.
🧠 Conceptual
intermediate
1:30remaining
Understanding SLA breach conditions
Which of the following conditions correctly describes when an SLA breach occurs for a service with 99.9% uptime guarantee over a 30-day period?
AService downtime exceeds 43.2 minutes in 30 days
BService downtime exceeds 4.32 hours in 30 days
CService downtime exceeds 432 minutes in 30 days
DService downtime exceeds 0.432 minutes in 30 days
Attempts:
2 left
💡 Hint
Calculate allowed downtime as 0.1% of total minutes in 30 days.
🔧 Debug
advanced
2:00remaining
Identify the error in uptime calculation code
What error does the following code produce when calculating uptime percentage from a list of status logs?
Rest API
logs = [
    {"timestamp": "2024-06-01T00:00:00Z", "status": "up"},
    {"timestamp": "2024-06-01T01:00:00Z", "status": "down"}
]

up_count = sum(1 for log in logs if log.status == "up")
total = len(logs)
uptime_percentage = (up_count / total) * 100
print(f"Uptime: {uptime_percentage:.2f}%")
AZeroDivisionError: division by zero
BAttributeError: 'dict' object has no attribute 'status'
CSyntaxError: invalid syntax
DNo error, prints 'Uptime: 50.00%'
Attempts:
2 left
💡 Hint
Check how dictionary keys are accessed in Python.
📝 Syntax
advanced
1:30remaining
Find the syntax error in SLA JSON response
Which option contains a syntax error in this JSON response representing SLA status?
Rest API
{
  "service": "API",
  "uptime": 99.95,
  "status": "up",
  "last_downtime": null
}
A
}
llun :"emitnwod_tsal"  
,"pu" :"sutats"  
,59.99 :"emitpu"  
,"IPA" :"ecivres"  
{
B
{
  "service": "API",
  "uptime": "99.95",
  "status": "up",
  "last_downtime": null
}
C
{
  "service": "API",
  "uptime": 99.95,
  "status": "up",
  "last_downtime": null
}
D

  "service": "API",
  "uptime": 99.95,
  "status": "up",
  "last_downtime": null
}
Attempts:
2 left
💡 Hint
Check for trailing commas in JSON objects.
🚀 Application
expert
3:00remaining
Calculate monthly SLA uptime from daily logs
Given daily uptime percentages for a 30-day month, which option correctly calculates the overall monthly uptime percentage?
Rest API
daily_uptimes = [99.9, 100, 99.8, 99.7, 100, 99.9, 99.95, 100, 99.85, 99.9, 100, 99.9, 99.8, 99.7, 100, 99.9, 99.95, 100, 99.85, 99.9, 100, 99.9, 99.8, 99.7, 100, 99.9, 99.95, 100, 99.85]

# Calculate monthly uptime here
Asum(daily_uptimes) / len(daily_uptimes)
Bmin(daily_uptimes)
Cmax(daily_uptimes)
D
prod = 1
for d in daily_uptimes:
    prod *= d / 100
prod * 100
Attempts:
2 left
💡 Hint
Monthly uptime is the product of daily uptimes as fractions, not the average.