Bird
Raised Fist0
FastAPIframework~10 mins

Why async improves performance in FastAPI - Test Your Understanding

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

Complete the code to define an async route handler in FastAPI.

FastAPI
from fastapi import FastAPI

app = FastAPI()

@app.get("/items")
async def get_items():
    return {"message": "Hello from [1] function!"}
Drag options to blanks, or click blank then click option'
Async
Basync
Cnormal
Dblocking
Attempts:
3 left
💡 Hint
Common Mistakes
Using a normal def function instead of async def
Forgetting to add async keyword before function
2fill in blank
medium

Complete the code to await an async operation inside the route handler.

FastAPI
import asyncio
from fastapi import FastAPI

app = FastAPI()

@app.get("/wait")
async def wait_seconds():
    await [1](1)
    return {"message": "Waited 1 second"}
Drag options to blanks, or click blank then click option'
Aasyncio.sleep
Btime.sleep
Csleep
Dwait
Attempts:
3 left
💡 Hint
Common Mistakes
Using time.sleep which blocks the event loop
Not using await before the sleep call
3fill in blank
hard

Fix the syntax error in the route handler by completing the code correctly.

FastAPI
from fastapi import FastAPI

app = FastAPI()

@app.get("/data")
def [1]():
    return {"data": "sync function"}
Drag options to blanks, or click blank then click option'
Aget_data
Basync def get_data
Casync get_data
Dasync def get_data()
Attempts:
3 left
💡 Hint
Common Mistakes
Putting async def inside the blank which causes syntax error
Adding parentheses in the blank
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that filters async tasks with duration greater than 2.

FastAPI
tasks = {task: duration for task, duration in durations.items() if duration [1] 2 and task.startswith([2])}
Drag options to blanks, or click blank then click option'
A>
B"a"
C<
D"b"
Attempts:
3 left
💡 Hint
Common Mistakes
Using less than symbol which filters wrong tasks
Using wrong starting letter string
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps uppercase task names to durations for tasks longer than 3 seconds.

FastAPI
result = [1]: [2] for [3], duration in durations.items() if duration > 3
Drag options to blanks, or click blank then click option'
Atask.upper()
Bduration
Ctask
Dduration.upper()
Attempts:
3 left
💡 Hint
Common Mistakes
Using duration.upper() which is invalid for numbers
Swapping key and value positions

Practice

(1/5)
1. Why does using async functions in FastAPI improve performance?
easy
A. Because async lets the app handle other tasks while waiting for slow operations
B. Because async makes the code run faster by using more CPU power
C. Because async removes the need for a web server
D. Because async automatically caches all responses

Solution

  1. Step 1: Understand what async does in FastAPI

    Async functions allow the app to pause waiting for slow tasks like database calls without blocking other requests.
  2. Step 2: Connect async behavior to performance improvement

    This means the app can handle multiple requests at once, improving speed and user experience.
  3. Final Answer:

    Because async lets the app handle other tasks while waiting for slow operations -> Option A
  4. Quick Check:

    Async improves concurrency = C [OK]
Hint: Async means do other work while waiting [OK]
Common Mistakes:
  • Thinking async makes code run faster on CPU
  • Believing async removes the need for a server
  • Assuming async caches responses automatically
2. Which is the correct way to define an async endpoint in FastAPI?
easy
A. def get_data():
B. async def get_data():
C. await def get_data():
D. async get_data():

Solution

  1. Step 1: Recall Python async function syntax

    Async functions are defined with the keyword async def before the function name.
  2. Step 2: Match syntax to FastAPI endpoint definition

    FastAPI supports async endpoints by using async def to allow await inside the function.
  3. Final Answer:

    async def get_data(): -> Option B
  4. Quick Check:

    Async function syntax = B [OK]
Hint: Async functions start with 'async def' [OK]
Common Mistakes:
  • Using 'await def' which is invalid syntax
  • Omitting 'async' keyword for async endpoints
  • Writing 'async get_data()' without 'def'
3. What will happen if a FastAPI async endpoint awaits a slow database call?
medium
A. The server can handle other requests while waiting for the database
B. The server ignores the database call
C. The server crashes due to blocking
D. The server blocks and cannot handle other requests until done

Solution

  1. Step 1: Understand await in async functions

    When an async function awaits a slow operation, it pauses that task but frees the server to do other work.
  2. Step 2: Apply this to FastAPI server behavior

    FastAPI can process other incoming requests during this wait, improving throughput.
  3. Final Answer:

    The server can handle other requests while waiting for the database -> Option A
  4. Quick Check:

    Await frees server to handle others = D [OK]
Hint: Await pauses task but frees server for others [OK]
Common Mistakes:
  • Thinking await blocks the whole server
  • Assuming server crashes on await
  • Believing await skips the database call
4. Identify the error in this FastAPI async endpoint code:
from fastapi import FastAPI
app = FastAPI()

@app.get('/items')
def read_items():
    data = await fetch_data()
    return data
medium
A. Missing FastAPI import
B. Missing await keyword before fetch_data()
C. Using def instead of function name
D. Missing async keyword before function definition

Solution

  1. Step 1: Check function definition for async keyword

    The function uses await inside but is defined with def instead of async def, which is invalid.
  2. Step 2: Understand await requires async function

    Await can only be used inside async functions, so the function must be async def.
  3. Final Answer:

    Missing async keyword before function definition -> Option D
  4. Quick Check:

    Await needs async def = A [OK]
Hint: Await only works inside async def functions [OK]
Common Mistakes:
  • Forgetting async before def when using await
  • Thinking await is optional inside async
  • Confusing function name with def keyword
5. You want to improve a FastAPI app that calls two slow APIs sequentially. How does using async improve performance?
hard
A. Async makes the API calls run faster on the server CPU
B. Async caches the API responses automatically
C. Async lets both API calls run at the same time, reducing total wait time
D. Async disables one API call to save time

Solution

  1. Step 1: Understand sequential vs concurrent calls

    Calling two slow APIs one after another waits for the first to finish before starting the second.
  2. Step 2: Apply async concurrency to API calls

    Using async, both calls can start and wait at the same time, reducing total wait time.
  3. Final Answer:

    Async lets both API calls run at the same time, reducing total wait time -> Option C
  4. Quick Check:

    Async enables concurrency = A [OK]
Hint: Async runs slow tasks together, not one by one [OK]
Common Mistakes:
  • Thinking async speeds up CPU processing
  • Assuming async caches responses automatically
  • Believing async disables tasks to save time
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