0
0
Microservicessystem_design~20 mins

Architecture decision records (ADR) in Microservices - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
ADR Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Purpose of Architecture Decision Records (ADR)

What is the main purpose of using Architecture Decision Records (ADR) in a microservices system?

ATo replace the need for unit testing in microservices development
BTo automatically generate code for microservices based on architecture diagrams
CTo monitor the performance of microservices in real-time
DTo document important architectural decisions and their context for future reference
Attempts:
2 left
💡 Hint

Think about why teams keep records of decisions they make about system design.

Architecture
intermediate
2:00remaining
Key components of an ADR document

Which of the following is NOT typically included in an Architecture Decision Record?

AThe context and problem the decision addresses
BThe decision made and its status
CThe detailed source code implementation of the decision
DThe consequences and trade-offs of the decision
Attempts:
2 left
💡 Hint

ADRs focus on decisions, not code details.

scaling
advanced
2:30remaining
Scaling ADRs in a large microservices organization

In a large organization with many microservices teams, what is the best approach to keep Architecture Decision Records (ADRs) effective and manageable?

AUse a shared ADR template and encourage teams to link related ADRs across repositories
BAllow each team to maintain their own ADRs locally without any coordination
CAvoid writing ADRs to save time and rely on verbal communication instead
DCentralize all ADRs in a single repository and require all teams to submit decisions there
Attempts:
2 left
💡 Hint

Think about balancing consistency and team autonomy.

tradeoff
advanced
2:30remaining
Trade-offs in ADR granularity

What is a key trade-off when deciding how detailed each Architecture Decision Record should be?

ALess detail reduces clarity but makes ADRs quicker to create and maintain
BLess detail means ADRs can replace all other documentation
CMore detail makes ADRs easier to write but harder to understand
DMore detail always improves team communication without downsides
Attempts:
2 left
💡 Hint

Consider the balance between clarity and effort.

component
expert
3:00remaining
Request flow trace involving ADR usage

Consider a microservices system where a new architectural decision is made to switch from synchronous REST calls to asynchronous messaging between services. Which component in the request flow is most directly impacted by this ADR?

AThe API Gateway that routes incoming requests to services
BThe message broker or event bus handling asynchronous communication
CThe database storing user data
DThe client application making requests
Attempts:
2 left
💡 Hint

Think about what changes when communication switches from direct calls to messaging.