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

Generalmotors logo
Generalmotors
Aug 30, 2026
mediumSoftware EngineerTechnical ScreenSystem Design
2
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?