Enterprise Architect interview questions
100 real questions with model answers and explanations for Enterprise Architect candidates.
See a Enterprise Architect resume example →Practice with flashcards
Spaced repetition · Hunter Pass
Questions
I would draw boundaries around business invariants and language rather than copy the current team or table structure.
- Order Management owns cart conversion, order states, and the stable order ID, but not card authorization or stock counts.
- Payments owns authorization, capture, and refund rules; Inventory owns reservations and available-to-promise quantities.
- Fulfillment starts from confirmed orders and reservations, then owns parcels, carriers, and delivery status.
- Cross-context changes travel through contracts such as OrderConfirmed and StockReserved, with no direct writes into another context's tables.
Why interviewers ask this: The interviewer is checking whether you can derive practical domain boundaries from ownership and invariants instead of treating services as renamed tables.
I would use the conflicting meanings of coverage as evidence that the three models should stay separate.
- Policy defines coverage as contracted limits and exclusions effective on a date.
- Billing cares about premium-bearing coverages and payment schedules, while Claims evaluates coverage against a loss event.
- I would run event-storming sessions with underwriters, billing specialists, and adjusters, then test each boundary against its own rules and change cadence.
- Integration contracts carry explicit terms such as PolicyCoverageSnapshot rather than a shared Coverage table.
Why interviewers ask this: A strong answer shows how ubiquitous language and invariants expose domain boundaries in a named business scenario.
I would let each bounded context keep the customer model needed for its decisions and share only stable identifiers and contracts.
- Customer Identity owns verified legal identity, KYC status, and party ID.
- Marketing owns consent, segments, and campaign preferences; Lending owns applicant, borrower, and credit relationship states.
- Context-specific projections consume identity events and store only the fields they need, with contract versions recorded.
- A party ID links records, but no domain may update another domain's customer representation directly.
Why interviewers ask this: The interviewer wants to see that you avoid a universal enterprise object while preserving traceability between domain-specific views.
I would make upstream influence, command ownership, and result publication explicit for every integration on the map.
- Pricing publishes a versioned Quote contract that Orders consumes as a customer-supplier relationship.
- Orders sends a versioned ReserveStock command to Inventory with the order ID, SKU, quantity, and idempotency key.
- Inventory owns the reservation invariant and publishes StockReserved or StockReservationRejected, while Orders stores the reservation ID and outcome.
- Shipping consumes the OrderReadyForDispatch published language and translates carrier-specific terms inside its own context.
Why interviewers ask this: This tests whether you can turn a context map into enforceable integration responsibilities rather than a diagram of boxes and arrows.
I would place the anti-corruption layer at the Sales boundary so ERP concepts cannot leak into the new domain model.
- The layer translates SalesOrder and CustomerAccount into the ERP's document types, codes, and batch interfaces.
- It owns mapping tests against two supported ERP versions and quarantines records with unknown codes instead of silently defaulting them.
- Sales depends on its own port, while an adapter can later move from the ERP API to events without changing Sales rules.
Why interviewers ask this: The interviewer is evaluating whether you can isolate a volatile legacy model and keep replacement options open.
I would allow a shared kernel only for a very small, jointly governed model whose semantic identity is proven.
- Currency, decimal rounding, and TaxJurisdiction value objects may qualify if both teams release them from one package and run the same conformance tests.
- Promotional eligibility and invoice tax calculation should remain separate because their rules and release cadence differ.
- The shared package needs named co-owners, semantic versioning, and a rule that breaking changes require both consumers to upgrade in one planned window.
Why interviewers ask this: A strong answer limits the shared kernel to genuinely shared semantics and states the coupling cost explicitly.
I would build a many-to-many matrix between stable claims capabilities and the 12 applications that support them.
- Break Claims Management into intake, coverage validation, reserve calculation, fraud screening, settlement, and recovery.
- Map every application to every capability it supports and record its role, because one capability may use several applications and one application may support several capabilities without a forced primary.
- For each mapping, capture user groups, interfaces, annual run cost, lifecycle, criticality, and the specific business function provided.
- Validate the matrix with claims operations and application owners, then use overlaps and unsupported capabilities as evidence for investment decisions.
Why interviewers ask this: The interviewer is checking whether your capability map connects business work to evidence about a bounded application portfolio.
I would compare the three products by the capabilities they actually support, not by a generic CRM feature list.
- Map lead management, opportunity management, case handling, consent, and campaign execution to users, transaction volume, and required integrations.
- Separate intentional specialization, such as a service desk optimized for 20,000 cases per day, from duplicate account and contact storage.
- Consolidate only capabilities with equivalent requirements, then price migration, retraining, data cleansing, and lost specialist features in the decision.
Why interviewers ask this: This tests whether you can distinguish harmful duplication from justified specialization using capability evidence.
I would score capabilities with a small, traceable set of business and technology measures.
- Rate business importance, customer pain, change demand, application health, and data quality on a defined 1-to-5 scale.
- Attach evidence such as checkout abandonment, warehouse exceptions, release lead time, and support cost rather than relying on workshop votes alone.
- Plot high-importance, low-health capabilities such as Returns Management first, and keep confidence and data date visible beside every score.
Why interviewers ask this: A strong answer makes the heatmap reproducible and evidence-based rather than a subjective red-yellow-green picture.
I would model the capabilities delivered by each transition state and make application dependencies explicit before sequencing waves.
- Order Capture cannot leave the legacy suite until pricing, customer identity, and tax contracts are available.
- Warehouse Allocation can move later if an adapter preserves the existing batch interface for six months.
- Each roadmap item names the capability outcome, predecessor, temporary integration, data migration, and retirement condition.
- Milestones are capability-based, such as 80% of orders allocated by the new service, rather than merely application installation dates.
Why interviewers ask this: The interviewer wants to see a roadmap driven by usable business capability increments and real dependency mechanics.
I would use a transactional outbox so the order row and publish intent commit atomically in PostgreSQL.
- The same transaction inserts the order and an outbox record containing event ID, aggregate ID, type, schema version, and payload.
- Debezium CDC or a polling relay publishes the outbox record to Kafka, and a retention job archives or deletes processed rows only after the publish checkpoint and required replay or audit window.
- Consumers remain idempotent because the relay can publish twice after a crash.
- I would monitor unpublished row age and alert if the oldest item exceeds the agreed 60-second delivery objective.
Why interviewers ask this: This checks whether you can solve the database-broker dual-write problem with concrete delivery and monitoring mechanics.
I would make the event ID or business operation key part of the same transaction as the accounting entry.
- Store the processed event ID under a unique constraint in the transaction that creates the ledger entry.
- If capture can be retried with different event IDs, use merchant ID plus payment ID plus operation type as the stable idempotency key.
- A duplicate becomes a successful no-op, while a reused key with a different amount is rejected and surfaced for investigation.
- Keep the idempotency evidence linked to the ledger entry for the ledger's statutory and business retention period, even when the broker replay window is shorter.
Why interviewers ask this: The interviewer is evaluating whether you understand idempotency beyond simply checking for duplicate messages in memory.
I would automate compatibility rules in team pipelines and reserve review for semantic or breaking changes.
- Register Avro or Protobuf subjects by domain and event type, with backward compatibility as the default.
- Producers can add optional fields with defaults, but renames, type changes, and removals fail CI against registered versions.
- Each schema carries an owning team, purpose, data classification, and deprecation date in the catalog.
- A contract test runs representative old consumers against the new producer schema before release.
Why interviewers ask this: A strong answer combines decentralized ownership with automated compatibility controls and semantic governance.
The contract should carry a stable business fact and enough metadata to process it safely, but not expose the order service's internal model.
- The payload includes order ID, confirmation time, customer reference, line identifiers, quantities, currency, and confirmed totals.
- The envelope includes event ID, occurred-at time, producer, schema version, correlation ID, and trace context.
- Billing and Fulfillment own separate projections and must not rely on fields marked internal or reconstruct an order aggregate.
- The Orders team owns meaning and compatibility, while consumers register usage so removals have a known blast radius.
Why interviewers ask this: This tests whether you can design a durable event contract with clear semantic ownership and limited coupling.
I would use choreography for this four-domain Orders, Payments, Inventory, and Shipping flow only while it stays within explicit complexity and ownership limits.
- Orders emits OrderConfirmed, Payments emits PaymentAuthorized, Inventory emits StockReserved, and Shipping emits DispatchScheduled or DispatchRejected without a central coordinator.
- Each participant owns its local transaction and publishes through an outbox.
- A correlation ID and a process projection let the named order-flow owner measure the end-to-end completion SLO.
- I would introduce an orchestrator when the flow exceeds four participating domains, adds more than two timers or compensation branches, or no single owner can meet the end-to-end SLO.
Why interviewers ask this: The interviewer wants a bounded use of choreography and a concrete threshold for when its implicit flow becomes hard to manage.
I would use an orchestrated saga because the process has explicit sequencing, timers, and recovery decisions.
- A LoanApplication process manager stores state and issues commands to Identity, Credit, Documents, and Accounts.
- Every command has a correlation ID, idempotency key, deadline, and expected reply type.
- The orchestrator persists transitions before sending the next command and can resume after a restart.
- Domain services still own their local transactions; the orchestrator owns only process state, not their business data.
Why interviewers ask this: A strong answer separates cross-domain process coordination from the local invariants owned by each domain.
I would define compensation as explicit business actions because distributed work cannot be rolled back like one database transaction.
- If hotel reservation fails, issue CancelFlightReservation and VoidPaymentAuthorization with their original operation IDs.
- Record whether each action is reversible, time-limited, fee-bearing, or manual, since a ticket may become nonrefundable.
- Retries use idempotency keys and bounded backoff, then move unresolved cases to an operations queue.
- The saga ends in Completed, Compensated, or ManualResolution, so partial outcomes remain visible.
Why interviewers ask this: This checks whether you treat compensation as domain behavior with irreversible cases rather than a technical rollback.
I would use CQRS if a separately optimized read projection removes real pressure without duplicating the write rules.
- Keep commands and invariants in the transactional model, then project committed changes into Elasticsearch for search.
- Publish the expected freshness, for example p95 under five seconds, and show users when a just-written item is still indexing.
- Rebuild projections from a retained change stream and version the projector so deployments can run old and new indexes in parallel.
- I would not split command and query services if indexed SQL already meets the target with less operational cost.
Why interviewers ask this: The interviewer is evaluating whether you can justify CQRS with workload numbers and account for eventual consistency and rebuilds.
I would choose event sourcing only when the complete decision history is a core domain requirement, not just because events are already used.
- Subscription plan changes, pauses, credits, and renewals can form an auditable stream from which billing state is derived.
- The design needs immutable event semantics, snapshotting for long streams, upcasters for old versions, and tested projection rebuilds.
- I would reject it for reference data or simple CRUD where a temporal table and audit log meet the need.
- Privacy erasure and correction rules must be designed before storing personal fields in an immutable stream.
Why interviewers ask this: A strong answer identifies a domain fit for event sourcing and names its long-term schema, replay, and privacy costs.
I would rely on Kafka ordering only within a partition and key records by the actual consistency boundary.
- Warehouse ID plus SKU keeps ReservationCreated, StockReceived, and ReservationReleased for one stock aggregate in the same partition.
- A consumer processes each assigned partition serially, or uses a key-aware executor that preserves per-key order while different keys run concurrently.
- Offsets are committed only after all lower offsets in that partition complete successfully, so a failed record pauses safe progress instead of being skipped.
- Aggregate sequence numbers detect gaps, and a peak-load test verifies that a hot SKU does not exceed one partition's throughput.
Why interviewers ask this: This tests whether you can connect business ordering requirements to broker keys, consumer concurrency, and hot-partition limits.
Locked questions
- 21
A fraud team needs to replay six months of transaction events into a new model. What must the event architecture provide?
transactionsarchitecture - 22
You expose 120 partner APIs through Kong. Which gateway policies would you standardize and which would remain API-specific?
gateway - 23
How would you manage API versioning and deprecation for 30 external consumers?
versioning - 24
A company uses one API gateway for mobile clients, partners, and internal services. Would you keep that boundary?
gatewayapi-gatewayapi - 25
How would you modernize an ESB connecting 18 systems without a big-bang replacement?
system-design - 26
An ESB contains a 2,000-field canonical customer model and many transformations. What would you replace it with?
- 27
For order status shared with Billing, Analytics, and Customer Support, when would you use an API and when an event?
api - 28
Eight Kubernetes teams want Istio. What boundary and responsibilities would you set for the service mesh?
service-meshkubernetes - 29
How would you design customer master data across CRM, billing, support, and e-commerce systems?
system-designdesign - 30
A manufacturer has conflicting product records in ERP, PLM, and e-commerce. How would you divide master data ownership?
ownership - 31
What match and survivorship rules would you use when an MDM hub receives 8 million customer records?
- 32
A legacy Oracle order database cannot be changed, but new services need near-real-time updates. How would you use CDC?
database - 33
Who owns a CDC stream when the source database team, platform team, and consuming domain are different?
database - 34
How would you capture ownership and lineage for revenue data flowing from orders through Kafka and dbt into a warehouse?
kafkalineagedbt - 35
How would you connect two data centers to Azure for 40 migrating applications that require private access?
- 36
A product runs in AWS but must use an Azure-hosted analytics service. How would you avoid turning this into a vague multi-cloud mandate?
multi-cloud - 37
An EU customer portal uses an on-premises identity provider and cloud workloads, while personal data must stay in the EU. How would you design the boundary?
discoverydesign - 38
How would you apply the TIME model to a bounded portfolio of 60 finance applications?
- 39
A department plans to move 24 applications to cloud. How would you use the 6R method to build migration waves?
migrationscloud-migration - 40
What evidence would you collect before rationalizing 35 applications that support procurement?
procurement - 41
What conditions must be met before retiring a legacy invoicing application?
- 42
What would you put in a reference architecture for event-driven services used by six teams?
eventsevent-driven - 43
An ADR repository contains 75 decisions, and 18 conflict after an upgrade to the shared identity platform. How would you build dependency and supersession control?
dependencies - 44
A technology radar finds 11 Java versions across 70 applications, including 18 applications on unsupported releases. How would you turn the finding into a modernization plan?
- 45
Which architecture fitness functions would you implement for a platform of 70 services?
architecture - 46
How would you divide architecture information between LeanIX and Sparx EA for a 90-application portfolio?
architecture - 47
What metadata would you require in a Backstage catalog for 150 services?
- 48
What evidence would you require before moving a technology from Assess to Trial on a technology radar?
- 49
How would you allocate cross-domain NFR budgets for checkout across Orders, Payments, Inventory, and Fraud?
- 50
How would you build a roadmap and business case for replacing a product master used by seven applications?
roadmapbudget - 51
You inherit 12 integration tools across 9 teams, with overlapping ETL, ESB, API, and messaging capabilities. How do you start consolidation?
ownershipapietl - 52
Eight integration products currently handle 180 interfaces, and teams want one replacement for everything. How would you define the target integration patterns?
types - 53
During migration from 10 integration tools, the first 24 interfaces show a 2.5% message loss rate. What do you do next?
migrationstypescloud-migration - 54
A software license audit finds 34 of 180 applications using unlicensed database editions, with a 60-day cure period. How would you control the response?
database - 55
A planned retirement of one of 145 services reveals 17 undocumented consumers two days before shutdown. How do you recover the rationalization plan?
- 56
A duplicate reporting application costs $180,000 per year, but 60 users still export data from it weekly. How would you retire it safely?
- 57
A company wants to move finance and sales from a 14-year-old ERP and CRM within nine months. How would you phase the migration?
migrationscloud-migration - 58
During a phased CRM migration, customer updates occur in both systems and 3% of records diverge. How do you control coexistence?
system-designcloud-migrationmigrations - 59
A CRM cutover for 12 business units shows 8% role-mapping failures and 4% duplicate contacts, with 90 minutes left before the rollback point. What is your go or no-go decision?
rollback - 60
A 1.2-million-line order monolith must be decomposed, but teams disagree on the first seam. How do you choose it?
monolithmicroservicesconflict - 61
A strangler extraction temporarily requires the monolith and new returns service to see the same data. Would you allow dual writes?
monolithmigrationmicroservices - 62
After 15% of traffic is routed from a monolith to a new pricing service, checkout p95 latency rises from 420 ms to 780 ms. How do you respond?
monolithmicroserviceslatency - 63
Landing-zone service quotas and policy provisioning are blocking a 20-application cloud wave. How would you redesign wave admission and platform ownership?
ownership - 64
The first cloud wave is ready, but central identity provisioning takes three days and audit logs arrive six hours late. Do you proceed?
- 65
A cloud migration wave of 18 applications passes smoke tests, but batch completion slips from 2 hours to 5 hours. How do you decide whether to roll back?
batchcloud-migrationtesting - 66
After moving six services to the cloud, hybrid API p99 latency jumps from 180 ms to 1.4 seconds only between 10:00 and 11:00. How do you diagnose it?
latencyapi - 67
Tracing shows a cloud checkout request crosses the private link 14 times because customer and tax calls remain on-premises. What change would you make?
- 68
After consolidating three gateways into Kong, valid partner calls begin returning 403 because global and route-level policies conflict. How do you debug it?
gateway - 69
One of 10 teams needs a different API rate limit for a seasonal campaign, but the gateway standard allows only the global default. How do you handle it?
rate-limitingsoft-skillsgateway - 70
A producer changes customerId from string to integer, and 4 of 13 Kafka consumers stop processing. What is your incident response?
incidentskafkaconcurrency - 71
A customer event field containing a national ID must be removed within 45 days, but 3 of 11 consumers still depend on it and historical replay is required. How would you evolve the contract?
- 72
A producer changes its Kafka partition key from customer ID to region, causing out-of-order account updates for six consumers. How do you contain and repair the change?
kafkacloud-regionspartitioning - 73
CRM reports 2.4 million customers while billing has 2.1 million, and support finds duplicate profiles with different emails. How do you diagnose the customer master problem?
- 74
You must create a trusted customer master from four systems without stopping sales. How would you migrate records and consumers?
system-design - 75
A nightly inventory batch processes 30 million rows in seven hours and increasingly misses the 06:00 store opening. Would you replace it with events?
batchconcurrency - 76
During a batch-to-event transition, the event projection and nightly ledger differ by 0.7%. How do you find the gap?
batch - 77
After replacing a billing batch with events, duplicate and out-of-order messages create 420 incorrect balances. What architecture changes do you require?
batch - 78
A team proposes a managed workflow platform that cuts delivery from 12 weeks to 5 but uses proprietary definitions. How do you assess lock-in?
- 79
An annual exit test from a SaaS CRM takes 52 hours against a 24-hour recovery target. What do you do?
cloud-modelscloud - 80
A threat model adds an internet callback path three weeks before launch, but the approved reference architecture has no inbound webhook pattern. How would you make the decision?
threat-modelingwebhooksarchitecture - 81
An architecture exception expired 18 days ago, but the service still handles 8% of customer traffic. How do you enforce it without causing an outage?
error-handling - 82
An architecture review board takes 19 days on average, delaying work across 12 teams. How would you find the bottleneck?
trackingarchitecture - 83
A product team needs an architecture decision in 48 hours, but the next review board session is in nine days. What fast path would you use?
sessionsarchitecture - 84
You need 10 autonomous teams to adopt a new API standard within one quarter. How do you make adoption practical?
decision-makingapi - 85
Four of 11 teams reject a standard event envelope because it adds 15% payload overhead. How do you resolve the resistance?
- 86
A reference architecture is marked adopted by 14 teams, yet incidents still show inconsistent retries and timeouts. How do you measure real adoption?
incidentsdecision-makingarchitecture - 87
A fitness function suddenly blocks 70 of 130 services for using an unapproved dependency, even though most did not change. How do you debug it?
dependencies - 88
A service passed all architecture fitness functions but exposed an unencrypted public endpoint for nine days. What do you change?
endpoints - 89
Backstage lists 36 of 210 services without owners, and two orphaned services caused recent incidents. How do you repair ownership data?
incidentsownership - 90
LeanIX says finance owns an application, Backstage says the data team owns its services, and incidents page the platform team. How do you resolve the conflict?
incidents - 91
Three months after a catalog cleanup, 18% of Backstage ownership records are stale again. How would you prevent recurrence?
ownership - 92
A customer analytics feature needs EU and US data, but policy forbids EU personal data from leaving the region. How would you design the bounded project?
designcloud-regionsdiscovery - 93
Replication audit and DLP evidence show 12,000 EU customer records were copied to a US support index after a configuration change. What do you do?
indexesreplicationconfig - 94
SaaS license spend is 38% over forecast because 4,200 dormant accounts and duplicate tenants remain. How would you recover the spend before renewal?
cloud-modelscloud - 95
A migrated service costs three times its baseline because it uses oversized nodes and sends 18 TB across regions monthly. What correction would you propose?
cloud-regions - 96
An identity-platform dependency slips by eight weeks and blocks wave two of a 70-application roadmap. How do you replan?
roadmapdependencies - 97
A roadmap shows 25 applications depending on a shared API, but the API team can onboard only five per month. How do you protect the critical path?
onboardingcommunicationapi - 98
For a six-team partner-onboarding project, security wants every call through the gateway while one team wants direct service access to save 40 ms. How do you resolve it?
onboardinggateway - 99
Sales wants a new customer-profile service in 10 weeks, but CRM and support teams disagree over which attributes belong in its bounded context. What do you do?
conflict - 100
A CQRS read model lags 18 minutes during peak traffic, and customer service is making incorrect refund decisions from stale data. How would you recover and prevent recurrence?
cqrs