Skip to content

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

databasesystem-design

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.

validationcoverage

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.

conflictsystem-design

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.

pricing

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.

pricing

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.

charts

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.

roadmapdependencieswarehouse

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.

kafkadesignpostgres

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.

idempotency

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.

registrieskafkaschema

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.

estimationsaga

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.

saga

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.

cqrs

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.

event-sourcing

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.

kafkadesignpartitioning

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