Bird
Raised Fist0
Rest APIprogramming~20 mins

Client-server architecture in Rest API - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Client-Server Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this simple REST API client request?

Consider this Python code using requests to get data from a server:

import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)

What will this print?

Rest API
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
A403
B500
C200
D404
Attempts:
2 left
💡 Hint

Think about what status code means a successful GET request.

🧠 Conceptual
intermediate
1:30remaining
Which component is responsible for processing client requests in client-server architecture?

In a client-server model, which part handles the incoming requests and sends back responses?

ADatabase
BClient
CRouter
DServer
Attempts:
2 left
💡 Hint

Think about who listens and responds to requests.

🔧 Debug
advanced
2:00remaining
What error will this REST API client code raise?

Look at this Python code snippet:

import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts/abc')
print(response.json()['id'])

What error will occur when running this code?

AKeyError
BJSONDecodeError
CTypeError
DNo error, prints 'abc'
Attempts:
2 left
💡 Hint

Check what the server returns for an invalid post id and what keys exist in the JSON.

📝 Syntax
advanced
2:00remaining
Which option correctly sends JSON data in a POST request?

Which Python code snippet correctly sends JSON data to a REST API server?

Arequests.post(url, data={'name': 'Alice'})
Brequests.post(url, json={'name': 'Alice'})
Crequests.post(url, body={'name': 'Alice'})
Drequests.post(url, payload={'name': 'Alice'})
Attempts:
2 left
💡 Hint

Remember the parameter that automatically encodes JSON in requests.

🚀 Application
expert
2:30remaining
How many items will this server return in the JSON list?

A REST API server returns this JSON response for GET /users?active=true:

[{"id":1,"active":true},{"id":2,"active":true},{"id":3,"active":false},{"id":4,"active":true}]

How many user objects will the client receive if the server filters correctly?

A3
B4
C2
D1
Attempts:
2 left
💡 Hint

Count only users with active set to true.

Practice

(1/5)
1. In a client-server architecture, what is the main role of the client?
easy
A. To request data or services from the server
B. To store and manage data permanently
C. To control the network hardware
D. To provide power to the server

Solution

  1. Step 1: Understand client role

    The client is the part of the system that asks for information or services.
  2. Step 2: Differentiate from server role

    The server responds to client requests by sending data or services.
  3. Final Answer:

    To request data or services from the server -> Option A
  4. Quick Check:

    Client requests, server responds [OK]
Hint: Clients always ask; servers always answer [OK]
Common Mistakes:
  • Confusing client with server
  • Thinking client stores data permanently
  • Assuming client controls network hardware
2. Which of the following is the correct way a client sends a request to a server in REST API?
easy
A. Using a SQL SELECT statement
B. Using an HTTP GET method
C. Using a FTP upload command
D. Using a local file read operation

Solution

  1. Step 1: Identify REST API request methods

    REST APIs use HTTP methods like GET, POST, PUT, DELETE to communicate.
  2. Step 2: Match method to client request

    GET is used by clients to request data from servers.
  3. Final Answer:

    Using an HTTP GET method -> Option B
  4. Quick Check:

    REST client requests use HTTP methods [OK]
Hint: REST clients use HTTP verbs like GET to ask [OK]
Common Mistakes:
  • Confusing SQL with REST API
  • Using FTP commands for REST requests
  • Thinking local file reads send requests
3. What will the server respond with if a client sends a GET request to /users/123 and the user exists?
medium
A. A JSON object with user details
B. An error message saying 'User not found'
C. A redirect to the homepage
D. A blank page with no content

Solution

  1. Step 1: Understand GET request to resource

    A GET request to /users/123 asks for user data with ID 123.
  2. Step 2: Server response when user exists

    If user exists, server sends back user details, usually as JSON.
  3. Final Answer:

    A JSON object with user details -> Option A
  4. Quick Check:

    GET existing resource returns data [OK]
Hint: GET returns data if resource exists, else error [OK]
Common Mistakes:
  • Assuming error if user exists
  • Thinking GET causes redirect
  • Expecting blank page on success
4. A client sends a POST request to create a new user, but the server responds with a 404 error. What is the most likely cause?
medium
A. The client sent too much data
B. The client used the wrong HTTP method
C. The server successfully created the user
D. The server URL endpoint is incorrect or missing

Solution

  1. Step 1: Understand 404 error meaning

    404 means the requested URL or endpoint was not found on the server.
  2. Step 2: Link error to cause

    If POST returns 404, likely the client sent request to wrong or missing URL.
  3. Final Answer:

    The server URL endpoint is incorrect or missing -> Option D
  4. Quick Check:

    404 means URL not found [OK]
Hint: 404 means wrong or missing URL endpoint [OK]
Common Mistakes:
  • Confusing 404 with method error
  • Assuming success on 404
  • Thinking data size causes 404
5. You want to design a REST API where clients can update user info only if they provide a valid token. Which client-server architecture concept helps enforce this?
hard
A. Client directly modifying server database
B. Client caching data locally
C. Authentication and authorization on the server
D. Server sending data without checks

Solution

  1. Step 1: Identify security need

    Allowing updates only with valid token means controlling access.
  2. Step 2: Apply client-server security concept

    Authentication verifies identity; authorization controls permissions on server side.
  3. Final Answer:

    Authentication and authorization on the server -> Option C
  4. Quick Check:

    Access control = Authentication + Authorization [OK]
Hint: Use server-side auth to control client access [OK]
Common Mistakes:
  • Thinking client caches control access
  • Assuming server sends data without checks
  • Believing client can modify database directly
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