AWS interview questions open a large share of cloud, DevOps, and platform engineering loops, because most companies that hire infrastructure people run at least part of their estate on AWS. This page is a complete, tiered bank: 104 questions with worked answers, split into beginner, intermediate, and scenario sections, plus three hands-on labs, a CLI cheat sheet, and a knowledge check at the end. Work through it in order, or jump straight to the tier that matches your next round.

TL;DR
- 104 questions, three tiers. Service fundamentals, mechanism-level depth on EC2, S3, IAM, VPC, databases, and Lambda, then realistic incident scenarios with a stated diagnostic order for each.
- Answers explain the why. Every answer names the service component that owns the behavior, gives the command or setting, and adds the caveat that separates a pass from a strong hire.
- Practice is built in. Three scenario labs you can run in a personal account, a cheat sheet of the CLI commands behind the answers, and a five-question quiz to check what stuck.
How the AWS interview works in 2026
Most AWS interview questions arrive in one of three rounds, and each round filters for something different. The screening call is a vocabulary check: what EC2 does, what an Availability Zone is, the difference between a security group and a network ACL, why a role beats an access key. Nobody expects a lecture. They expect a crisp 30-second answer with one level of detail behind it, because hesitation on the basics predicts hesitation during a real incident. This tier decides whether you get a second conversation, so the beginner section of this bank deserves deliberate rehearsal.
The deep technical round is where AWS interview questions turn mechanical. Interviewers stop asking what is S3 and start asking how policy evaluation orders a deny against an allow, how gp3 differs from gp2, how DynamoDB decides which physical partition owns your item, what happens to a Lambda invocation that exceeds its concurrency, and which S3 storage class actually saves money given an access pattern. The graded skill is naming the component that owns the behavior, then the setting or command that changes it. Saying S3 is object storage passes a beginner bar; explaining prefix-based request scaling and why 3,500 writes per second per prefix matters passes a working-engineer bar. Interviewers grade AWS interview questions on that second sentence, not the first.
The third round is the scenario round, and it is the one that decides senior roles. You get a symptom in one sentence: the bucket returns AccessDenied and nothing changed, the Lambda cannot reach the database, the bill doubled overnight. What is scored is your diagnostic order, spoken before you touch anything: check the deny paths first, read CloudTrail for the actual API error, separate routing from filtering from identity. Engineers who narrate first I check X, because if X is fine the problem cannot be Y outperform engineers who guess. Most scenario AWS interview questions are won or lost on that narration, not on trivia.
Role shape moves the emphasis. DevOps and platform roles weight AWS interview questions toward VPC plumbing, IAM chains, and the services the company deploys through pipelines. SRE and infra roles push harder on CloudWatch alarm design, quota limits, and failure modes like Multi-AZ failover behavior. Data-adjacent roles probe DynamoDB key design and S3 lifecycle arithmetic. In every case the base bank on this page is the same; only the expected depth moves, so prepare all three tiers and go deeper where your target role lives.
Preparation that works is hands-on. The AWS Free Tier gives you VPCs, buckets, roles, and functions to break on purpose, and the scenario labs at the bottom of this page are designed for exactly that. Drill explanations out loud until each one runs 30 to 60 seconds, because the interview is a spoken format. Pair this page with the Well-Architected Framework so the tradeoff vocabulary, reliability against cost, performance against security, is automatic. Treat AWS interview questions like a performance under time pressure, because that is what the loop is.
Core concepts interviewers expect you to know
Three mental models unlock a huge fraction of AWS interview questions: how a request is actually authorized, how a default VPC is wired, and why the bill reflects design decisions. Interviewers favor these topics because they sit underneath every service-specific question. If you can narrate all three fluently, most follow-ups become extensions rather than new subjects.
How requests are actually authorized
Every API call carries a principal, an action, and a resource, and AWS evaluates that triple against every policy in scope: identity policies attached to the principal, resource policies on the target, permission boundaries, service control policies if an organization is involved, and session policies if the principal assumed a role. The evaluation order is the single most-tested fact in AWS interview questions about IAM: an explicit deny anywhere wins immediately; otherwise the request needs at least one allow, and boundaries and organization policies act as ceilings that can only subtract. With no allow at all, the request fails with an implicit deny, which is why I never granted it and something explicitly blocked it produce the same AccessDenied page but have completely different fixes. Say that distinction out loud and the follow-ups get easier.
The network map almost every scenario lives in
When interviewers sketch a broken environment, it is nearly always the same picture: a VPC with a public subnet holding a load balancer and a NAT gateway, and private subnets holding the application and the database. Public and private are not labels, they are route tables: a subnet is public when its route table sends 0.0.0.0/0 to an internet gateway, and private when outbound traffic exits through a NAT gateway that forwards but never accepts inbound sessions. Security groups filter at the network interface, stateful and allow-only; network ACLs filter at the subnet edge, stateless and numbered. Almost every connectivity scenario in AWS interview questions reduces to this map plus one wrong line in a route table, one missing group rule, or one subnet with no NAT in its Availability Zone, so draw it from memory until the drawing is boring.
Cost is a design question
The third model is that the monthly bill is a readout of architecture. Data transfer out to the internet, NAT gateway processing per gigabyte, cross-AZ chatter between services that could sit in one zone, public IPv4 addresses charged since February 2024, orphaned Elastic IPs, unversioned snapshot sprawl, and incomplete multipart uploads all bill quietly. Cost questions in AWS interview questions are really prioritization questions: how would you find the spike, Cost Explorer grouped by service and tag, and what would you change, right-size the instance, move cold objects to cheaper storage classes, add a VPC endpoint instead of NAT processing, buy Savings Plans or Reserved Instances for steady load. Candidates who can name the cost lever behind each design choice read as owners, not operators, and that framing is what the well-architected pillar questions are fishing for.
Question bank at a glance
The bank below mirrors how AWS interview questions are actually sequenced: service vocabulary first, mechanics second, incidents last. Counts are exact so you can pace a week of prep, roughly fifteen beginner answers a day spoken aloud gets you through the bank in a working week with the labs on the weekend.
| Section | Questions | What it proves |
|---|---|---|
| Beginner | 38 | You use the core services daily and know the vocabulary cold. |
| Intermediate | 40 | You understand mechanisms: policy evaluation, storage classes, partitioning, scaling. |
| Scenario and troubleshooting | 26 | You can diagnose a broken account in a defensible order. |
Difficulty rises inside each tier, so if a section starts feeling easy near its end, move on. Every answer names the mechanism plus the command or setting, because AWS interview questions grade both halves: the right tool, and the right reason that tool applies. When an answer cites a number, verify it against current AWS documentation before your loop, because quotas and prices shift and quoting a stale number costs credibility.
Beginner AWS interview questions
These 38 are the warm-up tier of AWS interview questions. They look easy, and that is the trap: interviewers use them to check precision. Answer each in one or two sentences, then add exactly one supporting detail, the cost, the limit, or the common mistake. Say more and you burn round time; say less and you sound like you memorized a list.
What is AWS, and what does the shared responsibility model say?
Answer: AWS is a collection of rented computing services: compute, storage, databases, networking, and higher-level managed platforms, delivered on demand with per-use billing. The shared responsibility model splits security duties: AWS secures the cloud, the facilities, hardware, and the hypervisor, while you secure what you put in it, data, IAM configuration, OS patching on EC2, and network exposure. AWS interview questions on this topic want the boundary drawn precisely: with Lambda or S3 your side shrinks to configuration and data.
What is a region, and what is an Availability Zone?
Answer: A region is an independent geographic cluster of data centers with its own API endpoints, pricing, and service catalog; resources do not replicate across regions unless you do it deliberately. An Availability Zone is one or more data centers inside a region with independent power and networking, connected by low-latency links. The design consequence to state: deploy across at least two AZs for high availability, because an AZ can fail while the region stays healthy.
What is EC2, and when do you choose it over a managed service?
Answer: EC2 gives you virtual machines with full control of the operating system, instance size, storage, and network placement, billed per second while running. Choose it when you need OS-level access, custom kernels or agents, licensing tied to cores, or steady workloads where reserved capacity beats per-invocation pricing. This choice, control versus operational burden, is the axis most AWS interview questions about compute travel along, so name both sides.
How do you read an instance type name like t3.medium or r5.2xlarge?
Answer: The first segment is the family: t bursts CPU credits for spiky load, m balances compute and memory, c favors compute, r favors memory, i and d favor storage. The digit is the generation, so a c6i is newer than a c5, and the suffix is size, with 2xlarge roughly doubling the resources of xlarge. Picking a family from a workload description is a standard warm-up in AWS interview questions.
What is an AMI?
Answer: An Amazon Machine Image is the template an EC2 instance boots from: one or more EBS snapshots for the root volume, launch permissions saying who may use it, and block-device mappings. You can start from AWS-owned or marketplace images, or build your own with golden-image pipelines or tools like Packer. AMIs are regional, so copying one to another region is a deliberate step, a detail that shows up in disaster-recovery follow-ups.
What happens when you stop, hibernate, or terminate an EC2 instance?
Answer: Stop powers the instance down: EBS volumes and their data persist, ephemeral instance-store data is lost, and public IPv4 addresses change on next start. Hibernate writes memory to the root volume so the instance resumes where it left off. Terminate deletes the instance and, unless delete-on-termination is disabled, its EBS volumes; that flag is the difference between a cleanup and an outage, which is why it earns a sentence in AWS interview questions about instance lifecycle.
What is a key pair, and how do you connect to a brand-new instance?
Answer: A key pair is a public key AWS keeps and a private key you download once; the instance trusts the public half so you can SSH in as its default user, like ec2-user on Amazon Linux or ubuntu on Ubuntu images. Connect with ssh -i key.pem user@host, and the client refuses a key file with permissive modes, so chmod 400 first. Losing the private key means baking a new one in or using Session Manager, a repair story interviewers like hearing.
What is an EBS volume, and which types do you pick between?
Answer: EBS is network-attached block storage that lives independently of any one instance, so volumes survive stop and start and can be detached and reattached. The daily choices are gp3 SSD with a baseline of 3,000 IOPS and 125 MB/s you can raise independently of size, io2 for provisioned extreme IOPS, and st1 or sc1 hard-disk classes for sequential or archival throughput. Storage-class tradeoffs like this recur through AWS interview questions because root-cause costs and performance both hang on them.
What is instance store, and when is it the right choice?
Answer: Instance store is physically attached disk on the host: very fast, included in the instance price, and ephemeral, the data vanishes on stop, hibernate, or host failure. It fits scratch space, caches that repopulate themselves, and replicated data stores that hold state on many nodes anyway. The sentence to volunteer: anything you would mourn losing belongs on EBS, not instance store, because that distinction is the entire point of the question.
What is an EBS snapshot?
Answer: A snapshot is a point-in-time backup of an EBS volume stored redundantly by AWS, incremental after the first, so only changed blocks bill. Take them while the volume is attached for most workloads, quiesce databases first if you need transactional guarantees, and automate retention with Data Lifecycle Manager. Snapshots are regional and copyable across regions, which makes them the backbone of simple DR answers, and that DR framing is what AWS interview questions on backups usually chase.
What is S3, and what is an object?
Answer: S3 is object storage at effectively unlimited scale: you PUT and GET named objects in buckets over HTTP, with eleven nines of durability. An object is the data plus metadata plus a key; objects are immutable, so updates are new versions, and size runs from zero bytes to 5 TB. The contrast to volunteer is block versus object storage: you cannot mount S3 as a random-access disk, you fetch whole objects, and that distinction anchors a family of AWS interview questions about storage choice.
What is an S3 storage class, and which ones matter day to day?
Answer: Storage classes price the same bucket differently by access pattern: Standard for hot data, Intelligent-Tiering to move objects automatically, Standard-IA and One Zone-IA for rarely touched data with retrieval fees, and the Glacier family, Instant, Flexible, and Deep Archive, for archival with minimum storage durations and restore delays. Choosing one is arithmetic: storage rate times volume against retrieval rate times access frequency. Storage-class selection is one of the most reliable cost questions in AWS interview questions, so practice the arithmetic out loud.
What is S3 versioning?
Answer: Once enabled on a bucket, every write creates a new version instead of overwriting, and deletes add a delete marker rather than removing data, so mistakes are reversible. It is a prerequisite for cross-region replication and it protects against accidental overwrite and ransomware-style mass deletion. The caveat worth stating: old versions bill at full storage rates, so versioning without a lifecycle expiry rule quietly grows the bill, a pairing interviewers expect you to mention together.
What is an S3 lifecycle rule?
Answer: A lifecycle rule transitions or expires objects automatically by age or prefix: move logs to Standard-IA after 30 days, to Glacier Flexible after 90, expire them after a year. Two high-value moves to mention: transition noncurrent versions with an expiry so versioning stays affordable, and add an AbortIncompleteMultipartUpload rule, because abandoned multipart parts bill silently. Lifecycle rules are the operational half of storage-class questions in AWS interview questions, and quoting the multipart cleanup rule signals real production experience.
How is data encrypted in S3?
Answer: Every S3 object is encrypted at rest by default with SSE-S3, keys managed by S3. The options upgrade from there: SSE-KMS uses a KMS key you control, which adds CloudTrail audit of every decrypt and key-policy-based access control, at the cost of KMS request rates and per-request pricing; SSE-C supplies your own key per request. Say the default-encryption-first sentence, then the audit tradeoff, because that progression is exactly what AWS interview questions on S3 security listen for.
What is S3 Block Public Access?
Answer: It is a set of switches, at the bucket and the account level, that overrides anything else and refuses public access: public bucket policies, public ACLs, and public objects cannot be served no matter what the policies say. Defaults are all-on for new buckets, and the professional habit is enabling the account-level switch everywhere except confirmed public-asset buckets. It exists because misconfigured buckets are the classic cloud leak, which makes this setting a recurring prop in AWS interview questions about exposure.
What is IAM?
Answer: IAM is the identity and access control plane: it holds users, groups, roles, and policies, and decides whether every API call to every service is allowed. It is global, not regional, and it is free. Two framing sentences that land well: everything in AWS is an API call, and IAM is the policy engine those calls pass through, which is why IAM questions open most security segments of AWS interview questions.
What does an IAM policy document contain?
Answer: A JSON document of statements, each with an Effect of Allow or Deny, a Principal for resource policies, an Action list like s3:GetObject, a Resource ARN, and optional Condition blocks narrowing by IP, time, encryption context, or tags. Read one aloud in an interview by saying who can do what to which resource under what constraints. Being able to read, and not just paste, policy JSON is the gate most AWS interview questions about IAM are actually testing.
What is the difference between an IAM user, a group, and a role?
Answer: A user is a permanent identity with long-lived credentials for a person or system; a group bundles policies for many users; a role is assumable identity with temporary credentials that anything, a person, an EC2 instance, another account’s service, can adopt. The working rule to state: humans get federation or SSO, workloads get roles, and almost nobody needs a long-lived IAM user anymore. That modernization stance is the answer AWS interview questions on identity are listening for.
What are access keys, and how should they be handled?
Answer: An access key is a pair of an access key ID and a secret access key for programmatic API calls, created per IAM user. Handle them like passwords: never in code or commits, rotate on schedule, delete the unused, and prefer roles, instance profiles, or OIDC federation so the keys never need to exist. Volunteering that you would audit for keys with iam generate-credential-report turns a definitional answer into the operational one AWS interview questions hope for.
What is MFA, and where is it non-negotiable?
Answer: Multi-factor authentication adds a second proof, usually a TOTP code from a hardware or virtual token, to console sign-in and, via aws sts get-session-token, to API calls. Non-negotiable places: the root account, which should barely exist, and every human with console access; enforcement happens with an IAM policy condition on aws:MultiFactorAuthPresent. Mentioning that root MFA plus a locked root is the first hardening step of any account review is the detail AWS interview questions on this topic reward.
What is a VPC?
Answer: A Virtual Private Cloud is your own isolated network slice in a region: an IPv4 CIDR range you choose, divided into subnets placed one per Availability Zone, with route tables, gateways, and firewalls you control. Everything you launch, instances, databases, load balancers, lands inside one, and peering or Transit Gateway connects VPCs together. Because every deployment question assumes this substrate, VPC fluency is the foundation the rest of the bank of AWS interview questions builds on.
What makes a subnet public or private?
Answer: Only its route table: a subnet is public if 0.0.0.0/0 routes to an internet gateway, private if outbound traffic goes through a NAT gateway instead, or has no internet route at all. An instance with no public IP in a public subnet is still reachable inward, which trips people up. Public and private are routing facts, not labels, and stating that one sentence cleanly is the point of this staple of AWS interview questions.
What does a CIDR block like 10.0.0.0/16 tell you?
Answer: The prefix length says how many bits are fixed: /16 fixes the first sixteen, leaving about 65,536 addresses, while a /24 subnet carves out 256. AWS reserves five addresses per subnet, and you cannot overlap CIDRs between a VPC and anything you peer or attach to it. Being able to compute usable host counts on the spot is a quiet differentiator in AWS interview questions, because sizing subnets is real daily work.
What is an internet gateway?
Answer: It is the VPC-attached, horizontally scaled door between your subnets and the public internet: one per VPC, free, and it performs NAT for instances with public addresses. A subnet reaches it only if a route table entry points 0.0.0.0/0 at it, so gateway plus route is the pair to name. When connectivity fails, checking that pair before anything else is the disciplined opener interviewers want to hear in AWS interview questions about egress.
What is a NAT gateway for?
Answer: It lets instances in private subnets open outbound connections to the internet, for patches, package mirrors, external APIs, while blocking all inbound sessions. It lives in a public subnet, is Availability Zone-scoped, and bills per hour plus per gigabyte processed, so placing one per AZ avoids cross-AZ data charges and a single-AZ dependency. That combination of purpose, placement, and price is the complete shape of the answer this common entry in AWS interview questions expects.
What is a route table?
Answer: It is the per-subnet forwarding decision list: destination CIDR on the left, target on the right, local route always present for traffic inside the VPC. Every subnet references exactly one main or custom table, longest-prefix match wins, and targets include internet gateways, NAT gateways, peering connections, Transit Gateway, and VPC endpoints. When any connectivity story starts, this is the first file to read, and saying so sets up the diagnostic habit scenario-tier AWS interview questions reward.
What is a security group?
Answer: It is a stateful firewall attached to an instance’s network interface: allow rules only, referencing ports, protocols, and sources as CIDRs or other security groups, with all outbound allowed by default. Stateful means approved inbound sessions get their replies automatically, and traffic not matching any allow rule is dropped. Reference other groups instead of CIDRs wherever you can, because that keeps rules meaningful when instances change, a habit AWS interview questions about security hygiene consistently probe.
What is a network ACL, and how does it differ from a security group at a glance?
Answer: A network ACL is a stateless, numbered filter at the subnet boundary: it evaluates allow and deny rules lowest number first, applies to every instance in the subnet, and must explicitly admit return traffic because it remembers nothing. Security groups work per interface, remember sessions, and only allow. Use NACLs as a coarse deny layer for known-bad ranges and let groups do the fine work; that division of labor is the takeaway AWS interview questions want from the comparison.
What is an Elastic IP?
Answer: An Elastic IP is a static public IPv4 address you allocate to your account and attach to an instance or NAT gateway, surviving stops and starts so DNS can point at something stable. Since February 2024 every public IPv4 address, Elastic or auto-assigned, bills about $0.005 per hour, attached or not, so unattached addresses are pure waste. Mentioning that pricing change and auditing for orphaned EIPs with aws ec2 describe-addresses is a current-events detail that lifts beginner-tier AWS interview questions answers.
What is RDS, and which engines does it support?
Answer: RDS is managed relational databases: AWS runs the compute, storage, patching, backups, and failover while you manage schema and tuning. Engines are MySQL, PostgreSQL, MariaDB, Oracle, and SQL Server, with Aurora as the cloud-native sibling offering MySQL and PostgreSQL compatibility. The framing that serves AWS interview questions well: RDS buys you the undifferentiated operational work of running a database, backups, replication, failover, so compare it against self-managed on EC2 in those terms.
What is Multi-AZ in RDS?
Answer: Multi-AZ keeps a synchronous standby in a second Availability Zone and switches to it automatically on failure by changing the DNS endpoint, typically within 60 to 120 seconds, with no connection-string change in your application. It is an availability feature, not a scaling one: the standby serves no reads. Distinguishing availability from scalability is precisely what this question tests, and it is among the most common AWS interview questions at the database tier.
What is a read replica?
Answer: A read replica is an asynchronous copy of the primary that serves read traffic, offloading reports, dashboards, and heavy selects; you can add several, place them cross-region, and promote one to a standalone primary if disaster strikes. Because replication lags, a replica can serve slightly stale data, which is the caveat to state. Multi-AZ for failure, replicas for scale, that pairing is the sentence AWS interview questions on RDS architecture are listening for.
What is DynamoDB, and when do you choose it over RDS?
Answer: DynamoDB is a managed key-value and document store that scales horizontally to any throughput by partitioning data automatically, with single-digit-millisecond latency and no joins or ad-hoc queries. Choose it for known access patterns at scale, sessions, carts, telemetry, rankings, and stay with RDS when you need relational modeling, transactions across entities, or flexible querying. Access-pattern-first design is the mental shift this common fixture of AWS interview questions is really checking.
What is Lambda, and what are its headline limits?
Answer: Lambda runs your code on demand, billed per invocation and per gigabyte-second, with no servers to patch and scaling handled by the service. The headline limits: 15 minutes maximum per invocation, memory from 128 MB to 10,240 MB with CPU scaling alongside memory, and deployment packages up to 250 MB unzipped outside containers. Limits define architecture in serverless, so long jobs and huge dependencies push you back toward containers, a judgment this recurring member of AWS interview questions exists to test.
What can invoke a Lambda function?
Answer: Event sources span API Gateway and application load balancers for HTTP, S3 uploads, DynamoDB and Kinesis streams, SQS queues, EventBridge schedules and rules, SNS notifications, and direct SDK calls. Synchronous sources like API Gateway return the result to the caller, asynchronous ones like S3 retry on failure, and stream sources deliver per-shard with batching. Sorting sources by invocation model is the depth signal AWS interview questions on serverless look for next.
What is CloudWatch, and what are metrics and alarms?
Answer: CloudWatch is the metrics, logs, and alarms service: services emit standard metrics like CPUUtilization automatically, applications and agents add custom metrics, and alarms watch a metric against a threshold for a number of periods and can notify SNS, scale an Auto Scaling group, or trigger recovery. Logs ship to CloudWatch Logs where you query them with Logs Insights. Metrics plus alarms is the observability backbone, and alarm-design follow-ups are where AWS interview questions take this topic.
What is CloudTrail?
Answer: CloudTrail records API calls across your account: who did what, from where, when, and with which credentials, retained 90 days in event history or shipped to S3 indefinitely by a trail. It is the audit backbone for incident response, compliance, and answering what changed after any break. Pairing it with CloudWatch in one sentence, metrics versus API history, cleanly separates the two services, which is exactly what this item in AWS interview questions is checking.
Intermediate AWS interview questions
This tier is where AWS interview questions stop testing vocabulary and start testing mechanism. Forty questions follow, and the pattern to internalize is component, then consequence: name the piece that owns the behavior, then explain what changes when it is misconfigured. That second half moves you from operator to engineer in an interviewer’s notes, and it is what the scenario tier assumes you already do.
How does EC2 instance metadata work, and why does IMDSv2 matter?
Answer: The metadata service answers at 169.254.169.254 from inside every instance: instance type, network config, IAM role credentials, user-data, and spot interruption notices. IMDSv2 replaces plain GETs with session tokens obtained by PUT, so SSRF payloads that merely read URLs cannot fetch credentials, and you can enforce it per instance with HttpTokens=required. Newer generations default toward v2, and migration is the first hardening line, which is why metadata topics thread through modern AWS interview questions.
What do EC2 placement groups change?
Answer: Three kinds. Cluster packs instances close together for the lowest latency and highest inter-instance bandwidth, suited to tightly coupled HPC, at the cost of a larger correlated failure domain. Spread isolates a small number of critical instances, seven per group per Availability Zone, across distinct underlying hardware. Partition divides instances into labeled partitions, so topology-aware systems like Cassandra or HDFS can place replicas across racks. Naming the failure-domain tradeoff is what elevates this answer in AWS interview questions.
On-demand, Reserved, and Spot: how do you split a real fleet across them?
Answer: On-demand covers spiky and unpredictable load at list price; Reserved Instances or Savings Plans commit one or three years for the steady baseline, the deepest discounts with the least operational risk; Spot takes interrupted-when-needed capacity at up to 90 percent off for fault-tolerant work like batch, CI runners, and stateless workers. A healthy production profile is mostly committed, some on-demand headroom, aggressive Spot where the workload tolerates eviction. That split, with the reasoning attached, is the budgeted answer AWS interview questions on pricing strategy expect.
How does Spot interruption work, and how do you engineer for it?
Answer: AWS reclaims Spot capacity with a two-minute warning delivered to instance metadata at meta-data/spot/instance-action and as an EventBridge event, then the instance goes away. Engineer for it: checkpoint state to S3 or a database, drain from load balancers on the signal, run enough instances across pools that eviction of a few changes nothing, and prefer diversified instance types in a Spot Fleet or ASG with capacity-optimized allocation. Treating interruption as a normal input, not an outage, is the maturity signal AWS interview questions on Spot hunt for.
How do EBS snapshots actually work, and how do you manage their lifecycle?
Answer: The first snapshot copies every used block to S3-backed storage; each later one records only blocks changed since the previous snapshot, so restores reassemble the chain and deletes just remove delta blocks. Snapshots are crash-consistent, so quiesce databases or freeze the filesystem when you need application-level integrity. Automation comes from Data Lifecycle Manager policies or AWS Backup plans with retention and cross-region copy rules. Explaining the incremental chain is the mechanism half, and the DLM mention is the operations half, and strong AWS interview questions answers deliver both halves.
How does gp3 improve on gp2?
Answer: gp2 ties performance to size at roughly three IOPS per GB with a burst bucket, which forced people to overprovision gigabytes to buy IOPS. gp3 breaks that link: every volume starts at 3,000 IOPS and 125 MB/s regardless of size, and you provision more of each independently, up to 16,000 IOPS and 1,000 MB/s, while paying about 20 percent less than gp2. Unless something exotic requires io2, new volumes should be gp3, and migrating a fleet for savings is a story that lands well in AWS interview questions about cost hygiene.
How do you grow an EBS volume and its filesystem online?
Answer: Three steps, no reboot: aws ec2 modify-volume --volume-id vol-xxx --size 200 grows the block device, the instance sees a larger disk within seconds, then the OS partition stretches with growpart /dev/nvme0n1 1, and the filesystem fills the partition with resize2fs or xfs_growfs depending on type. Confirm with lsblk and df -h. Knowing the storage layer, partition layer, and filesystem layer are three separate things is the entire point of this practical, frequently asked entry in AWS interview questions.
EBS, EFS, or FSx: how do you choose?
Answer: EBS is a block device attached to one instance or one AZ-anchored attachment: fast, simple, per-volume. EFS is managed NFS that mounts concurrently from many instances across AZs, grows and shrinks with use, and fits shared web roots, home directories, and container storage, with lifecycle tiers for cold files. FSx is the family of specialized filesystems: Lustre for HPC throughput, Windows for SMB and Active Directory, ONTAP and OpenZFS for enterprise features. Attachment count, protocol, and performance shape decide it, and drawing that triangle cleanly is what AWS interview questions on shared storage grade.
How does S3 consistency behave?
Answer: Since December 2020, S3 is strongly consistent for all writes: after a successful PUT or DELETE, reads and list operations reflect the new state everywhere, with no reader-side caching caveats to work around. Before that, new-object writes had eventual consistency, and a lot of folklore still says otherwise, so stating the current model with the date is a credibility move. The operational caveat that remains is your own layer: CDN caches and client-side caching can serve stale data long after S3 is consistent, which is the nuance sharp AWS interview questions pursue past the definition.
How does S3 scale requests, and what is multipart upload for?
Answer: S3 scales per key-name prefix: each prefix sustains on the order of 3,500 writes and 5,500 reads per second, so hashing random hex into key prefixes spreads hot workloads across partitions. Multipart upload splits one large object into parts uploaded in parallel, each independently retried, which speeds big transfers and recovers from flaky networks; parts beyond the first must be at least 5 MB and the object tops out at 5 TB. The trap to name: aborted-incomplete-but-never-cleaned parts bill forever unless a lifecycle rule aborts them, a gotcha that features in cost-focused AWS interview questions.
What is a presigned URL, and what are its sharp edges?
Answer: A presigned URL embeds a signature over method, path, and expiry generated from your credentials, letting an unauthenticated client upload or download one object directly from S3 without traffic proxying through your app. Edges worth naming: the permission is evaluated at request time against the signer, so revoking the signer’s access kills the URL even before expiry; PUT and GET differ, so sign the method you mean; and long-lived URLs are leaked credentials, so minutes-scale TTLs plus throwaway roles are the pattern. Direct-to-S3 uploads via presigned PUTs come up constantly in AWS interview questions about offloading application servers.
How do bucket policies and IAM policies differ, and how do they combine?
Answer: Identity policies attach to principals in your account; bucket policies attach to the bucket and are the only place you can grant cross-account access or anonymous access directly. In the same account, an explicit deny wins, otherwise a single Allow from either side is enough; across accounts, both the identity side and the resource side must allow. That evaluation asymmetry, union within the account, intersection across accounts, explains most real AccessDenied mysteries and is therefore one of the highest-value facts in AWS interview questions about S3 and IAM.
What is S3 Object Lock for?
Answer: Object Lock enforces write-once-read-many retention: versions cannot be deleted or overwritten for a retention period, in Governance mode where privileged users can bypass with a permission, or Compliance mode where nobody, not even the root user, can shorten it. Legal holds are an indefinite flag on top. It requires versioning enabled at bucket creation and exists for records retention and ransomware defense. Naming both modes and who can escape which is the depth check this WORM topic gets in security-leaning AWS interview questions.
How does S3 cross-region replication work, and what does it require?
Answer: CRR copies objects asynchronously to a destination bucket in another region through an IAM service role. Prerequisites: versioning enabled on both buckets, the role permitted to read source and write destination, and KMS re-encryption configured if the destination encrypts with a customer-managed key. It replicates objects written after enabling, not history, unless you backfill, and same-region replication exists for latency and partitioning. Knowing that existing objects do not replicate is the classic trap follow-up in AWS interview questions on DR.
How do you query data sitting in S3 without loading it anywhere?
Answer: Athena runs serverless SQL, Presto under the hood, directly over S3 objects, using a Glue Data Catalog for schemas and paying per terabyte scanned. Cost discipline follows: partition by date or tenant, store data in Parquet instead of CSV, and prune columns, because every one of those multiplies the scanned-byte bill downward. For single-field pulls from individual objects, S3 Select avoids full downloads. The pattern, warehouse-less analytics over object storage, is a favorite architecture probe in modern AWS interview questions.
Walk through IAM policy evaluation end to end.
Answer: A request carries principal, action, and resource. First, any explicit deny in any applicable policy ends it. Second, the ceilings: service control policies for the organization and any permission boundary on the principal must permit the action, since they can only restrict. Third, the allow hunt: identity policies, resource policies, and session policies are checked, with resource and identity allows unioning within the account but requiring agreement across accounts. Nothing allows, the implicit deny wins. Reciting that order without notes is the single most bankable skill in AWS interview questions about IAM.
What are permission boundaries and service control policies?
Answer: Both are ceilings, not grants: a permission boundary is a managed policy attached to a role or user that caps what its identity policies can ever enable, and an SCP does the same at AWS account or OU level across an organization. A boundary that allows nothing useful bricks the role even with AdministratorAccess attached, because the effective permission is the intersection. Use boundaries to delegate safely, giving a team admin rights over their own roles without letting them escalate past the cap, a delegation pattern senior AWS interview questions probe deliberately.
What are policy conditions, and which condition keys earn their keep?
Answer: A Condition block filters a statement by request context: operator like StringEquals or IpAddress applied to keys. The workhorses: aws:PrincipalOrgID to allow only principals from your organization, aws:RequestedRegion to enforce a region allowlist, s3:prefix scoped to ListBucket for console-friendly prefixes, aws:MultiFactorAuthPresent for MFA-gated destructive actions, and kms:EncryptionContext for crypto hygiene. Conditions turn coarse allow statements into precise contracts, and writing one live is a common stretch goal in AWS interview questions beyond the basics.
What is an instance profile, and why do roles beat access keys on EC2?
Answer: An instance profile wraps an IAM role so an EC2 instance can adopt it; the credentials arrive through the metadata service and rotate automatically without any code change or secret storage. Compared with baking access keys into files or environment variables, roles remove a whole secret-leak class, survive credential rotation, and scope naturally per workload. The SSRF caveat, metadata v2 enforcement, is the advanced footnote. This roles-versus-keys argument is a reliability fixture in AWS interview questions because it separates people who have shipped secrets from people who have leaked them.
What is STS AssumeRole, and how does cross-account access work?
Answer: STS mints short-lived credentials: a principal calls sts:AssumeRole on a role whose trust policy names it, receives temporary keys, and operates as that role until expiry. Cross-account follows the same shape plus an external ID the trusting account demands, which blocks the confused-deputy problem when the target principal is another customer of a shared tool. Sessions can carry tags and policies that further narrow scope. Trust policy on the target plus identity permission on the caller, said in one breath, is the complete answer AWS interview questions want here.
Security groups versus network ACLs: what is the mechanical difference?
Answer: A security group is stateful: it tracks connections, so an inbound allow automatically admits the reply, and it filters at each network interface with allow-only rules. A network ACL is stateless: every packet, inbound and outbound, is matched against numbered rules lowest-first, supports explicit denies, and return traffic must clear an inbound rule covering the client’s ephemeral port range, typically 1024 to 65535. That is why NACL rules talk about ephemeral ports and group rules never do. Engineers who can explain the tracking difference rarely fail follow-ups, which is why this pair anchors networking AWS interview questions.
NAT gateway, internet gateway, NAT instance: what belongs where?
Answer: The internet gateway connects a VPC to the internet bidirectionally for instances with public addresses. The NAT gateway is a managed, AZ-scoped translator that gives private subnets outbound-only access, scales automatically, and cannot be targeted by security groups because it needs none. The NAT instance is the legacy DIY version on an EC2 box: scriptable, cheap, but a single point of failure you patch yourself. Managed-first is the correct instinct, and knowing the NAT gateway takes no security group is a detail that consistently surprises interviewers in AWS interview questions about egress design.
What is VPC peering, and what are its limits?
Answer: Peering is a direct, non-transitive network link between two VPCs: add routes on both sides, update security group references, and traffic flows privately. The structural limit is the non-transitivity: A peered to B and B peered to C gives A no path to C, every pair needs its own connection, and overlapping CIDR blocks cannot peer at all. Ten-plus VPCs therefore strain peering meshes, which is the natural segue into Transit Gateway. Reciting the transitivity trap correctly is the pass bar for this question in AWS interview questions.
What is Transit Gateway, and when does it beat peering?
Answer: Transit Gateway is a managed regional router: VPCs and VPNs attach once to the hub, and its route tables decide what can talk to what, including transitive paths across many networks. It wins once you pass a handful of VPCs or need hybrid attachment, one VPN to on-premises reachable by every attached VPC, with segmentation managed through multiple route tables instead of a peering mesh. Billing is per attachment hour plus per gigabyte processed. Framing it as route-table-driven segmentation, not just a bigger cable, is what distinguishes strong answers in AWS interview questions about network growth.
How does DNS resolution work inside a VPC?
Answer: The VPC provides a Route 53 Resolver at the second address of the CIDR, VPC plus two, which answers instance names, private hosted zone records, and public names, controlled by the enableDnsSupport and enableDnsHostnames attributes. Private hosted zones associate with VPCs so internal names like db.internal.example resolve only inside. Hybrid setups use Resolver inbound and outbound endpoints to bridge on-premises DNS and Route 53 forwarding rules. Knowing the plus-two address and the two enable flags is the practical core of DNS-flavored AWS interview questions.
What are VPC endpoints, and when do you pick gateway versus interface?
Answer: Endpoints keep traffic to AWS services on the Amazon network, off the public path. Gateway endpoints serve only S3 and DynamoDB: free, implemented as route table entries pointing the service CIDRs at the endpoint, with an endpoint policy for scoping. Interface endpoints are PrivateLink: elastic network interfaces with private IPs placed in your subnets, billed per hour and per gigabyte, available for most other services like KMS, STS, and Secrets Manager. Gateway for the two big ones, interface for everything else, is the shorthand that answers this common cost-and-security question in AWS interview questions.
What actually happens during an RDS Multi-AZ failover?
Answer: The standby receives synchronous replication, so it is always current; when health checks fail, RDS flips the DNS endpoint to the standby, typically completing within 60 to 120 seconds, while the endpoint string your application uses never changes. Your side of the deal: connection pools must retry and rebuild, because idle pooled connections die with the old host. Aurora differs structurally, storage is shared, so a replica is promoted instead and recovery is usually faster. Name the CNAME flip and the pool-retry consequence together and this answer closes cleanly, which is what AWS interview questions on failover test.
How do read replicas differ from Multi-AZ standbys mechanically?
Answer: A standby replicates synchronously and serves nothing, existing purely for availability. A replica replicates asynchronously, serves reads, can lag seconds behind, exists in numbers, can sit in another region, and can be promoted to independence, a one-way operation. Use both together in serious deployments: Multi-AZ for automatic failover, replicas for read scale and cross-region DR seeding. The lag caveat drives application decisions like read-your-own-writes routing, and that second-order thinking is exactly what AWS interview questions about replication are mining for.
What are parameter groups and option groups in RDS?
Answer: A parameter group holds engine configuration, think max_connections, innodb_buffer_pool_size, or log_min_duration_statement, applied to instances that reference it; some parameters apply immediately, others wait for a reboot, and the console flags which. An option group attaches add-on features that are not parameters, like the MariaDB audit plugin or Oracle TDE. Defaults are shared and mutable by AWS, so production clones a custom group and versions it, because changing defaults mid-fleet is how configuration drift starts. Group discipline is the operational moral of this entry in AWS interview questions.
How does DynamoDB partition data, and what makes a hot partition?
Answer: DynamoDB hashes the partition key and assigns each hash range to a physical partition, so all items sharing one key value, plus their sort-key neighbors, live on one partition with that partition’s throughput ceiling. A hot partition appears when the key concentrates traffic, timestamp-only keys, single-tenant IDs, celebrity rows, and requests start throttling even though the table total looks fine. Fixes: add entropy to the key, a suffix or shard number, or switch to on-demand for spiky but non-skewed traffic. Key design as throughput design is the lesson, and it is the single most valuable DynamoDB insight in AWS interview questions.
What are RCUs and WCUs, and how do the two capacity modes differ?
Answer: A write capacity unit covers one 1 KB write per second, a read capacity unit one strongly consistent 4 KB read per second or two eventual ones. Provisioned mode bills for reserved capacity with auto scaling targets to ride demand; on-demand bills per request with no capacity planning, suited to new tables and spiky or unpredictable load. You can switch modes on a live table, and the cost crossover is usually near steady utilization around 30 percent of provisioned. Doing that arithmetic out loud is the bonus layer in AWS interview questions about DynamoDB economics.
Global secondary index versus local secondary index in DynamoDB?
Answer: A GSI has its own partition key and optional sort key, its own provisioned throughput, is always eventually consistent, and can be added or dropped on a live table; it re-projects chosen attributes into a separate physical structure. An LSI shares the table’s partition key with a different sort key, must be declared at creation, reads can be strongly consistent, and it consumes the base table’s capacity. GSIs are the everyday tool, alternate query shapes by email, status, or tenant. Framing indexes as extra tables you pay for twice is the cost-aware sentence this item in AWS interview questions rewards.
How does Lambda concurrency work, and when do reserved or provisioned concurrency matter?
Answer: Each concurrent invocation gets its own execution environment; the account holds a regional soft cap around 1,000 by default, with burst growth on the order of a thousand new environments per ten seconds. Reserved concurrency guarantees a function a floor and caps it, protecting downstream systems or ring-fencing one function from starving others. Provisioned concurrency keeps environments pre-initialized so requests skip the cold-start tax. When a downstream database chokes, the fix is capping the function, not scaling the database to match it, an inversion that senior AWS interview questions specifically listen for.
What is a Lambda cold start, and how do you fight it?
Answer: A cold start is the latency of preparing a fresh execution environment: download your deployment, start the runtime, run initialization code, before the handler runs; it lands hardest on runtimes with heavy startup like Java and on functions loading big frameworks. Mitigations, in order of cost: trim dependencies and initialize lazily, raise memory so CPU scales with it, provisioned concurrency to keep environments warm, and SnapStart for Java, which snapshots an initialized VM. Measuring with the INIT phase in logs and p99 rather than averages is the discipline this recurring topic in AWS interview questions expects.
What changes when a Lambda function runs inside a VPC?
Answer: The function’s execution environments attach to elastic network interfaces in your chosen subnets and security groups, which is required to reach private resources like RDS or ElastiCache. Since the Hyperplane ENI redesign, attachment is no longer a cold-start penalty. The tradeoffs: no public internet unless the subnets route through NAT, and AWS service APIs need interface endpoints or a NAT path, which is why VPC-attached functions that break on S3 calls are a classic. Stating both halves, private reach gained, internet reach conditional, is what complete AWS interview questions answers look like here.
How does Lambda handle asynchronous failures?
Answer: Async events retry twice with backoff by default, then drop unless you have configured otherwise; the two escape hatches are a dead-letter queue, SQS or SNS, and destinations, which route success and failure records onward with richer context including the response payload. Max event age caps how long retries persist, and stream or queue sources handle failure differently, returning batches or parking poison messages. At-least-once delivery is the contract, so handlers must be idempotent, and saying that single word with a story behind it is what AWS interview questions on serverless reliability remember.
CloudWatch agent versus default metrics: what do you actually gain?
Answer: Default EC2 metrics cover hypervisor-visible facts, CPU, network, disk I/O ops, but not memory or disk space, because the hypervisor cannot see inside the guest. The CloudWatch agent fills those gaps plus process-level stats, ships logs, and accepts StatsD and collectd. Custom metrics support dimensions, so one metric name sliced by instance or environment, and optional high resolution down to one second at higher price. Knowing that memory usage is never free by default is the tell that separates people who have alarmed on real servers from people who have read about them, a distinction AWS interview questions on observability trade on.
How does a CloudWatch alarm evaluate, and why do alerts flap or stay silent?
Answer: An alarm samples a metric over a period, for a number of evaluation periods, and fires when the breach condition holds for the configured datapoints-to-alarm ratio. Flapping usually means one-period alarms on spiky metrics; silence usually means the missing-data treatment is wrong, because the default treats absent datapoints as not breaching, which hides a dead metric rather than alarming on it. Set missing data to breach for heartbeat-style metrics, use composite alarms to correlate, and prefer anomaly detection bands for irregular baselines. Alarm semantics are graded knowledge in AWS interview questions because paging humans on broken alerts is expensive.
ALB versus NLB, plus cross-zone balancing and connection draining.
Answer: An ALB is layer seven: HTTP routing by path and host, header rewriting, authentication integration, and target groups that can hold containers and Lambda. An NLB is layer four: static IPs, zonal architecture, source-IP preservation, and very high packet throughput with TLS passthrough or termination. Cross-zone load balancing spreads requests evenly across AZs, always on and free for ALB, off by default and billable for NLB. Connection draining, now the deregistration delay, gives in-flight requests up to 300 seconds to finish when targets deregister. Choosing L7 flexibility against L4 raw performance is the decision this trio of AWS interview questions always circles.
How does an Auto Scaling group scale, and which policy type should you reach for?
Answer: An ASG holds min, desired, and max capacity, launches from a launch template, and adjusts desired on schedule or on a scaling policy. Target tracking is the default choice, keep CPU at 40 percent, keep ALB requests per target at 100, because it is a single dial that behaves sensibly; step policies handle custom metric shapes, and predictive scaling fits strong daily seasonality. Health checks replace bad instances, ELB health checks catch broken-but-running hosts, and instance refresh rolls new AMIs through the group. Policy-type judgment, not flag trivia, is what AWS interview questions about elasticity grade.
Scenario and troubleshooting AWS interview questions
This tier is how scenario rounds actually feel: one symptom sentence, then the interviewer waits while you think out loud. For every item, the graded skill is identical: state your order of checks and the reasoning behind it, then name the command or console path that confirms each step. Silence plus random clicking loses to a spoken diagnostic plan almost every time, and that plan is what these scenario AWS interview questions exist to measure.
Users get AccessDenied on S3 objects that worked yesterday. What do you check, in order?
Answer: First, the exact error source: CloudTrail for the failing call shows which policy evaluated and often names the denied context. Then walk the deny chain: explicit denies in the identity policy, bucket policy, SCPs, permission boundaries, and VPC endpoint policies, because any one explicit deny beats every allow. Third, what changed in the last 48 hours, IAM changes, bucket policy edits, KMS key rotation, since SSE-KMS objects fail on the key policy, not the bucket policy. Fourth, object ownership and ACLs if the bucket predates the current defaults. That ordered story, evidence before theory, is the entire test in this most classic of S3 access-denied scenarios in AWS interview questions.
A CloudFront distribution in front of S3 returns 403s while direct S3 access works. Diagnosis?
Answer: Split the two identities involved. With Origin Access Control, the bucket policy must allow the distribution’s ARN as principal; a policy that was overwritten by a hardening script is the usual culprit. If objects are SSE-KMS encrypted, the key policy must also allow CloudFront’s service principal, and KMS denials surface as access errors in the distribution. Check the origin domain too, a REST endpoint with an OAC mismatch, and confirm the response header says which leg failed. Working the two-policy chain, bucket then key, in that order is the crisp answer this layered variant deserves.
An instance in a private subnet cannot reach the internet. Walk me through it.
Answer: Work outward from the instance. Confirm egress intent first with curl to a known endpoint, then read the subnet’s route table: 0.0.0.0/0 must target a NAT gateway, and a route in state blackhole means the NAT was deleted. Verify the NAT lives in a public subnet with an internet route and an Elastic IP. Then the filters: outbound on the instance security group, and the network ACL, whose stateless return path needs ephemeral ports open. Finally, DNS: resolution can fail while routing is fine. Route, NAT, filters, DNS, in that order, and say the order out loud, because that narration is the point of the question.
Ping works to an instance but SSH on port 22 does not. What distinguishes the causes?
Answer: ICMP and TCP are filtered separately, so the first split is which rule set blocks SSH. Security group inbound missing 22 from your CIDR is the common case, and the fix is additive. The subtle case is the network ACL: outbound TCP to port 22 may be allowed, but the stateless reply from the instance arrives on your ephemeral ports, and an outbound NACL without 1024 to 65535 open drops it, so the connection hangs rather than refuses. nc -vz timing distinguishes refuse, which is a filter saying no, from hang, which is a lost return path. That refuse-versus-hang distinction is the senior detail in this connectivity classic.
A security group rule was added, but the connection still fails. Now what?
Answer: Rules act on new connections, so first confirm this is not a stale long-lived session behind a load balancer. Then verify you edited the group actually attached to the interface with aws ec2 describe-network-interfaces --filters Name=attachment.instance-id,Values=i-xxx, because autoscaled fleets happily run mixed groups. Check both directions: inbound on the target and outbound on the source, since default outbound can be restricted. Then the return path through any network ACLs, and finally test from inside with a loopback connection to isolate the service from the network. Most of these mysteries end at the wrong-group step, which is why it sits early in the order.
VPC A reaches VPC B, and B reaches C, but A cannot reach C. Explain and fix.
Answer: Peering is non-transitive by design: each pair needs its own connection, and routes for it, on both sides. A to C traffic currently has no route, and often no peering at all. Options in order of maturity: add a direct A-C peer if it is genuinely one pair; adopt Transit Gateway, attach all three, and let hub route tables express the policy, which also survives the next four VPCs; or use PrivateLink if only specific services, not whole networks, should be reachable. Also verify overlapping CIDRs are not silently making the route ambiguous. Naming non-transitivity first, then escalating to the hub, is exactly the reasoning chain the question is drawn to expose.
You added an S3 gateway endpoint, but NAT processing costs barely moved. Why?
Answer: A gateway endpoint works through route tables, so the first check is whether the subnet’s route table actually contains the pl-xxxx prefix list entry targeting the endpoint; endpoints in the wrong table affect the wrong subnets. Second, the endpoint policy may be denying the traffic, which pushes clients onto fallback paths and errors, not savings. Third, the traffic may never have been S3-bound: S3 transfers inside the same region over NAT are rare, and the bill is usually dominated by other destinations like package mirrors or external APIs, which need NAT regardless. Read the NAT gateway CloudWatch bytes-out metric per subnet before crediting or blaming the endpoint.
A Lambda function times out connecting to RDS in the same VPC. Give me the check order.
Answer: One: confirm the function is attached to private subnets in the database’s VPC, ENIs are per subnet and security group. Two: the RDS security group must trust the Lambda security group, by group reference, on 3306 or 5432, the single most common miss. Three: connectivity to other services, if the function also calls S3 or Secrets Manager it needs interface endpoints or a NAT route, because VPC attachment removes the default public path. Four: timeout arithmetic, 15 seconds is not enough for cold init plus pool setup plus query, so separate init latency from connect latency in the logs. Most fixes land at step two, but the value you show is completing all four without guessing.
A Lambda function throttles during a traffic spike. What do you look at?
Answer: Read the Throttles metric with ConcurrentExecutions side by side. If concurrency hit the account’s regional limit, the account is saturated and another function is the thief; request a quota raise and set reserved concurrency on critical functions. If the limit is the function’s own reserved cap, someone ring-fenced it too tightly. If neither, look at the downstream: throttling often protects a database that cannot take the concurrency, so the durable fix is a queue between the trigger and the function, turning burst into steady drain. Deciding between raise, cap, and queue by reading which ceiling you hit is precisely the judgment this scenario is built to reveal.
After a dependency bump, p99 latency on a Lambda endpoint doubled. Where do you look?
Answer: Decompose the invocation in logs first: the INIT phase, before the handler, grows when imports or runtime startup grow, and INIT lands on every cold invocation. Compare cold versus warm durations from the reported durations; if only cold got worse, it is package weight or import-time work like clients and SDK config built at module scope. Check whether the bump raised memory pressure enough to spill, since CPU scales with memory and a starved runtime slows everything. Mitigate in order: lazy initialization, moving client construction into the handler, a memory bump, provisioned concurrency for the endpoints where p99 is contractual. INIT-versus-handler separation in the log line is the evidence that settles it.
A Lambda works on your laptop but gets AccessDenied calling S3 once attached to the VPC. Explain.
Answer: Outside a VPC, the function reached S3 over the public endpoint using its execution role. Attached to private subnets, that public path vanished, and someone then added a VPC endpoint whose policy, or a NAT-less route table, changed what the call presents. Read the CloudTrail entry: it names the exact denied action and, for endpoint policies, the context. Fixes: add an S3 gateway endpoint in the route table with a policy permitting the role, or restore a NAT route if internet egress was intended. The teaching point to state: VPC attachment is a routing change, not an identity change, and every subsequent failure is a route or policy consequence.
A user with s3:* allowed on * still gets AccessDenied. Give the full reason chain.
Answer: Allow in the identity policy is only one vote. Walk every explicit-deny source: the identity policy itself, the bucket policy, the S3 VPC endpoint policy if the call traverses one, SCPs, and the user’s permission boundary, any single explicit deny ends it. Next the ceilings: an SCP without a matching allow, or a boundary narrower than the identity policy, silently caps permissions at their intersection. Then KMS: if objects are SSE-KMS, decrypt requires the key policy to allow the caller, and the failure names KMS, not S3. Finally confirm the right principal got the policy and not a group nobody joined. Reporting the chain in that order, deny, ceiling, key, principal, is the complete answer.
sts:AssumeRole fails with not authorized, though the caller has AdministratorAccess. Why?
Answer: AdministratorAccess grants the caller permission to assume, but the role’s trust policy must separately name the caller as principal, and trust lives on the role, not the caller. Check the trust policy first: wrong account ID, a deleted external ID, or a condition like aws:SourceOrgID that no longer matches. Then the caller side: sts:AssumeRole on that exact role ARN, not a wildcard that excludes it, and no permission boundary subtracting it. Cross-account adds a third gate, the target account must not have an SCP forbidding the assumption. Trust policy plus identity policy, both required, in that order of likelihood, is the diagnostic the interviewer wants verbalized.
A policy allows s3:ListAllMyBuckets scoped to one bucket ARN, and the call still fails. What is wrong?
Answer: The statement matches nothing, because ListAllMyBuckets is a bucket-list operation that does not support resource-level permissions: its only valid Resource is the wildcard. Actions come in two flavors, those that accept resource ARNs and those that are account-scoped, and scoping the second kind to a resource ARN produces a statement that can never allow anything, with no warning at save time. The general tool is the IAM policy reference page listing which actions support which resource types, and aws iam simulate-principal-policy to prove the mismatch before shipping. That action-versus-resource compatibility table is deep-cut knowledge, and this scenario is exactly how AWS interview questions surface it.
A security group change locked you out of the only instance in a private subnet. How do you recover?
Answer: Do not terminate; the fix is out-of-band access. If Systems Manager was enabled, Session Manager reaches the instance through the SSM agent regardless of SSH rules, provided the instance role permits it and the VPC has a path to the SSM endpoints, interface endpoints or NAT. From Session Manager, inspect and repair the security group with the CLI. Without SSM, options are user-data on a stop-start cycle, which runs as root at next boot to restore rules, or launching a replacement from the same AMI with correct groups and reattaching volumes. The prevention sentence closes the answer: manage groups through IaC with review, and keep the SSM role on every instance as the master key.
An instance fails status checks, 1 of 2 checks passed. What does the split tell you?
Answer: The two checks have different owners. System reachability failing means the AWS side, hardware or host software, and the fix is stop-start to migrate the instance to healthy hardware, or wait for AWS repair. Instance reachability failing means the OS layer: bad kernel, full disk, broken network config, failed boot, and no migration helps until the guest is fixed. Confirm which by reading the console status, then for instance-level trouble use recovery paths: EC2 Serial Console or Session Manager for a system that boots but is unreachable, root volume swap onto a rescue instance for one that does not. Naming the owner of each check before touching anything is the entire answer.
You resized an EBS volume, but df still shows the old size. What happened?
Answer: The storage grew, the filesystem did not, because they are separate layers. Verify with lsblk: the block device shows the new size while the partition, and therefore the filesystem, still shows the old. Stretch the partition with growpart /dev/nvme0n1 1, adjusting device and partition numbers to the listing, then grow the filesystem, resize2fs for ext4 or xfs_growfs for XFS, both online. On gp3 also confirm the new IOPS and throughput you want, since size alone no longer implies performance. Storage, partition, filesystem: three layers, two commands after modify-volume, and reciting that stack is the point of this repair question.
RDS is at 100 percent CPU and connection limits are exhausted. Triage order?
Answer: Classify before tuning: Performance Insights or the engine’s own views, pg_stat_activity or SHOW PROCESSLIST, shows whether CPU is a few heavy queries or thousands of light ones. Heavy queries: read the slow query log, check for a missing index after a deploy, and explain the worst statement. Connection exhaustion: find the leak, usually an app tier scaling out without a pool cap, set pool maxima below the instance limit, and consider RDS Proxy to absorb burst and multiplex connections. Structural fixes follow the finding: a read replica for read-heavy load, a bigger class only as a bridge. Query shape first, pool second, instance size last is the order that shows judgment.
After a Multi-AZ failover, the application cannot connect for minutes. What went wrong on your side?
Answer: The endpoint CNAME flipped, but the application’s connection pool kept dead sockets and, worse, some clients cache DNS past the failover window. Fix the pool: validate-on-borrow, short idle timeouts, and aggressive eviction so dead connections are replaced automatically; test with an actual reboot of the writer. Fix resolution: rely on the RDS endpoint rather than a pinned IP, keep DNS TTLs low, and ensure resolvers inside the VPC requery promptly. If sessions also broke mid-transaction, add retry logic that replays idempotently. A failover you have not rehearsed against your pool is a failover you have not done, which is the sentence that ends this answer well.
DynamoDB throws ProvisionedThroughputExceeded on one access pattern. Diagnosis?
Answer: Check CloudWatch per-item throttles first: throttling on one partition key while the table total looks calm is a hot key, throttling everywhere is genuine under-provisioning. Hot key fixes: add entropy to the partition key, a shard suffix, or a write sharding scheme for counters, and on the read side add a short cache like DAX or application caching for the few celebrity items. Genuine under-provisioning: raise capacity or let auto scaling act, or move the spiky table to on-demand. Also inspect for scan patterns and missing GSIs forcing full-table reads. Distinguishing one hot partition from table-wide shortfall is the whole diagnosis, and it is the difference between redesign and a billing change.
The monthly bill doubled overnight and nothing was deployed. Where do you start?
Answer: Cost Explorer grouped by service, then by tag, then by usage type, daily granularity, to isolate which service and which day the curve bent. The usual suspects behind step-function bills: data transfer out to the internet, NAT gateway processing from a new cross-AZ pattern or a chatty job, CloudWatch custom metrics from a bad agent config, snapshot accumulation from a new backup policy, and public IPv4 charges from a fleet change. Then CloudTrail around that day, filtering on the suspect service, to find who or what created the resource. Tag discipline decides whether this takes ten minutes or a day, and saying that is part of a complete answer.
S3 storage cost climbs every month though data volume is flat. What is growing?
Answer: Versioning without expiry is the top suspect: every overwrite keeps the old version at full price, so churn, not growth, inflates the bill, and aws s3api list-object-versions proves it. Second, incomplete multipart uploads: abandoned parts bill forever without an abort lifecycle rule. Third, storage class drift: Intelligent-Tiering handles unknown patterns, but objects stuck in Standard that nobody read since last quarter belong in IA tiers, and lifecycle transitions cannot fix objects created before the rule. Fourth, metadata-heavy buckets with millions of tiny objects bill on request counts, not bytes. Run lifecycle rules that expire noncurrent versions and abort stale multiparts, then watch the storage-class mix report week over week.
An outage happened, and the CloudWatch alarm never fired. Post-mortem checks?
Answer: Work the alarm’s own data path. Was the metric flowing, a dead agent or a renamed metric means the alarm evaluated on nothing, and the default missing-data treatment happily stays green. Was the statistic right, P99 over a one-minute period is not the same as an average over five. Did the state transition happen but the notification die, SNS subscription unconfirmed, or an action blocked by a policy, with the alarm history showing OK to ALARM without delivery? Was the threshold tuned to a healthy baseline so the breach never crossed it? Composite alarms and out-of-band heartbeat checks close the gaps. Alarms are systems too, and saying so, with the four failure classes, is the mature version of this answer.
An ALB returns 502s while targets show healthy. What sequence explains it?
Answer: Healthy checks pass, so look at what happens after routing. Read target group health plus the ALB access logs, which record the target’s response and the reason code. Common causes: the application closed keep-alive connections shorter than the ALB’s idle timeout, so the balancer forwards onto a socket the target already dropped; the target reset mid-response under memory pressure; or TLS targets present a certificate or protocol the ALB rejects only on data. Fixes: keep-alive on the target exceeding the ALB idle timeout, correct deregistration delay so in-flight requests finish, and capacity headroom on the target. The access-log reason code turns guessing into reading, and naming it first is what makes the answer credible.
NAT gateway charges exploded after a new service launched. What patterns cause this?
Answer: NAT bills per gigabyte processed, so first find who generates bytes: VPC flow logs to the NAT gateway’s ENI, grouped by destination, name the talkers. The classic patterns: an Availability Zone using another AZ’s NAT, doubling traffic as cross-AZ plus processing, fixed by one NAT per AZ; S3 and DynamoDB calls taking the NAT path because a gateway endpoint was never added; polling loops against external APIs, or container images pulled per pod instead of per node, multiplied by autoscaling. Fix with per-AZ NATs, endpoints for AWS services, caching layers, and egress allowlists that fail fast. Flow logs to the ENI is the evidence that ends the debate about whose service is expensive.
S3 replication silently stopped after a KMS change. How do you catch and fix it?
Answer: Replication reports health in the console metrics and CloudWatch, ReplicationLatency and OperationsFailedReplication, so alarms on those first, because silent breakage is the failure mode. After a KMS change, the replication role needs decrypt on the new source key and encrypt on the destination key, and key policies must allow the role, three policy surfaces for one failure. Versioning must remain enabled on both buckets, and replica modification rules change scope if someone touched them. Backfill the gap with a batch copy job once healthy. Replication is asynchronous and unbothered, it will not alert you, which is why the first sentence of the fix is the metric, not the policy.
Hands-on scenario labs
Reading answers builds vocabulary; reflexes come from breaking real resources, and scenario rounds of AWS interview questions are graded on reflexes. Each lab below runs inside the Free Tier in a personal account. Do each twice: once with the checklist open, once narrating the diagnostic order out loud as if an interviewer were listening, because that narration is the skill being hired.
Lab 1: build, break, and repair a two-subnet VPC
- Create the network with the CLI:
aws ec2 create-vpc --cidr-block 10.0.0.0/16, then two/24subnets in different AZs, an internet gateway attached, and a route table sending0.0.0.0/0to it for the public subnet. - Launch a t3.micro in each subnet, then verify the public instance gets an address and the private one does not, checking with
aws ec2 describe-instances --query. - Add a NAT gateway to the public subnet, a route on the private table, and prove egress from the private instance with
curl checkip.amazonaws.com; delete the NAT within the hour, since it bills by the minute. - Break it deliberately: remove the private route table entry, watch
curlhang, then diagnose using only the route table, security groups, and the NAT state before restoring. - Finish with
aws ec2 describe-vpcsand the dependency deletion order, instances, NAT, routes, gateway, subnets, VPC, so the account stays clean.
Lab 2: lock, audit, and restore access to an S3 bucket
- Create a bucket with Block Public Access on and versioning enabled, upload an object, and confirm normal reads with
aws s3 cp. - Add an explicit deny on
s3:GetObjectin a condition the current requests satisfy, verify the AccessDenied, then find the exact denied call in CloudTrail event history with resource name as the filter. - Prove the deny chain: an allow plus this deny loses, then remove the deny and confirm recovery, narrating why explicit deny outranks every allow.
- Generate a presigned URL with
aws s3 presign, fetch it withcurl, then revoke the signer’s permissions and watch the same URL fail before expiry. - Close by listing versions with
aws s3api list-object-versionsand writing an expiry rule for noncurrent versions, so versioning never becomes a cost leak.
Lab 3: least-privilege IAM and a Lambda cold-start drill
- Write a policy allowing one action on one ARN, then dry-run it with
aws iam simulate-principal-policybefore attaching it anywhere. - Deploy a trivial Lambda at 128 MB with a 5 second timeout, invoke it, and read the INIT phase in its CloudWatch log stream to see cold-start cost directly.
- Bump memory to 512 MB, re-invoke, and compare durations, connecting the memory-to-CPU scaling you just measured.
- Set reserved concurrency to 1, fire ten parallel invokes with
aws lambda invokein a loop, observe throttles in metrics, then remove the cap. - Write down the one-sentence rule the lab proved: concurrency limits protect downstreams, and timeout plus memory are the two dials that shape serverless latency.
Cheat sheet: the commands behind the answers
Almost every answer in this bank of AWS interview questions resolves to one of the commands below, used in the same order you would run them during a real incident. Learn the table, then one sentence per row about what it proves, and any scenario round becomes a walk through familiar steps.
| Command | What it tells you |
|---|---|
aws sts get-caller-identity | Who this shell actually is, account, principal, and assumed role, before any diagnosis |
aws iam simulate-principal-policy | Whether a principal can perform an action, without trying it for real |
aws cloudtrail lookup-events | What changed, who changed it, and exactly when, the first history read |
aws ec2 describe-instances --query | Instance state, subnet, addresses, and attached groups in one view |
aws ec2 describe-network-interfaces | The security groups truly attached, not the ones you assumed |
aws ec2 describe-security-groups --group-ids | Rule sets in full, both directions, before blaming the network |
aws ec2 describe-route-tables | Where packets go next, and any blackhole route from deleted gateways |
aws ec2 describe-nat-gateways | NAT state per AZ, plus the addresses routing depends on |
aws ec2 describe-vpc-endpoints | Which endpoints exist, their policy, and the services they cover |
aws s3api get-bucket-policy | The bucket’s own contract, denies included, pretty-printed |
aws s3api get-bucket-policy-status | Whether the policy currently grants public access |
aws s3api head-object | Storage class, encryption, and version of one object without downloading it |
aws s3api list-object-versions | Version sprawl and delete markers behind quiet storage growth |
aws s3 presign s3://bucket/key | A time-boxed direct URL for testing client-side uploads and downloads |
aws lambda get-function-configuration | Timeout, memory, role, subnets, and groups behind a serverless mystery |
aws lambda get-function-concurrency | The reserved cap that quietly throttles a function |
aws logs tail /aws/lambda/name --follow | Live invocation logs with INIT and handler timing separated |
aws rds describe-db-instances | Multi-AZ state, endpoint, class, and pending maintenance in one record |
aws dynamodb describe-table | Key schema, capacity mode, and index set behind throttle patterns |
aws elbv2 describe-target-health | Per-target health and the reason a target is unusable |
aws autoscaling describe-auto-scaling-groups | Min, desired, max, and the policies currently bending capacity |
aws ce get-cost-and-usage | Cost by service, tag, and day, the opening move of any bill surprise |
aws ec2 describe-addresses | Public IPv4 inventory, including unattached addresses burning money |
Authoritative references for everything above live in the AWS documentation: the IAM policy evaluation logic page is the exact algorithm behind half of this bank, and the Amazon S3 User Guide covers storage classes, replication, and lifecycle mechanics in full.
Key takeaways and FAQ
The through-line across every tier: AWS interview questions reward candidates who pair a mechanism with its consequence. A service name alone reads as memorization; a mechanism without its failure mode reads as theory; together they read as someone who has carried the pager in that account. Hold that pairing through every answer you rehearse, and this bank becomes a script for the entire loop.
How long should I prepare for AWS interview questions?
With daily AWS use, one focused week: two days on the beginner tier spoken aloud, two on intermediate, one on scenarios, the weekend on the labs. Without regular hands-on time, plan three weeks and build the Free Tier labs first, because hands recall what eyes skim, and every answer in this bank gets easier once you have broken the resource it describes.
Which services come up most in AWS interview questions?
EC2, S3, IAM, and VPC appear in nearly every loop, with Lambda, RDS, DynamoDB, and CloudWatch filling out the technical rounds, which is exactly the coverage order of this page. Depth expectations climb with seniority: definitions at the junior level, evaluation order and partition mechanics in the middle, and bill-level tradeoffs for senior roles.
Do AWS interview questions differ between DevOps and cloud architect roles?
The beginner and intermediate tiers are identical; emphasis shifts at the scenario tier. DevOps loops lean toward pipeline-adjacent services, roles for CI systems, VPC plumbing, and Lambda deployment behavior, while architect loops add multi-account structure, well-architected tradeoffs, and cost governance. Prepare the whole bank and go deep on the scenario tier of whichever role you are meeting.
Do certifications help with AWS interview questions?
Early in a career, yes: Solutions Architect Associate maps closely to the beginner and intermediate tiers here, and studying for it builds the vocabulary the screening round tests. Past a few years of experience, panels weight war stories and diagnostic narration over certificates, so shift that prep time into the scenario section and the labs, where the actual differentiation lives.
How deep should a single answer go in AWS interview questions?
Roughly thirty to sixty seconds spoken: the definition, the mechanism that owns the behavior, and one production caveat. That structure answers the question asked and plants the hook for the follow-up you actually want. Ramming five minutes of detail into a screening answer wastes round time and buries the signal, while a one-line answer with no mechanism reads as untested.
What should I read after this page?
Continue with the Linux interview questions and Kubernetes interview questions banks, since most AWS workloads land on exactly that stack, and the Terraform interview questions page for the tooling that provisions all of it. Then browse the DevOps Prep hub for the rest of the series as it ships.