Practice English vocabulary for discussing API design decisions: REST principles, versioning strategies, backward compatibility, and API contracts.
0 / 8 completed
1 / 8
What does 'backward compatibility' mean in the context of API versioning?
Backward compatibility means that changes to the API do not break existing clients. Adding new optional fields is backward compatible; removing or renaming fields is not.
2 / 8
Which of these is a 'breaking change' in a REST API?
Renaming a required field is a breaking change — existing clients sending 'user_id' will get errors. Adding optional parameters or new fields is non-breaking.
3 / 8
What is 'API versioning via URL path' (e.g., '/v1/users')?
URL path versioning puts the version in the URL (e.g., /v1/users, /v2/users). It is explicit, easy to test in a browser, and widely understood — though it violates strict REST principles.
4 / 8
What is 'idempotency' in REST API design?
An idempotent operation can be called multiple times safely. GET, PUT, and DELETE are idempotent. POST is not — calling it twice creates two resources.
5 / 8
What does 'API contract' mean?
An API contract defines what the API promises: its endpoints, request/response schemas, error codes, and behavior. Tools like OpenAPI (Swagger) formalize contracts that both providers and consumers rely on.
6 / 8
What is 'rate limiting' and why is it important to communicate it to API consumers?
Rate limiting caps requests per client per time window (e.g., 100 req/min). API consumers must handle 429 Too Many Requests responses with exponential backoff to avoid being throttled.
7 / 8
What is a 'hypermedia API' (HATEOAS)?
HATEOAS (Hypermedia as the Engine of Application State) is a REST constraint where responses include links to available actions. Clients follow links rather than constructing URLs, making them more flexible.
8 / 8
What does 'pagination' solve in API design, and what are common approaches?
Pagination breaks large result sets into pages. Offset/limit is simple but has performance issues on large datasets. Cursor-based pagination is more efficient for large, frequently-updated datasets.
What will I learn from the "" exercise?Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall required.
How many questions are in this exercise?
This set contains 8 multiple-choice questions, each with a detailed explanation shown after you answer.
Do I need to create an account to track my progress?
No account is required. Your progress bar and score reset each time you reload the page, but you can retry the exercise as many times as you like.
Who is this Software Architecture exercise for?
This exercise is built for IT professionals and non-native English speakers who need to read, write, and discuss software architecture topics confidently at work.
What happens if I answer a question incorrectly?
You will see the correct answer highlighted along with a detailed explanation of why it is correct -- so every wrong answer becomes a learning moment, not just a lost point.
Can I retry this exercise?
Yes -- click "Try again" on the results screen at any time to reset your score and go through all the questions again.
How long does this exercise take to complete?
Most learners finish all 8 questions in under 10 minutes, since each question is answered by clicking a single option.
Where can I find more Software Architecture exercises?
See the full Software Architecture exercises hub for more vocabulary drills on this topic.
Is this exercise mobile-friendly?
Yes -- the exercise works on any device with a modern browser, including phones and tablets, with no app download required.