What to expect in a solutions architect interview

Solutions architect interviews usually cover three areas: system design (how would you build a system for a given problem?), technical depth (cloud platforms, networking, security, integration patterns), and communication and stakeholder management (can you explain a technical decision to people who aren't technical, and defend a trade-off when someone pushes back?).

For a junior or associate role, nobody expects ten years of enterprise architecture experience. The interviewer is looking for solid fundamentals, structured thinking, and the communication skills to grow into the job.

Many interviews also include a whiteboard or live design exercise, where you design a system on the spot. The interviewer is watching how you get there and how you explain it, as well as the design you end up with.

Explaining the design is part of the job

Solutions architects spend a lot of their time explaining designs to technical and non-technical people and getting them to agree. You might need to explain the same trade-off to a CTO and a CFO in one meeting, in the terms each of them cares about, so expect the interview to test that too.

System design fundamentals

Question 01
"Walk me through how you would approach designing a system from scratch."
What they're really asking
Do you work through the problem in a structured way, or jump straight to choosing technology?
How to answer it
Take them through your process. Start with the requirements: functional (what must the system do?) and non-functional (scale, latency, availability, security, cost). Estimate the scale: how many users, how many requests per second, how much data? The answers change which technologies make sense. Sketch the main components: clients, APIs, services, databases, caches, queues. Design the data model: what you need to store, and how it will be read and written. Find the bottlenecks and points of failure, and deal with them. Talk through the trade-offs, since every design gives something up and the right one depends on the situation. Whatever you put on the board, be ready to say which requirement it's there for.
Question 02
"What is the difference between horizontal and vertical scaling? When would you use each?"
What they're really asking
Do you understand the two basic ways to handle more load, and what each one costs?
How to answer it
Vertical scaling (scaling up) means a bigger server: more CPU, memory or storage. It's simple, but one machine can only get so big, resizing usually means a restart, and that machine is still a single point of failure. Horizontal scaling (scaling out) means more servers sharing the load. It needs a load balancer, stateless application servers and a plan for the data, which is usually the hardest part to scale. In return you can grow much further and survive losing a server. Cloud architectures generally favour scaling out, but scaling up is often the right first step for a small workload, because the extra complexity isn't worth it until you need it.
Question 03
"What is a microservices architecture and when is it appropriate?"
What they're really asking
Do you understand microservices well enough to know when not to use them?
How to answer it
A microservices architecture splits an application into small services that each own their data, deploy independently and talk over the network (through HTTP APIs or message queues). Benefits: independent scaling and deployment, a choice of technology per service, and failures that can be contained. Costs: much more to operate, including distributed tracing, service discovery, network latency, transactions that span services and many more deployments. It's fair to say microservices are often adopted too early. They make sense when several teams work on separate parts of a large system and need to release independently. A small team or a new product is usually better off with a well-structured monolith that can be split later.
Question 04
"What is caching and what are the main caching strategies?"
What they're really asking
A cache can make a slow system fast, and it can also serve out-of-date data. Do you understand the trade-offs?
How to answer it
A cache keeps frequently used data somewhere faster, usually memory, so you don't repeat expensive work. The main strategies: Cache-aside (the application checks the cache, and on a miss reads the database and fills the cache; the usual pattern with Redis or Memcached). Write-through (each write updates the cache and the database together: consistent, but writes are slower). Write-back (writes go to the cache first and the database later: faster, but you can lose data if the cache fails first). Read-through (the cache loads missing data from the database itself). Then cover cache invalidation, which is the hard part: keeping stale data out, with expiry times or by deleting entries when the data changes. Mention eviction policies too, for when the cache is full: LRU drops the least recently used item, LFU the least frequently used.
Question 05
"What is the CAP theorem and what does it mean for system design?"
What they're really asking
Do you understand the trade-off it describes, beyond "pick two of three"?
How to answer it
The CAP theorem is often summed up as "a distributed system can have only two of three properties": Consistency (every read sees the latest write, or gets an error), Availability (every request gets a non-error response, though maybe not the latest data) and Partition tolerance (the system keeps working when the network cuts nodes off from each other). But networks do fail, so partitions aren't optional, and during a partition you have to choose between consistency and availability. Consensus systems such as etcd and ZooKeeper choose consistency: nodes cut off from the majority stop accepting writes. Cassandra and CouchDB lean towards availability: nodes keep answering, and the copies are reconciled later. The business need decides: selling numbered concert seats needs consistency (or two people get the same seat), while a social feed can show a post a few seconds late.
Question 06
"What is an API gateway and what problems does it solve?"
What they're really asking
Do you know why so many systems put a gateway in front of their services, and what it costs?
How to answer it
An API gateway is a single entry point in front of a set of backend services. It handles jobs each service would otherwise repeat: authentication and authorisation (though checking access to a particular record stays with the service), rate limiting and throttling, request routing to the right service, TLS termination, request and response transformation, and logging and monitoring. Without one, each service builds its own version of these, and the versions drift apart. The cost is that every request passes through the gateway, which adds a network hop and can become a bottleneck or a single point of failure, so it has to be highly available.
Question 07
"How would you design a system to be highly available?"
What they're really asking
Do you know the patterns that keep a system running when parts of it fail?
How to answer it
High availability means the system keeps working when parts of it fail. The main patterns: remove single points of failure with redundancy at every layer (several app servers behind a load balancer, database replicas, more than one availability zone). Health checks and automatic failover detect a failure and move traffic away from it. Circuit breakers stop calling a struggling downstream service for a while, so its failure doesn't cascade. Graceful degradation keeps the core working with some features off, instead of failing completely. Geographic redundancy spreads the system across regions, for the highest requirements. Put numbers on it: 99.9% availability allows nearly nine hours of downtime a year, and "five nines" (99.999%) about five minutes. Each extra nine costs much more, so ask what the business actually needs.

Practise your answers out loud

Questions 14–20 below are the kind InterviewZap asks. It writes behavioural questions from your CV and the job description, and follows up on your answers. After each one you'll see what was missing and a better way to put it.

Start Practising Free →

No credit card. Free to start.

Cloud, security, and technology

Question 08
"What are the main cloud service models (IaaS, PaaS, SaaS) and when would you use each?"
What they're really asking
Do you know how much each model leaves you to run yourself, and when you'd choose each one?
How to answer it
IaaS (Infrastructure as a Service) gives you virtual machines, storage and networking (AWS EC2, Azure Virtual Machines). You get the most control, and you run the operating system and everything above it. Choose it when you need that control or have unusual requirements. PaaS (Platform as a Service) runs your application for you (AWS Elastic Beanstalk, Azure App Service, Google App Engine). You manage the application; the provider manages the servers, operating system and runtime. It suits teams that want to focus on code. SaaS (Software as a Service) is a finished application (Salesforce, Microsoft 365). The provider runs it, and you manage users, settings and data. A good rule is to use the most managed option that meets your needs, so your team has less to run, and drop down a layer only when you have a real reason.
Question 09
"What is the difference between SQL and NoSQL databases and how do you choose between them?"
What they're really asking
The database is one of the hardest things to change later. Can you reason through the choice?
How to answer it
Relational (SQL) databases store data in tables with a defined schema, and support complex queries and ACID transactions. NoSQL covers several designs (document, key-value, wide-column and graph), each built for particular access patterns. The choice depends on the shape of the data (clear relationships favour relational; varied shapes may suit a document store), how it's queried (complex or ad hoc queries favour relational; simple high-volume lookups may suit key-value), scale (many NoSQL databases spread across servers more easily) and consistency (a ledger needs ACID transactions; many NoSQL databases default to eventual consistency). The line has blurred, though: Postgres handles JSON, and MongoDB and DynamoDB support transactions. Default to relational unless you have a specific, well-understood reason not to, because consistency problems are much harder to fix once the data is in production.
Question 10
"How do you approach security in a system design?"
What they're really asking
Do you build security into a design from the start, or leave it until the end?
How to answer it
Treat security as layers rather than one feature. Authentication and authorisation: who is the user, and what may they do? (OpenID Connect for sign-in, OAuth 2.0 for delegated access, JWTs, role-based access control.) Data protection: encryption at rest (such as AES-256) and in transit (TLS). Network security: VPCs, security groups, private subnets, and a web application firewall in front of public endpoints. Least privilege: each component gets only the permissions it needs. Secrets management: never put credentials in code; use a secrets manager. Audit logging: record who did what, and when. Threat modelling: work out what you're exposing and the likeliest threats before choosing defences. Raise security at each part of your design, instead of saving it for the end.
Question 11
"What is event-driven architecture and when is it useful?"
What they're really asking
Do you know when asynchronous messaging helps, and what it costs?
How to answer it
In an event-driven architecture, services communicate by publishing and consuming events asynchronously, through a broker or event stream such as Kafka, RabbitMQ or AWS SNS and SQS. Producers don't know who consumes their events. Benefits: loose coupling (services don't call each other directly), scalability (consumers scale on their own), resilience (if a consumer is down, events wait for it) and auditability (if you keep the events, as Kafka can, you have a record of what happened). Costs: harder debugging and tracing, since asynchronous flows are harder to follow, and eventual consistency, since other services see a change after a delay. Messages can also arrive twice or out of order, so consumers must handle both. It suits work that doesn't need an immediate answer: order processing, notifications, data pipelines and integrating systems.
Question 12
"How do you approach migrating an on-premises system to the cloud?"
What they're really asking
If the role involves migration work, do you have a structured way to plan it?
How to answer it
The usual framework is the 6 Rs (AWS now lists seven, adding relocate, such as moving VMware servers to VMware in the cloud). Rehost: lift and shift to cloud virtual machines unchanged; quick, with few cloud benefits until you optimise later. Replatform: small changes on the way, such as a managed database. Repurchase: switch to a SaaS product. Refactor: re-architect for cloud-native services; the most effort and risk. Retire: switch off what nobody needs. Retain: leave it where it is for now. Good planning starts with discovery and assessment (what exists, and what depends on what), prioritisation (what moves first), risk assessment (data sovereignty, compliance, integration complexity) and a phased migration plan with a way to roll back. Move critical systems in stages rather than all at once.
Question 13
"What is observability and why is it important in a distributed system?"
What they're really asking
Do you know the difference between monitoring a system and being able to understand it?
How to answer it
Observability is how well you can work out what's happening inside a system from what it outputs. It's often described in terms of three kinds of data: Logs (timestamped records of events, for investigating specific problems), Metrics (numbers over time, for spotting trends and triggering alerts) and Traces (one request's path through every service it touches, which you need when a single user action involves many services). Monitoring tells you when something you anticipated has gone wrong. Observability lets you investigate failures you didn't anticipate, and a distributed system will have plenty of those in production, however well you test it. Build it in from the start, because adding it to a running system later is much harder.

Communication and stakeholder questions

Question 14
"How do you explain a complex technical architecture decision to a non-technical executive?"
What they're really asking
The role sits between technology and the business. Can you explain one to the other?
How to answer it
Start with what it means for the business. An executive cares about risk, cost, time and what the business will be able to do, not whether you chose Kafka or RabbitMQ. Put the decision in those terms: "We're recommending this approach because it reduces our dependence on a single vendor, halves the time it takes to add a new integration, and will cost about 30% less to run at the volumes we're expecting." Use analogies for abstract ideas and leave out acronyms. Expect "Why can't we just do X?" and have a calm, clear answer ready. They need enough from you to make a decision.
Question 15
"Tell me about a time you had to defend an architecture decision under pressure."
What they're really asking
Can you hold a well-reasoned position when challenged, without being arrogant or giving in too easily?
How to answer it
Use STAR. Describe a time your recommendation was challenged, by a senior engineer, a client or someone in the business. Explain how you prepared your case (data, examples from other projects, a comparison of the trade-offs), how you presented it, and how you handled the pushback. You don't need to have won the argument. Sometimes the challenge shows a gap in your thinking and you change your approach. Show that you weigh a challenge on its merits instead of getting defensive.
Question 16
"Describe a time you had to balance technical best practice against business constraints."
What they're really asking
Can you make a sensible compromise when time, money or an old system rules out the ideal design?
How to answer it
Describe a specific conflict: a deadline that didn't allow the ideal solution, a budget that ruled out the preferred technology, or an old system the design had to work around. Explain how you weighed the risk of the compromise, recorded the technical debt and planned how to pay it off later. Show that you know "good enough for now" is sometimes the right call, and that when you make it, you do it on purpose, write down the trade-off and make sure the shortcut doesn't quietly become permanent.
Question 17
"How do you stay current with evolving technology and assess whether to adopt something new?"
What they're really asking
Are you curious about new technology, and do you have a sensible way to judge it?
How to answer it
Name specific sources: engineering blogs (the AWS Architecture Blog, the Netflix Tech Blog, Martin Fowler's site), conferences, communities, certifications. Then describe how you'd judge something new before adopting it, with questions like these. What problem does this solve that our current tools don't? How mature is it, and how well supported? What will it really cost to adopt, counting learning time, migration risk and lock-in? Have we tried it on something low-risk first? The aim is to stay informed without chasing every new thing.
Question 18
"Tell me about a system design decision you'd make differently in hindsight."
What they're really asking
Can you look back at your own work honestly and say what you got wrong?
How to answer it
Choose a real example: a decision that seemed right at the time but became expensive as the system grew. Describe what you chose, why it made sense then, what changed and what it cost. Spend the most time on what you'd do differently, and the principle you took from it. Avoid an example so serious it would worry the interviewer, but don't pick one so safe that nothing was at stake. They want to see self-awareness, and nobody expects a perfect record.
Question 19
"How do you ensure that the architecture you design actually gets built as intended?"
What they're really asking
Do you stay involved after the design is approved, until the system is built?
How to answer it
Talk about what you do after the design is signed off: clear documentation, including architecture decision records (ADRs) that explain why each choice was made; involving the engineering team early, so they understand why the design is the way it is; architecture reviews at major milestones, to catch drift before it's built in; and being available for questions during the build, instead of disappearing after the design presentation. If the architect steps away at handover, the system tends to drift from the design.
Question 20
"Do you have any questions for us?"
What they're really asking
Are you curious about the role, their systems and how architecture is done here?
How to answer it
Good questions for an SA role: "What do your systems look like at the moment: mostly cloud-native, partway through a migration, or a mix of old and new?" / "How do architects work with the engineering teams here? Are they part of the delivery teams, or a central group that advises them?" / "What's the biggest architecture problem the organisation is working on right now?" / "How are architecture decisions recorded and reviewed?"
How to prepare for the design exercise

Many SA interviews include a live design exercise. Practise out loud rather than in your head. Pick a familiar system (a URL shortener, a ride-sharing app, a notification service) and talk through your design as if an interviewer were listening. Ask clarifying questions, work through it in order, and say the trade-offs out loud as you go, rather than only drawing a diagram.