Legacy Modernization and Architecture Evolution Questions

Evolving an existing system rather than designing greenfield. Covers the modernization patterns (strangler fig, anti-corruption layers, facades and protocol adapters), choosing between rehosting, replatforming, incremental refactoring and a full rewrite, data migration and coexistence (dual-running, change-data-capture versus bulk cutover, reconciliation and drift), cutover readiness and decommissioning, recovering undocumented behavior from legacy code and stored procedures, instrumenting a migration so you can tell in real time whether it is working, and the organizational and risk management of long migrations across many teams. The scope is the migration itself: not quantifying or prioritizing technical debt, not code-level refactoring craft, not how to decompose a system into microservices, and not cloud migration or deployment and rollback mechanics as topics in their own right.

EasyTechnical
47 practiced

Compare rehosting, replatforming, incremental refactoring, and a full rewrite as ways to modernize an existing system. When does each one actually win, and what does 'winning' mean differently for each?

EasyTechnical
54 practiced

A legacy service is generating enough production pain (frequent incidents, slow releases, brittle deploys) that something has to change, but you cannot stop shipping features to fix it properly. How do you sequence the work?

MediumTechnical
61 practiced

When is a full rewrite of a legacy system actually the right call instead of an incremental refactor, and what has to go right for it to work? Walk through the risks a rewrite introduces that an incremental approach avoids, and vice versa.

MediumTechnical
57 practiced

Strangler fig, anti-corruption layer, facade, and a full rewrite all show up in conversations about modernizing a legacy system, and interviewers often use them loosely. How do you decide which one actually fits a given situation, and what makes you abandon the incremental approach partway through?

HardSystem Design
51 practiced

A legacy system speaks a protocol your new services do not (SOAP, a proprietary mainframe queue, or similar), and you need new consumers to work against it without waiting for the legacy side to change. Design the adapter layer that sits between them and describe how you would keep it from becoming a second system to maintain forever.

Unlock Full Question Bank

Get access to all 10 Legacy Modernization and Architecture Evolution interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.