Choose Between a Monolith, Microservices, and a Modular Architecture

Read the full interview experience this question came from →

Quick Overview

Compare monolithic and service-based architectures and plan incremental extraction or consolidation around domain boundaries, data ownership, and measured goals.

Choose Between a Monolith, Microservices, and a Modular Architecture

Company: Generalmotors

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Compare a monolithic service, microservices, and a modular architecture. Explain how you would migrate a monolith toward services and how you would reconsider an overly fragmented microservice system in favor of clearer modules. ### Constraints No team size, workload, deployment constraint, or existing failure is prescribed. A modular architecture may be a modular monolith or well-defined modules within a service-based system; clarify the intended form. Do not assume that more services automatically improve scalability or maintainability. ### Clarifying Questions - Which current problem motivates the change: deployment coupling, scaling, ownership, reliability, or development speed? - Where are the domain and data boundaries, and which operations need transactions? - Can the migration be incremental while old and new components coexist? ```hint Preserve a business invariant through the migration A new network boundary changes failure and consistency behavior even when the extracted code initially looks identical. ``` ### What a Strong Answer Covers - Concrete tradeoffs in deployment, operational burden, failure isolation, and data consistency. - A migration sequence based on domain boundaries and measurable goals. - Reasons to consolidate services or strengthen module boundaries and how to validate the result. ### Follow-up Questions - How would you avoid a distributed monolith with tightly coupled deployments? - How would shared database ownership affect the extraction plan?

Overview: Compare monolithic and service-based architectures and plan incremental extraction or consolidation around domain boundaries, data ownership, and measured goals.

Read the full Generalmotors Software Engineer interview experience this question came from

|Home/System Design/Generalmotors
Generalmotors logo
Generalmotors
Aug 30, 2026
mediumSoftware EngineerTechnical ScreenSystem Design
0
0

Compare a monolithic service, microservices, and a modular architecture. Explain how you would migrate a monolith toward services and how you would reconsider an overly fragmented microservice system in favor of clearer modules.

Constraints

No team size, workload, deployment constraint, or existing failure is prescribed. A modular architecture may be a modular monolith or well-defined modules within a service-based system; clarify the intended form. Do not assume that more services automatically improve scalability or maintainability.

Clarifying Questions Guidance

  • Which current problem motivates the change: deployment coupling, scaling, ownership, reliability, or development speed?
  • Where are the domain and data boundaries, and which operations need transactions?
  • Can the migration be incremental while old and new components coexist?

What a Strong Answer Covers Guidance

  • Concrete tradeoffs in deployment, operational burden, failure isolation, and data consistency.
  • A migration sequence based on domain boundaries and measurable goals.
  • Reasons to consolidate services or strengthen module boundaries and how to validate the result.

Follow-up Questions Guidance

  • How would you avoid a distributed monolith with tightly coupled deployments?
  • How would shared database ownership affect the extraction plan?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...