Amazon SRE (Site Reliability Engineer) Interview Preparation Guide - Entry Level
While Amazon's general interview process follows a consistent pattern with recruiter screening, technical phone rounds, and onsite interviews, specific details about Amazon's exact SRE interview process, interview formats, and evaluation criteria were not found in the provided search results. This guide is constructed based on industry-standard SRE interview processes, AWS-specific technical topics, the provided job description, and general Amazon interview patterns. For the most current and accurate information about Amazon's SRE interview process, recruiting timeline, and specific evaluation criteria, please refer to Amazon's official careers page or consult with recruiters from Amazon's SRE hiring team.
Amazon's SRE interview process for entry-level candidates involves an initial recruiter screening, two technical phone rounds covering SRE fundamentals and systems knowledge, followed by four onsite rounds evaluating core SRE competencies, AWS infrastructure expertise, incident response and debugging capabilities, and cultural alignment with Amazon Leadership Principles. The entire process evaluates foundational understanding of system reliability engineering, AWS services, practical problem-solving abilities, and demonstrated commitment to learning and reliability excellence.
Interview Rounds
Recruiter Screening
What to Expect
The recruiter screening round establishes your interest in the SRE role at Amazon and provides an overview of the position, team, and company culture. You'll discuss your background, career motivations, and understanding of Site Reliability Engineering. The recruiter will explain the role's core responsibilities: keeping systems running and ensuring rapid recovery when failures occur, working with development and operations teams on security, SLA, and performance requirements, writing documentation and runbooks, automating infrastructure and deployments, debugging complex distributed systems, and developing CI/CD processes. You'll also learn about the team structure, on-call rotation model, and opportunities for growth. This round typically includes an initial recruiter call to assess basic fit and a follow-up conversation if you're moving forward.
Tips & Advice
Be genuine and specific about your interest in SRE and why reliability engineering excites you. Research Amazon's SRE culture and the specific business domain if available. Have a clear explanation of your career path and why you're transitioning to or starting in SRE - this is especially important for entry-level candidates who may be coming from other fields. Prepare thoughtful, specific questions about team structure, mentorship opportunities for entry-level engineers, the specific technologies the team uses, and typical on-call rotation frequency and intensity. Show enthusiasm for learning while being honest about your current knowledge level. Demonstrate curiosity about how Amazon approaches reliability and scaling across billions of customers. Be ready to discuss why you specifically want to work at Amazon and join this team, not just any SRE role.
Focus Topics
Familiarity with Amazon's Technology Stack and Business Context
Basic awareness of the specific technologies mentioned in the job posting: AWS services, Docker and Kubernetes for containerization, monitoring and observability platforms (Datadog, Sensu, New Relic, Nagios), Infrastructure as Code tools (Terraform, Ansible, Chef, Puppet), and relational/NoSQL databases. Understanding that Amazon operates massive-scale systems serving billions of customers and that reliability is central to customer experience.
Practice Interview
Study Questions
Career Motivation and Learning Mindset
Your genuine interest in reliability engineering, why you're drawn to this role over others, and demonstrated commitment to developing SRE expertise. For entry-level candidates, emphasizing your eagerness to learn, ability to take feedback, and desire to grow under experienced mentorship is particularly important. Ability to articulate what excites you about system reliability, operational excellence, and supporting product teams.
Practice Interview
Study Questions
Understanding the SRE Role and Responsibilities
Clear comprehension of what Site Reliability Engineering entails in the Amazon context: maintaining system uptime, responding to and resolving incidents quickly, collaborating with development teams, defining SLOs and error budgets, implementing monitoring and automation, developing CI/CD pipelines, conducting post-incident reviews, and continuously improving reliability. The job description provides specific responsibilities: keeping systems running, working on security/SLA/performance requirements, writing runbooks and playbooks, automating infrastructure/testing/deployments, debugging across system stacks, and implementing Chaos Engineering practices.
Practice Interview
Study Questions
Technical Phone Screen 1 - SRE Fundamentals and Linux Systems
What to Expect
This first technical phone screen assesses your foundational understanding of Site Reliability Engineering principles and Linux/Unix system administration basics. The interviewer will ask questions about SLOs (Service Level Objectives), SLAs (Service Level Agreements), error budgets, and the foundational goal of maximizing system uptime while enabling feature development. You'll be tested on Linux command-line proficiency, system administration skills, and practical ability to work in Unix-like environments. Expect scenario-based questions about system troubleshooting, demonstrating your methodology for approaching problems. The interviewer is evaluating your grasp of SRE's core purpose, your comfort with Linux systems, and your ability to articulate technical concepts clearly.
Tips & Advice
Review SRE fundamentals thoroughly, especially SLOs and SLAs - these define the entire SRE practice. Understand error budgets and how they guide the balance between reliability work and feature development. Be comfortable with practical Linux skills: file system navigation, process management, user administration, log analysis, and common monitoring commands (top, ps, netstat, lsof, df, etc.). Practice explaining your problem-solving approach out loud - interviewers want to understand your methodology. For entry-level, demonstrating solid foundational knowledge and clear thinking matters more than encyclopedic knowledge of every Linux command. Have concrete examples from your experience: coursework, personal projects, internships, or lab work with Linux. Walk through problem-solving step-by-step: understanding the problem, gathering diagnostic data, forming hypotheses, testing them. Be prepared to discuss why certain metrics or commands are useful.
Focus Topics
Incident Response Fundamentals and On-Call Concepts
Basic understanding of incident response cycles: detection (monitoring alerts you), triage and diagnosis (understanding what's wrong), mitigation (stopping impact), resolution (fixing the problem), and post-incident review (learning to prevent recurrence). Familiarity with on-call rotations and on-call responsibilities. Understanding the concept of MTTD (Mean Time To Detect) and MTTR (Mean Time To Repair), and why minimizing these matters. Comprehension of runbooks and playbooks as documented procedures for common issues. For entry-level, this is conceptual framework rather than deep tactical experience.
Practice Interview
Study Questions
System Monitoring and Observability Fundamentals
Introduction to monitoring core concepts: metrics (quantitative measurements of system behavior), logs (events and their context), and traces (request flows across systems). Understanding the difference between monitoring (knowing your system is broken) and observability (understanding why it's broken). What makes a good metric and how to think about which metrics matter. Basic understanding of the monitoring tools mentioned in the job: Datadog, Sensu, New Relic, Nagios - what problems they solve and when to use each. Understanding how monitoring enables SLOs by providing visibility into system behavior.
Practice Interview
Study Questions
Systematic Debugging and Problem-Solving Methodology
Approach to diagnosing system problems: clearly understanding and defining the problem, gathering relevant data from multiple sources, forming testable hypotheses, testing them methodically, and identifying root causes. Avoiding premature conclusions and understanding that the obvious symptom isn't always the root cause. Using logs, metrics, and system tools effectively in troubleshooting. Thinking through how components interact and where problems might originate. For entry-level, the methodology and structured thinking matter more than having all answers immediately.
Practice Interview
Study Questions
Linux and Unix System Administration Basics
Practical command-line proficiency in Linux environments including: filesystem hierarchy and navigation (ls, cd, pwd, find, locate), file permissions and ownership (chmod, chown, umask), user and group management (useradd, userdel, passwd, sudo), process management (ps, top, kill, nice), running services and daemons (systemctl, service), basic shell scripting (bash), log analysis (cat, grep, tail, awk, sed), disk usage (df, du), and network diagnostics (ifconfig, ip, netstat, ss, ping, traceroute). Understanding of pipes, redirects, and command composition. For entry-level, focus on commonly-used commands and scenarios, not obscure options.
Practice Interview
Study Questions
SRE Fundamentals: SLOs, SLAs, and Error Budgets
Deep understanding of Service Level Objectives (SLOs) as targets you set for reliability, Service Level Agreements (SLAs) as commitments to customers with penalties for violations, and error budgets as the acceptable downtime allocated to services. Comprehension of how error budgets enable rapid feature development while maintaining reliability commitments. Understanding the relationship between SLOs and incident response decisions - if you have error budget remaining, you can take calculated risks; when budget is depleted, all focus shifts to reliability. The principle that SREs use these metrics to communicate reliability goals and drive decision-making across the organization.
Practice Interview
Study Questions
Technical Phone Screen 2 - Networking Fundamentals and System Architecture
What to Expect
This second technical phone screen focuses on networking fundamentals, how distributed systems interconnect, and basic system architecture concepts. You'll discuss TCP/IP, DNS mechanics, networking troubleshooting, and how to think about system architecture at a basic level. The interviewer wants to understand your grasp of how systems communicate over networks, basic network troubleshooting skills, and foundational architectural thinking. Questions may include how DNS resolution works, what happens when a connection fails, basic load balancing concepts, and how distributed components interact. The job description specifically mentions DNS knowledge including nameservers, queries, caching, and security concerns. You'll be evaluated on your understanding of networking fundamentals and your ability to think through architecture problems systematically.
Tips & Advice
Review networking fundamentals: OSI model (at least conceptually), TCP/IP protocol suite, ports and protocols. Thoroughly understand DNS: how DNS queries work, the role of nameservers including root nameservers, recursive vs. authoritative nameservers, caching behavior, TTL (Time To Live), DNS zones, A records, CNAME records, and reverse DNS lookups. The job posting specifically emphasizes understanding DNS. Practice basic network troubleshooting tools: ping for reachability, traceroute for path analysis, netstat/ss for connection information, nslookup/dig for DNS queries, tcpdump for packet capture. Be able to draw simple network diagrams showing clients, servers, load balancers, and how they communicate. For system architecture, focus on basic concepts: clients and servers, load balancing, database connectivity, caching layers, and how these components interact. Prepare to discuss microservices (mentioned in the job) versus monolithic architectures. For entry-level, strong fundamentals and systematic thinking matter more than advanced distributed systems knowledge.
Focus Topics
Microservices Architecture and Service Communication
Basic understanding of microservices: multiple independent services, inter-service communication patterns (synchronous via REST/gRPC, asynchronous via message queues), service discovery, API design (the job mentions REST API services), distributed systems challenges like eventual consistency and partial failures. Understanding how microservices compare to monolithic architectures in terms of scalability, resilience, and operational complexity.
Practice Interview
Study Questions
Network Troubleshooting and Diagnostics
Practical troubleshooting of network issues using tools: ping for testing reachability, traceroute for path analysis, netstat/ss for connection states and listening ports, nslookup/dig for DNS queries, telnet/nc for testing connectivity to specific ports, tcpdump for packet capture and analysis. Understanding connection states, how to identify blocked ports, DNS resolution problems, and packet loss. Methodical approach to diagnosing network-related failures.
Practice Interview
Study Questions
Basic System Architecture Concepts
Understanding fundamental architecture patterns: clients and servers, monolithic versus microservices architectures (the job mentions transitioning from monoliths to microservices), load balancing and how it distributes traffic, stateless versus stateful services, database connectivity, caching layers. Understanding basic reliability considerations: single points of failure, redundancy, failover. The concept of service dependencies and how problems cascade through systems. For entry-level, recognize common patterns and understand basic trade-offs.
Practice Interview
Study Questions
Networking Fundamentals and TCP/IP
Understanding of TCP/IP protocol suite, OSI model at a conceptual level, ports and protocols, TCP versus UDP, connection establishment and teardown. Understanding IP addresses, subnetting basics, and routing concepts. The difference between transport layer (TCP/UDP), network layer (IP), and application layer protocols (HTTP, DNS, SSH, etc.). Comprehension of how data flows through network layers and what happens at each layer.
Practice Interview
Study Questions
DNS Mechanics and Resolution
Deep understanding of Domain Name System: how DNS queries work (recursive resolution process), the role of different nameserver types (root, TLD, authoritative), nameserver delegation, DNS zones, common DNS record types (A, AAAA, CNAME, MX, NS, SOA), caching behavior and TTL implications, reverse DNS lookups, and DNS security concerns. Understanding why DNS matters for system reliability and what happens when DNS fails. The job specifically emphasizes understanding DNS including nameservers, queries, caching, zones, and security.
Practice Interview
Study Questions
Onsite Round 1 - Core SRE Concepts and Monitoring Strategy
What to Expect
This first onsite round focuses on deep understanding of core SRE concepts and designing effective monitoring strategies. The job description specifically asks how you would 'develop a monitoring strategy for a service that does not have one.' You'll discuss monitoring design from first principles, implementing observability, understanding different telemetry types, and making decisions about what to monitor and alert on. The interviewer will present scenarios about monitoring challenges: designing dashboards for different audiences, setting appropriate alert thresholds to avoid alert fatigue while catching real problems, understanding metrics that reflect system health and user experience. You'll demonstrate systematic thinking about what makes good monitoring and connect monitoring to SLO achievement and incident response. The round evaluates your conceptual understanding of observability, your systematic approach to monitoring design, and ability to explain monitoring philosophy clearly.
Tips & Advice
Study SRE principles deeply - read the Google SRE book (free online) and understand core SRE philosophy. Be prepared to discuss monitoring strategy from first principles: what makes a good metric, how to avoid alert fatigue, the relationship between monitoring and incident response, how monitoring enables SLOs. Practice explaining observability concepts and the role of different telemetry types: metrics (quantitative data over time), logs (events with context), and traces (request flows). Have concrete examples of good and bad monitoring you've encountered or imagined. Study the specific monitoring tools mentioned in the job posting (Datadog, Sensu, New Relic, Nagios) at least at a conceptual level - don't need to be an expert but understand what each does. Understand methodologies like RED method (Rate, Errors, Duration) or USE method (Utilization, Saturation, Errors) for thinking about metrics. Connect monitoring concepts back to the SLO/error budget concepts from earlier rounds. Be ready to discuss monitoring's role in incident response and how good monitoring enables rapid diagnosis. For entry-level, strong fundamental thinking and systematic approach matter more than tool-specific expertise.
Focus Topics
Monitoring Tools: Datadog, Sensu, New Relic, Nagios, and AWS Services
Familiarity with monitoring tools mentioned in the job posting: Datadog (SaaS monitoring platform), Sensu (open-source monitoring), New Relic (APM and infrastructure monitoring), Nagios (open-source monitoring system). For AWS specifically: CloudWatch (AWS's native monitoring service for metrics, logs, and alarms) and CloudTrail (audit logging for AWS API calls). Understanding the capabilities and use cases for each. For entry-level, conceptual understanding and knowing when to use each tool type is more important than deep tool mastery. Understanding the difference between infrastructure monitoring, application monitoring, and observability platforms.
Practice Interview
Study Questions
Metrics Selection and Best Practices
Choosing metrics that matter: identifying metrics reflecting system health and user experience rather than vanity metrics. Understanding cardinality and its implications for storage and query performance. Time-series data concepts. The difference between rate (requests per second), latency (response time), and error rate. Understanding how to use histograms and percentiles (p50, p95, p99) rather than just averages, since averages hide outliers. For entry-level, focus on thinking through what metrics matter and why rather than advanced metrics architecture.
Practice Interview
Study Questions
Alert Design and Alert Fatigue Prevention
Principles of effective alerting: designing alerts that page humans appropriately without causing alert fatigue. Understanding the difference between warnings (log them but don't page), alerts (needs attention soon), and page-worthy incidents (immediate human action needed). Threshold setting that balances sensitivity and specificity - if thresholds are too low, you get false positives; too high, you miss real problems. Understanding alert composition and when to combine metrics into composite alerts. Strategies for managing alert storms during ongoing incidents. The relationship between alerting and on-call experience: poorly designed alerts lead to alert fatigue and ineffective on-call rotations.
Practice Interview
Study Questions
Observability: Metrics, Logs, and Traces
Understanding observability as the ability to understand system behavior from external outputs. Comprehension of the three pillars: metrics (quantitative measurements), logs (discrete events with context), and traces (request flows across systems showing dependencies and timing). How these telemetry types complement each other - you need all three for true observability. The difference between monitoring (knowing the system is broken) and observability (understanding why). How to use observability data to understand system behavior and diagnose problems rapidly. The job description mentions observability as a key responsibility.
Practice Interview
Study Questions
Monitoring Strategy and Design from First Principles
Systematic approach to designing monitoring for services: identifying key metrics that reflect system health and user experience, understanding the difference between vanity metrics and meaningful metrics, setting appropriate alert thresholds to catch real problems without causing alert fatigue, designing dashboards for different audiences (engineers vs. executives), understanding cardinality and its implications for time-series databases. The job specifically asks about developing monitoring strategies for services without existing monitoring - this requires systematic thinking about what matters. Understanding the relationship between monitoring and SLOs: monitoring should track whether you're meeting your service objectives.
Practice Interview
Study Questions
Onsite Round 2 - AWS Services and Cloud Infrastructure
What to Expect
This onsite round focuses on AWS services, cloud infrastructure design, and hands-on AWS capabilities relevant to SRE work. You'll discuss AWS services mentioned in the job description (EC2 for compute, RDS for managed databases, CloudWatch and CloudTrail for monitoring), container orchestration with ECS and EKS, and infrastructure design on AWS. Questions will likely include practical scenarios: setting up disaster recovery with RPO and RTO targets, implementing centralized logging in AWS for observability, scaling RDS databases for performance, troubleshooting common AWS issues like RDS high CPU usage or EC2 connectivity problems, and securing credentials for automation. The interviewer expects familiarity with AWS services, understanding how they support reliability and scaling, and ability to discuss infrastructure design and operational challenges specific to AWS environments. You'll be evaluated on AWS knowledge depth appropriate for entry-level and your ability to think through infrastructure reliability.
Tips & Advice
Build hands-on AWS experience using the AWS free tier. Create EC2 instances, understand instance types and security groups, experiment with auto-scaling groups. Launch RDS databases, understand database performance metrics, and practice performance troubleshooting. Set up CloudWatch monitoring, create custom metrics and dashboards, and understand alarms. Study CloudTrail for API audit logging. Explore container options: ECS (AWS's container orchestration) and EKS (Kubernetes on AWS). Understand key architecture patterns: multi-AZ deployments for high availability, read replicas for scaling reads, cross-region replication for disaster recovery. Study RPO (Recovery Point Objective - how much data loss is acceptable) and RTO (Recovery Time Objective - acceptable recovery time). Practice discussing disaster recovery scenarios. Understand AWS IAM for securely managing credentials in automation. For entry-level, focus on fundamental AWS knowledge and basic troubleshooting rather than advanced architecture. Be ready to discuss how AWS services support the reliability goals mentioned in SLOs. Understand the specific scenarios mentioned in search results: RDS CPU issues, EC2 connectivity problems, scaling strategies, and logging setup.
Focus Topics
Infrastructure as Code and Automation on AWS
Understanding Infrastructure as Code (IaC) principles: treating infrastructure as code that can be versioned, tested, and deployed systematically. CloudFormation as AWS's native IaC tool. The job mentions tools like Terraform (multi-cloud IaC), Ansible (configuration management), Chef (configuration management), and Puppet (configuration management). Understanding why IaC matters for SRE: consistency, repeatability, and automated deployment. For entry-level, focus on understanding the concept and importance rather than mastering specific tools.
Practice Interview
Study Questions
AWS Disaster Recovery and High Availability Architecture
Concepts of RPO (Recovery Point Objective - acceptable data loss) and RTO (Recovery Time Objective - acceptable downtime). Multi-AZ deployments for automatic failover. Cross-region replication for geographic disaster recovery. Backup strategies: automated snapshots, backup retention policies, point-in-time recovery capability. Testing disaster recovery plans regularly. Using services like Route 53 for DNS failover, S3 for data replication, and RDS Multi-AZ or read replicas for database redundancy. For entry-level, focus on understanding these concepts rather than designing complex disaster recovery solutions.
Practice Interview
Study Questions
AWS RDS and Managed Databases
Understanding RDS for managed relational databases (mentioned in job posting). Database performance optimization: understanding IOPS, storage types, instance types. Scaling strategies: read replicas to handle increased read traffic, vertical scaling to larger instances. Multi-AZ deployments for high availability and automatic failover. Backup and recovery: automated backups, point-in-time recovery, snapshot management. Understanding common performance issues like high CPU usage and systematic troubleshooting. For entry-level, focus on basic concepts and optimization strategies at a conceptual level rather than advanced DBA tasks.
Practice Interview
Study Questions
AWS Monitoring: CloudWatch and CloudTrail
CloudWatch as AWS's primary monitoring service: metrics collection from AWS services and custom applications, logs ingestion and analysis, dashboards for visualization, alarms for alerting. Understanding CloudWatch's integration with other AWS services. CloudTrail for API audit logging - tracking who called what AWS API when. Understanding the difference and complementary roles: CloudWatch is operational metrics and logs; CloudTrail is audit and compliance. Using both for observability and incident response. The job mentions using these tools; search results specifically discuss them as central to AWS SRE.
Practice Interview
Study Questions
AWS EC2 and Compute Infrastructure
Understanding of EC2 instances: instance types, how to select appropriate types for workloads, instance lifecycle, security groups for network access control, network ACLs for subnet-level filtering. Understanding Auto Scaling Groups for automatically scaling capacity based on load or schedules. Knowledge of ECS (Elastic Container Service) for running containerized applications and EKS (Elastic Kubernetes Service) for Kubernetes on AWS - the job mentions container orchestration with Docker/Kubernetes. Familiarity with Elastic Load Balancing for distributing traffic. Understanding EC2-related issues and troubleshooting like connectivity problems or performance degradation.
Practice Interview
Study Questions
Onsite Round 3 - Incident Response, Debugging, and Problem-Solving
What to Expect
This onsite round focuses on practical incident response capabilities, complex problem-solving, and debugging skills across distributed system stacks. You'll work through realistic incident scenarios and demonstrate your troubleshooting methodology. The job description emphasizes 'debugging complex problems across an entire stack.' You might work through scenarios from the search results: RDS experiencing high CPU usage, EC2 instances not reachable, service latency degradation, or cascading failures in microservices. The interviewer will present problems with incomplete information, requiring you to ask clarifying questions, systematically gather diagnostic data, form hypotheses about root causes, and drive toward resolution. Your communication about your thinking process is as important as the technical conclusions. The round evaluates your incident response instincts, debugging methodology, use of available tools, ability to navigate uncertainty, and collaborative problem-solving skills.
Tips & Advice
Prepare for realistic incident scenarios using examples from the search results: RDS CPU usage spikes, EC2 connectivity problems, performance degradation, cascading failures. Practice structured troubleshooting: clearly define the problem, systematically gather diagnostic data (metrics, logs, traces, system state), form testable hypotheses, test them methodically, and identify root causes. Think out loud during the interview - explain your reasoning and diagnostic choices as you work through scenarios. Know what tools you'd use: system monitoring (CloudWatch, Prometheus), logging (CloudWatch Logs, ELK), tracing (AWS X-Ray), and diagnostics (top, ps, netstat, etc.). Prepare concrete examples of complex problems you've solved, even from coursework, labs, or personal projects if you're entry-level. Understand the complete incident cycle: detection (what alerted?), triage (how severe?), diagnosis (what's wrong?), mitigation (stop the bleeding), resolution (fix the root cause), and post-incident review (prevent recurrence). Practice explaining technical details to non-technical people - communication is key in incident response. Show comfort with uncertainty - real incident response involves incomplete information and requiring additional investigation. Demonstrate learning mindset - ask about root causes and what preventive measures could help.
Focus Topics
Communication and Documentation in Incident Response
Clear communication during and after incidents: explaining technical issues to various audiences (engineers, managers, customers), providing timely status updates, documenting timeline of events, and capturing lessons learned. Writing effective runbooks and playbooks for common problems to enable faster future responses. Post-incident documentation of root cause, timeline, contributing factors, and action items. The job mentions writing, updating, and using documentation including runbooks.
Practice Interview
Study Questions
Troubleshooting AWS-Specific Scenarios
Practical troubleshooting of common AWS problems: RDS high CPU usage (causes: slow queries, insufficient resources, schema issues), EC2 connectivity issues (causes: security groups, network ACLs, route tables, instance status), performance degradation (causes: resource exhaustion, network saturation, application issues), and cascading failures in microservices. For each scenario, understand diagnostic approach: what metrics to check, what logs to examine, what AWS tools to use (CloudWatch, CloudTrail, VPC Flow Logs), and systematic resolution. For entry-level, methodology matters more than knowing every specific solution.
Practice Interview
Study Questions
Post-Incident Reviews and Blameless Culture
Understanding purpose and process of Post-Incident Reviews (PIRs): analyzing what happened objectively without blame, identifying contributing factors and root causes, determining what enabled the incident to happen, implementing preventive measures to reduce recurrence probability. Understanding blameless culture principles: focusing on system factors rather than individual failures, psychological safety for team members to discuss issues openly, treating incidents as learning opportunities. The job mentions conducting post-incident reviews as an explicit responsibility.
Practice Interview
Study Questions
Structured Incident Response and Triage
Systematic incident response framework: initial rapid assessment to understand the problem's nature and severity, triage to prioritize impact, quick diagnosis to identify issues (keeping MTTD - Mean Time To Detect - low), focused resolution (keeping MTTR - Mean Time To Repair - low), and post-incident review to prevent recurrence. Understanding severity levels and appropriate escalation. Using runbooks and playbooks for common issues to speed response. Communication during incidents: keeping relevant teams and stakeholders informed, clear status updates. The job mentions on-call rotations and incident response as core responsibilities.
Practice Interview
Study Questions
Complex Debugging Methodology Across System Stacks
Systematic debugging approach for distributed systems: clearly defining the problem and scope, gathering diagnostic information from multiple sources (metrics, logs, traces, system state), understanding the complete request/response flow, identifying where in the stack the problem manifests, working backward to potential root causes, forming testable hypotheses, and testing them methodically. Understanding how components interact and identifying potential failure points. Avoiding assumption bias and considering unexpected interactions. The job emphasizes 'debugging complex problems across an entire stack.'
Practice Interview
Study Questions
Onsite Round 4 - Behavioral and Amazon Leadership Principles
What to Expect
This final onsite round focuses on cultural fit, behavioral competencies, and alignment with Amazon's Leadership Principles. You'll discuss past experiences demonstrating principles like Customer Obsession, Ownership, Invent and Simplify, Learn and Be Curious, Deliver Results, Have Backbone and Disagree and Commit, Earn Trust, and Bias for Action. The interviewer will ask about your experience collaborating with teams, handling failures, demonstrating initiative, and learning from challenges. For the SRE role specifically, expect questions about your learning mindset regarding new technologies, how you work with development and operations teams to improve reliability, your approach to on-call responsibilities and incident handling, your philosophy on balancing innovation with stability, and your commitment to continuous improvement. The interviewer wants to understand not just your technical skills but whether you embody Amazon's values and would thrive in the Amazon culture.
Tips & Advice
Research Amazon's Leadership Principles thoroughly - they are central to all Amazon hiring and culture. There are 14 principles; learn each one deeply. Prepare specific STAR method examples (Situation, Task, Action, Result) that demonstrate each principle, with emphasis on principles most relevant to SRE: Ownership, Learn and Be Curious, Deliver Results, Invent and Simplify, and Have Backbone and Disagree and Commit. For entry-level, select stories showing eagerness to learn, collaborative spirit, and responsibility within your scope. Prepare examples of times you failed or made mistakes and what you learned - Amazon values learning from failure and continuous improvement. Discuss your understanding of on-call responsibilities and why reliability matters to customers and business. Show genuine excitement about the SRE role and growth opportunities. Practice articulating Amazon's principles naturally rather than sounding rehearsed. Be authentic - Amazon interviewers can detect insincerity. For entry-level, emphasize growth potential, learning mindset, and collaborative approach over years of experience. Prepare questions for the interviewer showing genuine interest in the role and Amazon's culture.
Focus Topics
Collaboration and Working Across Teams
Effective collaboration with development teams, operations teams, and other departments to improve reliability. Understanding the partnership between SREs and developers - not adversarial but collaborative. Clear communication about SLOs, reliability goals, and on-call responsibilities. Supporting colleagues and contributing to team success. The job explicitly mentions 'working closely with internal partners and teams' on security, SLA, and performance requirements.
Practice Interview
Study Questions
Amazon Leadership Principle: Deliver Results
Focusing on achieving outcomes and making progress toward goals despite obstacles. Understanding prioritization and making pragmatic trade-offs when needed. For entry-level, this includes completing assigned work reliably, having accountability for commitments made, and driving work toward completion. Understanding that delivering results builds credibility and trust.
Practice Interview
Study Questions
Growth Mindset, Resilience, and Learning from Failure
Demonstrating how you learn from mistakes and setbacks. Showing curiosity about why things failed and commitment to preventing recurrence. Understanding that incidents are learning opportunities, not shame situations. For entry-level, sharing examples of challenges you've overcome, mistakes you've learned from, and how you've applied those lessons. Demonstrating resilience and determination when facing obstacles.
Practice Interview
Study Questions
Amazon Leadership Principle: Learn and Be Curious
Commitment to continuous learning and intellectual curiosity. For entry-level candidates, this is particularly important - Amazon hires for learning potential. Demonstrating openness to feedback, willingness to experiment with new technologies, and active seeking of growth opportunities. Showing curiosity about how systems work and why things work the way they do. Embracing the SRE philosophy of continuous improvement and getting better every day.
Practice Interview
Study Questions
Amazon Leadership Principle: Ownership
Taking responsibility for outcomes within your scope, thinking long-term, and not passing problems to others. For entry-level SREs, this means taking initiative on assigned services, following problems through to resolution, and caring deeply about results. Demonstrating accountability even when things are challenging or when you lack complete information. Understanding on-call responsibilities as direct ownership of systems and commitment to their reliability.
Practice Interview
Study Questions
Amazon Leadership Principle: Customer Obsession
Deep focus on customers and their satisfaction. For SREs, 'customers' include both internal development teams and external users. Demonstrating how your reliability work directly impacts customer experience - system uptime, performance, and security all matter to users. Ability to prioritize work based on customer impact rather than internal convenience. Understanding that Amazon's long-term success depends on earning customer trust through consistent, reliable service.
Practice Interview
Study Questions
Frequently Asked Site Reliability Engineer (SRE) Interview Questions
You observe that a recently deployed model is causing increased tail latency and occasional request timeouts. Outline a troubleshooting checklist to diagnose and fix the issue: what monitoring signals you'd check, when a quick rollback is warranted, and what the long-term fix would look like.
Sample Answer
Direct answer. A deployed model causing latency and timeouts needs the same deploy-correlated-regression discipline as any other release, with one added wrinkle: the change might be in the model's OWN inference cost, not in any surrounding code, so the checklist has to include the model's behavior specifically, not just the service wrapping it.
Structured elaboration.
- Monitoring signals to check first. Inference latency specifically, separated from the rest of the request's processing time, tells you whether the model itself is the slow part or something else in the request path is. Request volume and payload characteristics (are inputs larger or more complex than before, which some models process more slowly) matter too, since a latency increase proportional to a change in INPUT characteristics points differently than a latency increase that's uniform regardless of input.
- Compare the new model version against the previous one directly, ideally with the same inputs: if you can run both versions side by side (even just for a diagnostic sample, not necessarily serving traffic), a direct latency comparison on identical inputs isolates whether the model itself got slower, independent of any deployment or infrastructure change that happened at the same time.
- Check whether it's a resource problem rather than a model problem, the same categories as any other latency investigation: is the serving infrastructure (the compute the model runs on) appropriately sized for this model version, since a larger or more complex model can need meaningfully more resources than its predecessor even if its code path is 'the same' service.
- Quick rollback as an immediate option, the same as any deploy-correlated regression, buys time regardless of which specific mechanism (model complexity, resource sizing, or a code bug elsewhere) turns out to be the cause.
- Long-term fixes, once the mechanism is understood. If it's model complexity: consider whether the accuracy improvement justifies the latency cost, and whether techniques like a lighter model for latency-sensitive paths, batching, or hardware acceleration are viable. If it's resource sizing: right-size the serving infrastructure for the new model's actual requirements. If it's a request-timeout configuration that simply wasn't updated for the new model's baseline latency: adjusting the timeout is a valid fix ONLY if the new latency is genuinely acceptable and expected, not a way to paper over an unexpected regression.
Worked example. Suppose direct side-by-side comparison on identical inputs shows the new model version takes roughly 180ms per inference versus the previous version's 60ms, a real 3x increase attributable to the model itself, not surrounding code, and this tracks with the new version having meaningfully more parameters to improve accuracy. Checking whether accuracy improved enough to justify that cost (a product and engineering judgment call, not a purely technical one) and checking whether the serving infrastructure has meaningfully underutilized capacity that could absorb the added compute cost (batching multiple requests together, for example, if the model architecture supports it) are the two threads worth pulling before deciding between accepting the added latency, tuning it down through batching or hardware acceleration, or rolling back to the faster, less accurate previous version.
Trade-offs and pitfalls. It's easy to assume a latency regression after a model deploy is a bug, when sometimes it's an expected, if under-communicated, trade-off (a genuinely more capable model that's also genuinely more expensive to run); the direct side-by-side timing comparison is what distinguishes 'this is working as intended, just more expensive' from 'something is actually broken'. Adjusting a downstream timeout to accommodate a new, higher baseline latency is a legitimate fix only when that baseline is itself acceptable; silently raising a timeout to make timeouts stop happening, without confirming the new latency is actually fine for users, just hides the regression from monitoring rather than fixing anything.
What's the difference between a Gateway VPC endpoint, an Interface VPC endpoint, and PrivateLink? When would you reach for each, and how do they compare to routing through a NAT Gateway for private access to AWS services?
Sample Answer
Direct answer
A Gateway Virtual Private Cloud (VPC) endpoint is a route-table target, available only for Amazon S3 and DynamoDB, that keeps traffic on the AWS backbone at no hourly or per-GB endpoint charge. An Interface VPC endpoint is an Elastic Network Interface (ENI) with a private IP in your subnet, backed by AWS PrivateLink, and it covers a much broader set of AWS services (and third-party/partner services) at a per-hour-plus-data-processing cost. AWS PrivateLink is the underlying private-connectivity technology: Interface endpoints are how you consume a PrivateLink-powered service, and you can also publish your own service over PrivateLink for other VPCs or accounts to consume as an Interface endpoint.
Gateway vs. Interface vs. PrivateLink
| Gateway endpoint | Interface endpoint (PrivateLink consumer) | PrivateLink (as provider) | |
|---|---|---|---|
| Mechanism | Route table entry | ENI in your subnet | NLB-fronted service exposed to other VPCs/accounts |
| Service coverage | S3 and DynamoDB only | Most AWS services, many AWS Marketplace and partner SaaS integrations | Your own internal service or SaaS offering |
| Cost | No hourly or data-processing charge | Hourly per-AZ charge plus data processing | Same as Interface endpoint, from the consumer's side |
| Access control | Endpoint policy + AWS Identity and Access Management (IAM) | Endpoint policy + IAM + security groups + Network ACLs | Endpoint policy on the consumer side; connection-acceptance and permissions on the provider side |
| DNS | No change needed; route table redirects existing S3/DynamoDB calls | Private DNS optionally overrides the public service hostname | Provider-controlled private DNS name, optionally verified custom domain |
Reaching each one, and how PrivateLink is set up as a provider
As a consumer, the practical rule of thumb is: reaching S3 or DynamoDB privately from a VPC, use a Gateway endpoint first, since it's free and simplest. Reaching anything else AWS-native (Amazon Simple Queue Service, Key Management Service, Systems Manager, and so on) or a partner SaaS product, use an Interface endpoint.
As a provider, publishing your own service over PrivateLink requires a Network Load Balancer (or Gateway Load Balancer for the virtual-appliance use case) in your VPC: consumers never reach your service directly, they reach the NLB through their Interface endpoint's ENI. The setup sequence is: create the NLB with targets registered across each Availability Zone you want to serve, create a VPC Endpoint Service pointing at that NLB, decide whether connection requests require manual acceptance or are auto-accepted, and grant specific consumer AWS principals permission to connect. The consumer side then creates a standard Interface endpoint against your service's name and, if acceptance is required, waits for you to accept the connection before traffic flows.
Comparing to NAT Gateway and Transit Gateway
Versus NAT Gateway: a Network Address Translation (NAT) Gateway routes private-subnet traffic out to the public internet (or to AWS services over their public endpoints) and back, incurring per-GB data processing charges and a hop that leaves the AWS backbone. Both endpoint types replace that NAT hop for the specific service they cover, and only for that service: an S3 Gateway endpoint eliminates NAT-Gateway charges for S3 traffic specifically, it doesn't touch NAT usage for anything else the subnet reaches over the internet.
Versus Transit Gateway, for cross-account data access: VPC endpoints and PrivateLink solve service-level private access (reaching an API or an AWS service), not general network-level connectivity between VPCs. A common point of confusion is trying to reach a shared Amazon Relational Database Service (RDS) database across accounts: RDS doesn't publish an AWS-managed Interface endpoint for the database engine port itself, only for its control-plane API. For that pattern, the real choice is between Transit Gateway (hub-and-spoke routing connecting the VPCs so the consumer reaches the database's private IP directly) or a self-managed PrivateLink setup (fronting the database port with your own NLB and publishing it as an endpoint service) when you specifically want to avoid full network-level peering and instead expose just that one port to just the approved consumer accounts. Transit Gateway is simpler when the accounts already need broad VPC-to-VPC connectivity; a self-managed PrivateLink NLB is the tighter-blast-radius option when you want to expose exactly one service without opening general routing between the VPCs.
Trade-offs and pitfalls
- Gateway endpoints have no security groups; access control is entirely IAM plus the endpoint policy, which is a different mental model than Interface endpoints, where security groups on the ENI are an additional layer.
- Interface endpoint cost adds up across many AZs and many services if applied indiscriminately; it's worth checking which services genuinely need private connectivity versus which ones are fine reached over the AWS-internal path some services already use.
- Private DNS misconfiguration is the most common Interface-endpoint failure mode: if private DNS isn't enabled correctly, application code calling the standard public service hostname keeps routing out through the internet or NAT path instead of the endpoint, silently defeating the whole point.
- A self-managed PrivateLink NLB for cross-account database access adds an extra hop and a component you now operate (the NLB, target health checks, endpoint-service permissions), which is real operational cost against the security benefit of not opening full network routing.
When a compliance, legal, or security constraint is genuinely non-negotiable, how does that change the way you do trade-off analysis? Give an example where a constraint like that eliminated an otherwise-attractive option outright.
Sample Answer
Direct answer
A genuinely non-negotiable constraint (a legal, regulatory, or security requirement with no waiver path) changes trade-off analysis from optimizing across all options to first pruning the option set down to only what's compliant, and only then optimizing cost, performance, or time-to-market among what's left. It doesn't get a weight in a scoring matrix alongside other factors; it eliminates options before scoring starts.
Structured elaboration
Treat a hard constraint as a filter applied in a distinct first pass, before any cost or performance comparison: list every candidate architecture, remove any that violate the constraint outright (not "weight them lower", remove them), and only run the normal trade-off analysis (cost, latency, time-to-market) across what survives. This ordering matters because scoring an already-infeasible option wastes analysis effort and can create a false sense that it was seriously considered.
Two realistic examples of constraints that eliminate options outright, not just penalize them:
PCI-DSS (Payment Card Industry Data Security Standard) card-data scope. If a design stores raw card numbers to power broader analytics, that option is gone the moment PCI-DSS applies, regardless of how much better the analytics would be; the only surviving options tokenize card data (replace the real card number with a random, non-sensitive placeholder token that maps back to it only inside the certified payment vault) or route it through an already-certified payment gateway.
Regulatory data residency. A requirement that a jurisdiction's data (for example, European Union customer data under data-protection law) must remain within that jurisdiction's borders eliminates any single-region deployment outside it outright, even if that region is meaningfully cheaper or already has spare capacity; there's no scoring adjustment that makes a non-compliant region viable.
Worked example
An illustrative scenario: a new payments feature needs to store transaction detail for both fraud analytics and customer support. Three candidate designs exist: (A) store full raw card data plus transaction detail for maximum analytics flexibility, (B) tokenize card data and store only tokens plus transaction metadata, (C) tokenize card data and additionally keep only aggregated, non-identifying analytics rather than per-transaction detail. Once PCI-DSS scope is applied as a hard filter, option A is eliminated outright, not down-weighted, because storing raw card data outside a certified, PCI-scoped environment isn't a slower or costlier version of the same design, it's a design that isn't legally available. The remaining trade-off analysis, cost and analytics fidelity, runs only between B and C: B keeps more per-transaction detail at a higher tokenization and storage cost (illustratively, storing a token plus full transaction metadata for 10 million transactions/month at roughly $0.0004/record runs about $4,000/month), C is cheaper (aggregating to per-customer monthly summaries cuts that record volume by roughly 95%, to around $200/month) but sacrifices per-transaction granularity for fraud analysis. That second-stage comparison is where a normal cost-vs-capability trade-off analysis applies; the first stage had none, only elimination.
Trade-offs & pitfalls
- The most common mistake is treating a hard constraint as one more weighted factor in a scoring matrix; that understates it and risks a stakeholder pushing back with "can we just accept a bit more risk here," when the honest answer is there's no risk-acceptance path available.
- Document what was eliminated and why, not just what was chosen; a stakeholder who wasn't in the room needs to see that the more attractive option was never actually on the table, not that it lost a close call.
- Distinguish a genuinely non-negotiable constraint from a strongly-preferred one; treating a soft preference as a hard filter needlessly shrinks the option set and can be walked back once challenged, which undermines trust in the rest of the analysis.
- Residual risk still needs to be documented and mitigated even after the hard filter is applied; "compliant" doesn't mean "risk-free," it means the specific eliminated risk is off the table.
Explain what a microservices architecture is and how it differs from a monolithic architecture. Cover how service boundaries and deployment differ between the two styles, and the main trade-offs across development velocity, operational complexity, testing, and fault isolation. Give one concrete scenario where you would recommend a monolith and one where you would recommend microservices.
Sample Answer
Direct answer
A monolith is a single deployable unit that contains all of an application's functionality and typically talks to one shared database. A microservices architecture splits that functionality into a set of independently deployable services, each owning its own data and communicating with the others over the network (HTTP, gRPC, or messaging). The core trade-off is operational and organizational complexity (many moving parts, network calls where there used to be function calls) traded for independent deployability and independent scaling of each piece.
Structured elaboration
Four dimensions decide which style fits a given system:
- Deployability: in a monolith, every release ships the whole application together, so a one-line change and a schema migration go out in the same deploy. In microservices, each service ships on its own schedule, but that independence only pays off once you also have per-service CI/CD, versioned contracts between services, and a way to test one service's change without spinning up the whole system.
- Team scaling: a monolith lets a handful of engineers move fast because there is one codebase and one deploy pipeline to reason about. As the team grows past roughly 20-30 engineers, a shared codebase and shared release train start to produce merge contention and "who owns this file" ambiguity; independently-owned services give each team a boundary to work inside without coordinating every change with everyone else.
- Scaling the system: a monolith scales by running more copies of the whole application, even if only one code path (say, search) is actually hot. Microservices let you scale the hot path's service independently, at the cost of running and monitoring more separate processes.
- Operational overhead: a monolith has one thing to deploy, log into, and page on-call for. Microservices multiply that by the number of services: more deployment pipelines, more inter-service contracts to keep backward-compatible, more places a request can fail partway through, and a genuinely different debugging experience (a single stack trace becomes a distributed trace across several services).
Worked example
A payments feature that reconciles overnight batches for one company and needs to add a new reconciliation rule once a quarter is a poor fit for microservices: the team is small, the release cadence is low, and there is no independent-scaling need, so a monolith (or a module inside one) minimizes operational overhead for the actual rate of change. A checkout system at a retailer during a high-traffic sale, by contrast, needs to scale the payment-authorization path independently of the product-catalog browsing path, and different teams own each; that combination of an independent-scaling need and independent-team-ownership need is what makes the added operational cost of a separate service worth paying.
Trade-offs and pitfalls
The most common mistake is treating microservices as inherently "better" architecture rather than a trade of operational complexity for independent deployability and scaling. A small team adopting microservices before it has the release cadence, team count, or scaling need to justify it typically pays the distributed-systems tax (network failures, harder debugging, contract versioning) without getting the corresponding benefit. The reverse mistake, staying monolithic well past the point where deployment coordination and scaling mismatch are actively slowing the team down, is just as real; the earlier answer about a modular monolith gives one commonly-used middle ground between the two.
How do you define measurable acceptance criteria for a corrective action, and what verification plan confirms the fix actually reduced recurrence rather than just looking plausible on paper? Walk through an example: reducing a service's timeout rate from a higher baseline to a specific target over a defined window.
Sample Answer
Direct answer
Acceptance criteria for a corrective action should be a specific, measurable, time-boxed statement of what 'fixed' looks like, defined before the work starts, not after. A verification plan then confirms that criterion is actually met using real data, not just confidence that the fix was implemented correctly.
Structured elaboration
- Define the metric and target explicitly. Not 'reduce timeouts' but 'reduce the service's timeout rate from its current baseline to a specific target percentage, measured over a specific window.' A vague criterion can't be verified; a specific one can.
- Set a monitoring window long enough to be meaningful. Too short a window risks declaring success on noise; too long delays knowing whether the fix worked. The right window depends on the incident's natural frequency, for example enough days to capture a representative mix of peak and off-peak traffic.
- Separate short, medium, and long-term verification. Immediately after deploying the fix: a targeted test or synthetic check confirms the mechanism works as intended. Over the following weeks: real production monitoring against the target metric confirms it holds under real conditions, not just in a controlled test. Longer term: a periodic audit or scheduled re-check confirms the improvement is durable and hasn't quietly regressed.
- Define what "success" and "failure" mean numerically in advance, including what would trigger reopening the item if the target isn't met, so there's no ambiguity or motivated reasoning once the data comes in.
- Name who signs off, so verification isn't just a self-assessment by whoever implemented the fix.
Worked example
A corrective action targets reducing a service's timeout rate from 0.5% to 0.05% within 30 days. Acceptance criteria: timeout rate, measured as a 7-day rolling average, must be at or below 0.05% for two consecutive weeks within the 30-day window, using the same monitoring dashboard and definition of 'timeout' used to measure the original 0.5% baseline. Verification plan: short-term, a synthetic load test immediately after deploy confirms the fix reduces timeout rate under simulated peak load; medium-term, the real 7-day rolling average is checked weekly against the target for the full 30 days; long-term, the metric is re-checked at 90 days to confirm it hasn't quietly crept back up as traffic patterns shift. If the 30-day window ends with the metric at 0.15%, that's a defined failure, not an ambiguous 'mostly worked,' and it triggers a re-investigation of whether the fix addressed the actual root cause or only a symptom.
Trade-offs and pitfalls
The most common mistake is defining acceptance criteria loosely enough that almost any outcome can be called success, which defeats the purpose of having criteria at all. A second is skipping the longer-term recheck: many fixes look successful in the first two weeks and then quietly regress as conditions change, and without a scheduled longer-term verification, that regression goes unnoticed until the incident recurs.
A host is showing high memory usage. Describe how you would use the free command and other tools to interpret memory and swap usage. What indicators tell you that swapping is harming performance versus being benign? Include commands and a brief interpretation guide.
Sample Answer
Direct answer
Start with free -h to get the shape of the problem (total memory, how much is genuinely used versus reclaimable cache, and whether swap has been touched at all), then use vmstat 1 to watch swap-in/swap-out activity over several seconds. A single non-zero swap value in free is not an incident. Swapping is only hurting you when the swap-in/swap-out columns in vmstat stay non-zero for sustained periods while CPU time shifts into wait-for-I/O (wa), because that means the kernel is actively paging memory that a running process needs right now, not just quietly parking cold pages.
Reading the tools
free -h columns, and the two traps in them:
usedis memory actively allocated by processes and the kernel (excluding reclaimable cache).buff/cacheis the page cache and buffer cache: memory Linux is using opportunistically to speed up disk I/O. It is reclaimable on demand, so it is not "wasted" memory even though it shows up as a large number.availableis the number that matters for "am I about to run out of memory": an estimate of how much memory could be given to a new process right now without swapping, after accounting for reclaimable cache. A host withusedat 90% butavailablestill comfortably above zero is healthy.- The
Swap:row showsused(swpd): how much has ever been paged out and not yet reclaimed. Non-zero is normal on almost every long-running Linux host.
vmstat 1 (sampling every second) adds the time dimension free lacks:
si/so(swap-in / swap-out) in KB/s: this is the number that separates benign from harmful. A one-time blip when a rarely-used background job's cold pages got swapped out is fine. Sustained non-zerosiandsoacross many samples means pages are being evicted and then immediately needed again: the kernel is thrashing.wain the CPU section: percentage of CPU time spent waiting on I/O. Risingwaalongside non-zerosi/sois the strongest signal that swapping is actually costing you latency, because every page fault that has to go to disk stalls the requesting thread.
Supporting tools:
top/htop: per-processRES(resident memory) versus a swap column, and system-wide%wa.cat /proc/meminfo:MemAvailable,Active,Inactive,Dirtyfor a finer-grained snapshot thanfreegives.sar -W 1 5(from thesysstatpackage, if installed) to log swap activity over a window, useful for building a trend rather than a single sample.ps aux --sort=-%memorsmem -tkto find which process holds the largest resident set, andgrep VmSwap /proc/<pid>/statusto find which process is actually the one sitting in swap.
Worked example
On a lightly loaded host, free -h might read:
total used free shared buff/cache available
Mem: 16Gi 841Mi 14Gi 23Mi 614Mi 14Gi
Swap: 16Gi 0B 16Gi
Here used is small, available is nearly the whole box, and swap is untouched: nothing to investigate.
Now take a scenario where vmstat 1 10 shows si around 1200 and so around 800 (KB/s) on every sample, with wa sitting at 30-35%. Do the arithmetic on so: at a 4 KiB page size, 800 KB/s of swap-out is roughly 800 / 4 = 200 pages evicted per second. If each of those pages later has to be faulted back in from swap at a conservative 2 ms of added latency (typical for a busy block device under contention, not a bare SSD spec sheet number), that is 200 x 2 ms = 400 ms of extra latency being injected into the workload every second, on top of whatever the application would normally take. That is not a rounding error: it is enough to turn a snappy service into one users describe as "randomly slow," and it recurs every second the pattern holds, unlike a one-off swap-out that never gets touched again.
Trade-offs and pitfalls
- The most common misdiagnosis is alarm over the
usedorbuff/cachenumbers infreeinstead ofavailable. A host can look "90% full" and be completely healthy. - Swap size is not a fix for a host that is genuinely undersized for its workload. Adding more swap just delays the point where things get slow; it does not remove the underlying memory pressure, and once you are thrashing, more swap space means the thrashing has more room to get worse, not that it stops.
- There is a real trade-off in removing swap entirely on a memory-constrained host: with swap present, the system degrades gracefully (slow) under pressure; with no swap, the kernel's OOM killer (out-of-memory killer, the mechanism that force-terminates a process, chosen by an
oom_scoreheuristic, when the system cannot free enough memory another way) steps in sooner and kills something outright. Neither is automatically "better": a service that would rather fail fast and restart than serve degraded latency may prefer no swap; a service where any downtime is worse than slowness wants swap as a shock absorber. - Treat this as one sample point, not a verdict: always take several
vmstatsamples over time before deciding a host is thrashing, since a single second ofsi/soactivity coinciding with, say, a cron job waking up is not the same signal as a sustained pattern.
You're seeing intermittent packet loss across a WAN path with no obvious pattern, and a single capture hasn't caught it. Describe how you'd build an investigation that can catch a transient, hard-to-reproduce loss event: what you'd monitor continuously versus capture on demand, and how you'd correlate what you find back to a specific device or segment.
Sample Answer
Direct answer
When intermittent WAN packet loss has no clear pattern and a single capture hasn't caught it, shift from "try to catch it with one well-timed capture" to a continuous, layered monitoring strategy: cheap, always-on active probing plus passive telemetry running constantly, so the next occurrence is caught automatically rather than requiring lucky timing.
Structured elaboration
- Active probing, continuously, not as a one-off test: ongoing
mtror scheduled ping/traceroute runs (not a single manual invocation) build a TIME SERIES of loss and latency per hop, so a transient event that a single capture would need luck to catch shows up automatically in the continuous record. - Passive telemetry, running in parallel: interface error/drop counters and syslogs, collected continuously (not just checked reactively after a report), provide corroborating evidence for whatever the active probes catch, and can sometimes catch an event the probes themselves miss (if the loss doesn't happen to coincide with a probe's specific timing).
- Correlate against anything scheduled: cron jobs, batch processes, or maintenance windows running on any device along the path; intermittent-with-no-obvious-pattern very often correlates with something ELSE that's periodic but wasn't initially considered part of the network picture at all.
- Use specialized tools for path characterization over time:
pathchar-style tools (which estimate per-hop bandwidth and latency characteristics) andtcptraceroute(which can succeed through paths that filter plain ICMP) add detail continuous mtr/ping alone might miss, particularly on paths where policy filters ICMP inconsistently. - Design the long-term alerting strategy around the SAME continuous data: rather than building a separate, one-off investigation tool, feed the continuous active-probe and passive-telemetry data into standing alerting that flags a loss spike automatically going forward, so future transient events are caught the moment they start, not discovered after a customer reports impact.
- Root-cause attribution across multiple providers: where the path crosses more than one provider's network, correlate loss events against publicly available provider status information and your own multi-vantage-point probing (probing FROM more than one location) to attribute which segment or provider is actually responsible, since a single vantage point can't distinguish "problem near me" from "problem near the destination."
Worked example
Continuous mtr running for several days finally catches a 3% loss event at one specific hop, occurring for roughly 90 seconds, three times over that period, at no consistent time of day. Cross-referencing against passive telemetry from a device near that hop (where accessible) shows a brief interface utilization spike correlated with exactly those three windows; further correlation against a third-party provider's own maintenance-notification feed reveals a bandwidth-limited maintenance activity was running on their side during those exact windows. This attribution, only possible because continuous monitoring was already running when the event occurred, would have been essentially unreachable from a single, manually-timed capture attempt.
Trade-offs & pitfalls
Continuing to attempt single, manually-timed captures for a genuinely intermittent, no-pattern event wastes effort on a strategy fundamentally unlikely to succeed by chance; shifting to continuous, always-on monitoring (even if lower-fidelity per data point than a full capture) is what actually catches this class of problem. Be deliberate about correlating against BOTH your own scheduled activity and any third-party provider's, since attributing root cause across providers specifically requires external corroboration your own telemetry alone can't provide.
Walk me through blue-green versus canary deployment from an infrastructure perspective; when would you reach for each? Think about traffic routing, resource duplication, cost, and what gets harder when a database schema change is part of the rollout.
Sample Answer
Direct answer
Blue-green gives you a full, already-validated environment and an instant, simple rollback, at the cost of running two complete copies of your infrastructure during the change; canary gives you gradual, lower-risk validation at the cost of more routing and monitoring complexity, and it is harder to reason about while it is in flight. Pick blue-green when a clean, all-or-nothing cutover is affordable and rollback speed matters most; pick canary when the blast radius of being wrong needs to stay small and you can invest in the routing and monitoring to support gradual exposure.
Structured elaboration
Comparison
| Dimension | Blue-green | Canary |
|---|---|---|
| Traffic routing | Atomic cutover: DNS, listener swap, or weight flip to 100% | Gradual: weighted routing or service-mesh rules, ramped over time |
| Resource duplication / cost | Full duplicate environment while both are live, higher but short-lived cost | Only a fraction of the fleet runs the new version at any point, lower peak cost |
| Rollback | Instant, swap back to the known-good environment | Ramp weight back down; usually just as fast, but only a subset of traffic was ever exposed |
| Blast radius if wrong | All traffic hits the new version the moment you cut over | Bounded to the canary percentage until you choose to widen it |
| Operational complexity | Lower: mostly "which environment is live" | Higher: routing rules, staged thresholds, automated promote/rollback logic |
| Database schema changes | Blue and green must both work against the same schema at the moment of cutover, since there is no gradual overlap window; this forces backward and forward compatible migrations (expand, migrate, contract) or a maintenance window | Old and new versions coexist against the same schema for longer, so the compatibility window has to hold for however long the canary runs, not just for an instant |
Other strategies worth naming
Blue-green and canary are not the only tools:
- Progressive expansion: widen the set of inputs a change applies to in stages rather than widening a traffic percentage, for example rolling a new IAM policy or network ACL out to one account, then one region, then everywhere, independent of any single request's traffic path.
- Feature flags for infra: gate exposure to a new code or config path behind a flag rather than, or in addition to, a routing change, so the change can be turned off instantly without touching load-balancer configuration at all. This is especially useful when the change is a behavior toggle inside already-deployed infrastructure rather than a new fleet.
Why this gets harder for networking or storage than for a stateless app release
Blue-green and canary are easy to describe for a stateless app release because the unit being duplicated (a fleet of identical, disposable instances) and the unit being routed (an HTTP request) line up cleanly. That stops being true for infrastructure-level changes:
- Networking: a routing or firewall change often affects an entire connection or an entire flow, not a single request, so traffic cannot always be shifted 5% at a time the way it can with an HTTP load balancer. A stateful TCP connection, a VPN tunnel, or a peering change uses the old path or the new path for its whole lifetime; the workaround is to canary at the level of an entire subnet, account, or long-lived connection cohort rather than per request, and to accept a coarser blast radius.
- Storage: there is no cheap duplicate of a stateful data store the way there is for a stateless instance. Standing up a second, fully synced database is expensive and introduces replication lag as a new failure mode. The common workaround is to validate the new storage layer with shadow traffic or dual writes before anything reads from it in production, and to use expand-then-contract schema migrations so both the old and new consumers can run against the same underlying store during the transition instead of trying to canary the store itself.
Worked example
A schema change on a Postgres-backed service being rolled out with blue-green: adding a NOT NULL column safely requires an expand-then-contract sequence rather than a single migration, because both blue and green must work against the same schema during cutover.
- Expand: add the column as nullable, deploy it (both blue and green tolerate a nullable column).
- Backfill: populate the column for existing rows.
- Cut over blue-green as normal, both versions still tolerate the nullable column.
- Contract: once green is fully promoted and blue is decommissioned, add the
NOT NULLconstraint in a separate migration, since only green's code path needs to rely on it.
This is the same three-step compatibility pattern regardless of whether the deployment strategy is blue-green or canary; what changes is only how long the "both versions must tolerate the old and new shape" window needs to hold.
Trade-offs & pitfalls
- Choosing canary by default because it "sounds safer," without the routing and monitoring maturity to support it, is a common mistake; a canary that cannot actually be measured is worse than a blue-green cutover that can be instantly reversed.
- Forgetting that duplication cost for blue-green is temporal, not permanent, leads teams to avoid it for cost reasons when the actual bill is only for the cutover window.
- Assuming the app-release playbook (weighted HTTP routing) transfers directly to networking or storage changes is the single most common failure mode; check whether the thing being changed is even divisible at the granularity being planned for the canary.
A major outage may affect customers, and you have thirty minutes to brief the C-suite and legal. What do you say, what do you hold back until verified, and how do you line up public statements?
Sample Answer
Direct answer
In thirty minutes I would give the C-suite (the most senior executives, such as the CEO and COO) and legal a short, structured brief that separates confirmed facts from unverified ones and from unknowns, then spend most of the time on decisions and on statements: who speaks, what the holding statement (a short, pre-approved public message that acknowledges the issue without claiming facts we have not confirmed) says, and what gets held back until verified. "Verified" throughout means confirmed by the team that owns the data or system, from evidence such as logs, not from an assumption. The goal is that legal can judge exposure from facts, not from my guesses, and that nothing public contradicts what we later confirm.
Suggested thirty-minute agenda
| Minutes | Content |
|---|---|
| 0 to 5 | Situation: confirmed facts, with timestamps of detection and start |
| 5 to 10 | What is not yet known and what would resolve it |
| 10 to 20 | Customer, contractual and legal exposure: legal's questions |
| 20 to 27 | Decisions and statements: spokesperson, holding text, timing |
| 27 to 30 | Next briefing time and who owns what |
What I say (three buckets)
- Confirmed: we are seeing failures for the checkout service since 13:52 UTC. Customers in all regions are affected. Rollback in progress.
- Suspected, not verified: a recent deploy is the leading suspect.
- Unknown: whether any customer data was exposed or lost, whether payments were charged twice, the full customer count.
I state each bucket in those words. I also say what evidence would move something from suspected to confirmed and roughly when I expect it.
What to hold back until verified
- Root cause and fault (including anything about a vendor, an employee or an attacker).
- Any claim about data: "no data was exposed", "no personal data affected".
- Customer or revenue counts.
- Any fix time or "resolved".
- Anything that assigns liability.
Legal and regulatory questions
The clocks that may start, such as contractual notice to customers (for example, a contract saying affected customers must be told within 72 hours of discovery) or data-protection notification rules (laws requiring regulators or individuals to be told of a personal data breach within a set time), depend on facts and jurisdiction (which country or state's law applies) and are legal's decision. The 72 hours is only an example. My role: give legal the exact detection time, the current scope, and a running log of confirmed facts with timestamps, and ask them what obligations might apply and by when. I should not assert a deadline myself. Legal may also ask that sensitive written analysis go through them; I should follow that.
Lining up public statements
- One spokesperson (often communications or a named executive), no freelancing.
- A holding statement prepared now and approved by legal: it acknowledges the issue, says we are investigating and will update by a time, and makes no claim on cause or data. For example:
We are aware that some customers are having trouble completing purchases.
Our teams are investigating and working to restore service. We will share
an update by 15:30 UTC. We are sorry for the disruption.
- One fact log as the only source for statements, so status page, customer emails, social posts and sales talking points match.
- A trigger list agreeing what verified fact allows which statement:
| Verified fact | Statement it unlocks |
|---|---|
| Checkout failures confirmed by monitoring | "Some customers may be unable to complete purchases." |
| Rollback completed and error rate normal | "Service has been restored; we are monitoring." |
| Security and data owners confirm personal data was accessed | "Data was affected" wording, approved by legal |
| None of the above yet | Holding statement only |
- A review path that is fast: legal review of the holding statement now, and a short turnaround for updates.
Worked example (illustrative)
Executive: "Were customer cards exposed?" Answer: "We have no evidence of that today, but we have not finished verifying; the payments team will confirm by 15:00. Until then we will not say either way publicly." That phrasing is accurate, and it does not create a false assurance.
Trade-offs and pitfalls
- Reassuring early ("no data was lost") is the classic mistake; it is easy to say and expensive to retract.
- Saying nothing to legal until everything is certain can cost time on obligations that already started.
- Over-long technical briefings waste the thirty minutes; leaders need decisions, not debugging detail.
A customer reports a serious problem. How do you work out whether it is systemic or a one-off, and how does that change what you do next?
Sample Answer
Direct answer
I treat it as a question of scope before cause: how many customers, which ones, and since when? I first reproduce and describe the problem precisely, then look for the same signature (the same error message or the same pattern of behaviour, which acts like a fingerprint) elsewhere in data, support history and customer attributes. If I find a pattern, it is systemic and I escalate and fix at the root. If I find none, I handle it as a targeted case, but I record it so a second report can reveal the pattern.
Step 1: Define the problem precisely
Get the symptom, exact error text, time, account, version or settings, and what the customer expected. "Reports are wrong" becomes "the weekly export omits rows dated the last day of the month."
Step 2: Look for the same signature
- Search logs, telemetry (data the product automatically sends back about how it is running) and error tracking (a tool that collects and groups errors from all customers) for the same error or behavior across other accounts in the last weeks.
- Search support tickets and feedback for similar wording, including from before this report.
- Compare the affected account with unaffected ones on shared attributes: plan, region, product version, integrations, configuration, data size. A group of accounts that share an attribute is a cohort.
- Line the first occurrence up against changes: a release, a configuration change, a vendor update.
Step 3: Decide and change the response
| Finding | Classification | What changes |
|---|---|---|
| Same signature across several accounts, clear shared attribute | Systemic | Raise severity, involve engineering on the root cause (the underlying fault, not the visible symptom), warn other likely-affected customers, track fix and communications |
| Only this account, tied to their configuration or data | One-off | Fix or advise for this customer, add documentation or a guard, log it |
| Not enough data to tell | Unknown | State that, add the missing logging, set a review point, and keep the customer informed |
Worked example (illustrative)
A customer reports failed order syncs. The query is: count distinct accounts with error_code = "ORDER_SYNC_TIMEOUT" in the last 30 days, grouped by integration_version. It returns 3 accounts, all on version 2.3, and none on any other version. A second query counts accounts per version and shows 12 of the 400 run 2.3. So the same error hit 3 of 400 accounts overall, but 3 of the 12 accounts on version 2.3 (25%) and 0 of the other 388. Three accounts out of 400 looks like a one-off, but the shared version makes it a systemic problem for that cohort. The right move is to find every account on that version and notify them before they report it.
Pitfalls
- Calling it a one-off because few others complained. Many customers fail silently or work around problems.
- Severity versus prevalence (how bad it is versus how many are affected): a rare problem that loses customer data deserves a systemic response.
- Insufficient telemetry makes "no other cases" meaningless. State what you cannot see.
- Hand off a precise brief. Once the scope is known, a site reliability engineer (SRE, who keeps the system running and recovers it quickly) can fix or roll back version 2.3, add an alert on that error code, and run a post-incident review, while the account team talks to the upset customers. Both need the same facts from me: error text, version, affected accounts and first occurrence.
Recommended Additional Resources
- The Google SRE Book (available free online at sre.google/books) - Essential foundational reading for SRE philosophy and practices
- The Google SRE Workbook - Practical exercises and real-world examples from Google's SRE experience
- AWS Well-Architected Framework - Core principles for designing reliable, secure, and efficient AWS systems
- AWS documentation and free tier resources for EC2, RDS, CloudWatch, CloudTrail, ECS, and EKS
- AWS training courses on Coursera, A Cloud Guru, or Linux Academy focused on SRE and operations
- Linux Administration fundamentals course or textbook covering system administration and command-line skills
- Kubernetes documentation and tutorials - foundational for container orchestration understanding
- DNS and TCP/IP fundamentals resources - books like 'TCP/IP Illustrated' or online DNS tutorials
- Observability engineering resources covering metrics, logs, and traces
- Incident response and blameless culture resources like Atlassian's incident management guide
- Terraform and Infrastructure as Code documentation for understanding IaC principles
- Container security best practices from OWASP and Docker's official documentation
- Amazon Leadership Principles guide (available on Amazon careers website)
- Mock interview platforms like Pramp, Interviewing.io, or System Design Interview for practice
- Leetcode system design section adapted for SRE contexts
- GitHub repositories with SRE interview question collections for additional practice
Search Results
SRE interview questions and job descriptions - Gremlin
Sample Site Reliability Engineer Interview Questions · What is an SLO? · Follow up: What is an SLA? · What is a linked list? · Name some other data structures.
SRE(Site Reliability Engineer) Interview Questions (2025)
This article covers everything you need to know about becoming a Site Reliability Engineer, also some SRE Interview Questions, and answers
50 Site Reliability Engineer (SRE) Interview Questions 2025
Download the SRE Interview Q&A Guide – 2025 Edition. Master 50+ real questions asked at Google, Netflix, Amazon & Meta. Download Now!
Site Reliability Engineering AWS Interview Questions | MindMajix
Are you preparing for a Site Reliability Engineering (SRE) interview with AWS skills? This video covers AWS SRE interview questions and ...
Top 50 AWS Interview Questions and Answers For 2025 - DataCamp
A complete guide to exploring the basic, intermediate, and advanced AWS interview questions, along with questions based on real-world situations.
Real SRE (Site Reliability Engineer) Interview Questions & Answers ...
Q1. How would you deploy an application to AWS? · Q2. What measures have you taken to secure your EKS clusters? · Q3. What is the toughest ...
Site Reliability Engineer (SRE) Interview Preparation Guide - GitHub
A collection of questions to practice with for SRE interviews · SRE Interview Questions · Sysadmin Test Questions · Kubernetes job interview questions · DevOps ...
Commonly Asked Amazon Interview Questions
Master Amazon interview questions with answers to technical and behavioral questions and learn the top tips to ace the interviews at Amazon.
This interview preparation guide was generated using AI-powered research from the sources listed above. While we strive for accuracy, we recommend verifying critical information from official company sources.
Want to create your own tailored preparation guide using our deep research?
Get Started for FreeInterview-Ready Courses
Visual-first, interactive, structured learning paths
Browse Site Reliability Engineer (SRE) jobs
AI-enriched listings across hundreds of company career pages
Explore Jobs