QA Interview
Airbnb SDET Interview Questions and Preparation
Prepare for Airbnb SDET interview questions with coding, test design, API, automation, systems, behavioral answers, and a focused study plan for 2026.
24 min read | 3,525 words
TL;DR
Airbnb SDET preparation should combine coding, product-centered test strategy, API and UI automation, distributed systems reasoning, and evidence-based behavioral stories. The exact loop varies by role, so use this guide as a capability map and confirm the current stages with your recruiter.
Key Takeaways
- Treat the interview as a software engineering assessment with a quality specialization, not as a manual testing quiz.
- Practice test design for booking, pricing, availability, identity, payments, messaging, and trust workflows.
- Explain risk, observability, testability, and release decisions before listing individual test cases.
- Write readable, tested code and state complexity, edge cases, and production failure modes aloud.
- Prepare API, UI, mobile, data, and distributed systems tradeoffs instead of relying on one automation tool.
- Use Airbnb's public product and engineering context, but confirm the actual interview loop with the recruiter.
- Answer behavioral questions with specific ownership, conflict, failure, and measurable quality examples.
Airbnb SDET interview questions are best approached as software engineering problems viewed through a quality lens. A strong candidate can code, design a risk-based test strategy, reason about distributed services, and explain how quality decisions protect guests, hosts, and the marketplace. Memorizing definitions will not be enough.
Airbnb's own careers FAQ says the interview process depends on the position and may involve a test, video, or event, with candidates meeting multiple team members. That is the only safe assumption about the current loop. Recruiter guidance and the active job description should override any third-party stage list. This guide therefore prepares you for the durable skills an SDET or quality-focused software engineer is likely to need, without claiming that every candidate receives identical rounds.
TL;DR
| Capability | What a strong answer demonstrates | Best practice method |
|---|---|---|
| Coding | Correctness, clarity, tests, complexity awareness | Solve one medium problem and test it aloud |
| Test design | Prioritization around user and business harm | Model states, transitions, risks, and oracles |
| Automation | Reliable checks at the cheapest useful layer | Favor API and component coverage before UI breadth |
| Systems | Awareness of retries, consistency, clocks, queues, and failures | Trace one booking across service boundaries |
| Behavioral | Ownership, judgment, learning, and collaboration | Prepare six specific STAR stories with results |
Use the SDET interview preparation guide to refresh the general format, then adapt every example to a two-sided travel marketplace.
1. What Airbnb SDET Interview Questions Actually Measure
The role label matters less than the engineering expectations in the specific posting. Some teams may use SDET, quality engineer, software engineer in test, or software engineer with a quality focus. Read the responsibilities line by line and classify them into coding, test infrastructure, product testing, developer enablement, release safety, and operational quality. That classification tells you where to spend preparation time.
Interviewers usually need evidence in four dimensions. First, can you build maintainable software rather than only record test scripts? Second, can you find the few risks that matter in a large product surface? Third, can you influence quality across a team, including developers and product partners? Fourth, can you reason when the system is incomplete, asynchronous, or partially unavailable?
A weak answer starts with tools: Selenium, Appium, Postman, or a favorite framework. A stronger answer starts with the user promise and failure cost. For a reservation, a duplicate charge, stale availability, wrong cancellation rule, or inaccessible check-in instruction has more impact than a cosmetic alignment defect. Name that hierarchy before discussing automation.
Treat every question as a chance to expose your decision process. State assumptions, identify the riskiest unknown, choose an oracle, place the check at an appropriate layer, and describe what evidence would change your recommendation. That pattern is valuable in coding, design, debugging, and behavioral rounds.
2. A Realistic Airbnb SDET Interview Process Without Guesswork
Do not assume an online post from a past candidate describes your 2026 process. Team, level, location, and role family can change the sequence. Airbnb's official careers FAQ describes the process as role-dependent and says candidates meet multiple people on the team. Ask the recruiter what competencies each scheduled conversation covers, whether coding is collaborative, which languages are supported, and whether a system or test design round is included.
A useful preparation model is a capability funnel, not a promised itinerary:
- Recruiter conversation: motivation, role alignment, logistics, and communication.
- Technical screen: coding, automation fundamentals, debugging, or a focused test problem.
- Extended interviews: code, test architecture, product quality, systems reasoning, and collaboration.
- Team and values conversations: influence, learning, conflict, judgment, and connection to the product mission.
Prepare a concise career narrative that connects your experience to the position. It should answer why quality engineering, why this product domain, why this scope, and why now. Avoid saying that you want Airbnb only because you use the service or like travel. Product familiarity helps, but engineering motivation is stronger when it names hard problems such as marketplace consistency, global payments, mobile reliability, experimentation safety, fraud, and accessible experiences.
After each interview, write down the question, assumptions, solution, and one thing you would improve. Do not share proprietary prompts. The reflection helps you correct communication habits before the next session.
3. Test Strategy for a Two-Sided Travel Marketplace
Marketplace testing is harder than checking a single-user CRUD application. Guest actions affect host inventory, pricing, payouts, reviews, messages, support workflows, and downstream analytics. Start by drawing the state machine. A simplified reservation might move through searched, selected, requested, confirmed, modified, canceled, completed, and disputed states. Instant Book and request-to-book can create different transitions.
For any feature, organize risks across these lenses:
| Lens | Example risk | Useful evidence |
|---|---|---|
| Functional | A date becomes unavailable but remains bookable | API contract plus authoritative inventory query |
| Financial | Guest total and host payout use inconsistent fees | Ledger invariants and reconciliation |
| Concurrency | Two guests attempt the last available dates | Controlled parallel requests and single-winner assertion |
| Localization | Currency, time zone, or date is interpreted incorrectly | Boundary matrix by locale and zone |
| Trust | A blocked or unverified account completes a restricted action | Policy decision logs and negative tests |
| Accessibility | Calendar cannot be completed with keyboard or screen reader | Automated rules plus assistive technology review |
| Resilience | Payment succeeds while confirmation delivery is delayed | Fault injection, idempotency, and eventual-state checks |
Good test design distinguishes source of truth from projection. Search results may be a cached view, while the booking service owns the final availability decision. A stale search result can be acceptable if checkout revalidates inventory and presents a clear recovery path. State that tradeoff instead of demanding impossible global instant consistency.
Prioritize by severity, likelihood, detectability, and blast radius. Then select coverage: deterministic unit tests for rules, service tests for contracts and state transitions, a small number of cross-service journeys, and focused exploratory testing for human ambiguity. The risk-based testing interview guide provides a reusable prioritization vocabulary.
4. Coding Preparation for Airbnb SDET Interview Questions
Coding answers should be correct, readable, and easy to test. Practice arrays, strings, hash maps, intervals, graphs, queues, recursion, and basic concurrency. SDET candidates should also be comfortable transforming JSON, generating test data, implementing polling, and diagnosing faulty code. Speak before typing: restate the problem, clarify constraints, offer examples, choose a data structure, and identify edge cases.
A marketplace-flavored exercise might ask whether requested nights overlap an existing reservation. The following Python function treats intervals as half-open, so checkout on one reservation can equal check-in on the next. It runs with Python and pytest as written:
from datetime import date
def has_overlap(existing: list[tuple[date, date]],
requested: tuple[date, date]) -> bool:
start, end = requested
if start >= end:
raise ValueError("check-in must be before checkout")
return any(start < booked_end and booked_start < end
for booked_start, booked_end in existing)
def test_adjacent_stay_does_not_overlap() -> None:
stays = [(date(2026, 7, 10), date(2026, 7, 13))]
assert not has_overlap(stays, (date(2026, 7, 13), date(2026, 7, 15)))
def test_shared_night_overlaps() -> None:
stays = [(date(2026, 7, 10), date(2026, 7, 13))]
assert has_overlap(stays, (date(2026, 7, 12), date(2026, 7, 15)))
def test_invalid_request_is_rejected() -> None:
import pytest
with pytest.raises(ValueError):
has_overlap([], (date(2026, 7, 15), date(2026, 7, 15)))
Explain that this implementation is O(n) for one request. For repeated queries over many intervals, discuss sorting, merging, binary search, or an interval tree, but do not overengineer before constraints demand it. Testing is part of the solution. Include adjacency, containment, equality, invalid range, empty input, and time-zone implications if timestamps replace dates.
5. API, Data, and Contract Testing
An SDET should see an API as a behavioral contract, not a list of endpoints. For a reservation creation API, validate authentication, authorization, schema, domain rules, idempotency, concurrency, auditability, and downstream effects. A 201 response is insufficient if the inventory did not lock, the amount was wrong, or a retry created a second reservation.
Ask who owns each invariant. Examples include: one active reservation per inventory unit and night, immutable ledger entries, consistent currency precision, monotonic state transitions, and scoped access to personal data. Then create tests at the owner boundary. Contract tests should confirm fields and compatibility, while workflow tests confirm business outcomes across services.
For idempotent creation, send the same valid request twice with one idempotency key. The result should follow the documented contract, often returning the original outcome rather than creating another resource. Then reuse the key with a materially different payload and verify the documented rejection behavior. Also test key scope, expiry policy, simultaneous duplicate requests, and failures that occur after a charge but before a response.
Data checks should avoid brittle full-row comparisons. Validate stable business fields and query the authoritative store or read model through supported interfaces. When direct database access is appropriate in a test environment, keep assertions at the domain level. Do not couple every test to internal column layout. For deeper practice, use the API contract testing guide and API idempotency testing scenarios.
In an interview, mention privacy. Logs and test fixtures must not expose passports, payment details, access codes, addresses, or real user messages. Synthetic data and least-privilege test accounts are part of quality engineering.
6. UI and Mobile Automation Decisions
A thoughtful automation answer describes what not to automate at the UI layer. The web or mobile interface is valuable for a few critical journeys, accessibility behavior, navigation, platform integration, and rendering. It is expensive for exhaustive pricing combinations or backend state permutations. Put rules below the UI when possible, then retain a small set of representative end-to-end journeys.
For a date picker, avoid selecting a day by visible number alone because multiple months can contain the same number. Locate the calendar region, target an accessible date label, and verify the resulting date range in both the control and the request. For mobile, account for permissions, lifecycle transitions, network changes, keyboard behavior, deep links, and OS-specific selectors. Prefer accessibility identifiers agreed with developers over coordinate taps or deep XPath.
Reliability comes from controlled state, observable actions, and specific waits. Replace fixed sleeps with conditions tied to user-visible or API state. Record request identifiers, app logs, screenshots, video when useful, and device metadata on failure. Retries can estimate flakiness, but a retry should not silently convert an unstable test into a healthy signal.
Discuss the testability changes you would request: stable semantic locators, injectable clocks, seeded accounts, controllable feature flags, service virtualization for rare failures, and APIs for cleanup. Senior SDET impact is often measured by making the product easier for the entire team to test, not by producing the largest script count.
7. Distributed Systems, Reliability, and Debugging
Travel platforms coordinate availability, pricing, payments, messaging, identity, search, and notifications. A failure can occur between any two acknowledgments. Interviewers may give a symptom such as confirmed bookings missing from trips, duplicate emails, or intermittent incorrect totals. Debug by tracing the request rather than guessing a component.
Start with scope: one user, one region, one client version, one experiment cohort, or everyone? Establish a timeline in UTC and capture correlation identifiers. Compare client request, gateway response, service logs, queue events, database state, and read-model updates. Determine whether the failure is incorrect source data, propagation delay, cache staleness, policy disagreement, or presentation.
Know the practical consequences of eventual consistency. Do not assert every read becomes correct immediately unless the contract promises that. Poll a documented outcome with a deadline and useful diagnostics, or consume a completion signal. Test delayed, duplicated, reordered, and missing messages. Consumers should commonly be idempotent because at-least-once delivery can produce duplicates.
For a price, distinguish display estimates from the final contractual amount. Capture input versions such as currency, taxes, fee policy, experiment assignment, and timestamp. A reproducible quality system makes these decisions inspectable. If the team cannot explain why a user saw a total, that is an observability and auditability gap, not only a test-script gap.
When asked how to test production resilience, propose safe layers: deterministic failure simulation in component tests, service-level fault injection in controlled environments, canaries and shadow checks where appropriate, and production monitoring with guarded experiments. Never imply that destructive chaos should be run casually against customer traffic.
8. Security, Privacy, Accessibility, and Trust
Quality for a travel marketplace includes harms that conventional happy-path automation misses. Threat-model account takeover, unauthorized access to listing or trip data, enumeration, insecure direct object references, leaked secrets, abuse of messaging, and mishandled identity artifacts. Explain that security testing must be authorized and scoped. An SDET contributes negative cases and secure defaults while specialists handle deeper offensive work.
Privacy tests should verify data minimization, retention, deletion workflows, redaction, and access boundaries. A host should not receive information beyond what the product policy allows. Support tools and analytics exports deserve the same scrutiny as the primary UI. Test data pipelines can become an accidental privacy bypass if they copy production records without masking.
Accessibility belongs in acceptance criteria. Test keyboard operation, focus order, names and roles, error identification, contrast, zoom, motion preferences, and screen-reader announcements. Automated rules find only a subset of barriers, so combine them with manual assistive technology sessions and user research. Calendar, map, image gallery, and dynamic price components require particular attention.
Trust decisions also need fairness and explainability review. If a risk control blocks a booking, validate consistent policy enforcement, safe error messages, appeal or support paths, audit trails, and monitoring for disproportionate false positives. Do not ask for sensitive model internals in an interview. Focus on observable contracts, controlled test cohorts, and responsible escalation.
9. Behavioral and Cross-Functional Preparation
Prepare at least six stories: a defect you prevented, a production incident, a flaky suite you improved, a disagreement about release risk, a quality initiative you influenced without authority, and a mistake that changed your approach. Each story needs context, your decision, specific actions, outcome, and reflection. Replace vague team language with your contribution while still crediting collaborators.
A strong release disagreement story is not, "I refused to ship until every bug was fixed." It explains user impact, evidence, options, and the decision owner. For example, you might recommend disabling a narrow feature flag, adding a targeted monitor, and shipping unaffected paths. That demonstrates judgment rather than gatekeeping.
Quantify only what you actually measured. Useful evidence includes feedback time, failure classification time, escaped defect trend, critical path coverage, or incident detection time. Do not invent percentages after the fact. If the benefit was qualitative, say so and describe the evidence honestly.
Expect probing questions: What did you personally do? What alternatives did you reject? Who disagreed? What was the result? What would you change? Practice answering each in under two minutes, then go deeper when asked. Airbnb candidates should also understand the product and public company values, but avoid rehearsed slogans. Connect your examples to concrete customer and engineering outcomes.
10. A 21-Day Airbnb SDET Interview Questions Study Plan
Days 1 through 3: decompose the job description, map evidence from your resume, use the product as a guest where legally and practically possible, and study public product surfaces. Write one reservation state machine and one system context diagram.
Days 4 through 8: solve one timed coding problem daily. Rotate intervals, hash maps, graphs, parsing, and queues. Add tests before declaring a solution complete. Review time and space complexity and practice explaining an alternative.
Days 9 through 12: design tests for search, reservation, payment, cancellation, review, and messaging flows. For each, name risks, states, data, test layers, observability, and release criteria. Include one concurrency and one partial-failure scenario.
Days 13 through 15: implement a small API suite and one stable browser or mobile journey. Run it repeatedly, inject a failure, and improve diagnostics. Be ready to explain folder structure, fixtures, parallel safety, secrets, and CI execution.
Days 16 through 18: review HTTP, authentication, SQL, queues, caching, consistency, feature flags, and monitoring. Debug three hypothetical incidents using evidence-first reasoning.
Days 19 through 21: conduct two full mocks, refine six behavioral stories, and prepare interviewer questions. Ask about quality ownership, test infrastructure, on-call expectations, delivery constraints, and how the team measures customer-impacting reliability. Sleep and pacing matter more than cramming one more framework.
Interview Questions and Answers
Q: How would you test double booking for the same listing and dates?
Model availability as an invariant, then send synchronized booking attempts from separate authorized users. Assert that at most one attempt reaches the confirmed state, inventory reflects one owner, and the loser receives a recoverable response. Repeat around retries and delayed responses, and verify audit and payment outcomes rather than checking only status codes.
Q: What would you automate first in a reservation flow?
I would automate pricing and availability rules at unit or service level, then API state transitions and idempotency. I would keep a small end-to-end set for search to confirmation, modification, cancellation, and a payment failure. This distribution gives fast rule coverage while preserving confidence in key integrations.
Q: How do you test an eventually consistent trips page?
I assert the authoritative booking response first, then poll the trips read model until the documented deadline. The helper records attempts, request identifiers, and the last observed state so a timeout is diagnostic. I also test delayed and missing events to prove the product handles propagation failure.
Q: A UI test passes locally but fails in CI. What do you do?
I compare browser, viewport, locale, clock, data, network, and parallel execution. I inspect traces and application logs to identify the first divergence, not the last failed assertion. I reproduce with CI settings and fix state control, synchronization, or product behavior instead of adding an arbitrary sleep.
Q: How would you test cancellation fees?
I create a decision table using policy, booking time, cancellation time, local property time zone, stay dates, currency, and exceptions. I test boundaries with an injected clock, validate guest refund and host payout separately, and reconcile immutable ledger entries. I also verify the UI explains the result before confirmation.
Q: What belongs in a quality dashboard?
A dashboard should connect engineering signals to customer risk. I would include critical journey success, escaped incidents by impact, flaky-test health, build feedback time, and service-level indicators, with ownership and drill-down links. Counts without denominators or action thresholds can mislead, so I define what decision each metric supports.
Q: When should an SDET block a release?
An SDET should present evidence, impact, uncertainty, and mitigations against agreed release criteria. A release should stop when residual risk exceeds the organization's threshold and cannot be safely contained. The decision is collaborative, and alternatives such as a flag, reduced cohort, rollback guard, or targeted monitor may lower risk enough to proceed.
Q: How do contract tests differ from end-to-end tests?
Contract tests verify that a provider and consumer agree on interaction shape and semantics at a boundary. End-to-end tests validate a small number of complete business journeys through deployed components. Contract tests are faster and localize incompatibility, while end-to-end tests catch wiring and environment problems, so both have distinct value.
Q: How would you test search results when ranking changes frequently?
I avoid asserting a brittle exact order unless the contract guarantees it. I verify eligibility, required fields, policy filters, deterministic fixtures for ranking rules, and invariant constraints. For learned ranking, I add offline evaluation, guarded experiments, and monitoring for regressions rather than treating one exact list as universally correct.
Q: Describe a maintainable automation framework.
It has clear domain helpers, isolated data, explicit configuration, deterministic waits, useful diagnostics, and parallel-safe cleanup. Tests express business behavior rather than page mechanics. I keep abstractions thin until repetition and stable concepts justify them, and I measure reliability and feedback time continuously.
Q: How would you validate a payment retry?
I control the payment double so the first request succeeds downstream but the response is lost. The application retry must not create a second charge, and the reservation should converge to one correct state. I verify idempotency keys, ledger entries, user messaging, reconciliation, and alerting for ambiguous outcomes.
Q: Why Airbnb and why an SDET role?
A credible answer should be personal and technically specific. Connect your experience to marketplace reliability, global user diversity, trust, mobile and web quality, or developer test infrastructure. Explain why building quality systems and influencing engineering practice is the work you want, rather than offering generic enthusiasm about travel.
Common Mistakes
- Treating remembered interview reports as a guaranteed current sequence. Confirm your loop with the recruiter.
- Listing hundreds of test cases before identifying the most harmful failures and authoritative oracles.
- Describing only UI automation when cheaper service and component checks fit the risk.
- Solving code silently, skipping input validation, or forgetting to test the implementation.
- Using fixed sleeps and retries as the primary answer to flaky automation.
- Ignoring time zones, currency precision, accessibility, privacy, concurrency, and partial failure.
- Claiming ownership for team work without explaining your exact contribution.
- Inventing metrics, Airbnb architecture details, or company-specific stages to sound informed.
- Blocking every release by instinct instead of presenting risk, evidence, options, and containment.
- Asking no questions about quality ownership, testability, operational responsibility, or success measures.
Conclusion
The best preparation for Airbnb SDET interview questions is to practice engineering judgment across code, product risk, automation, systems, and collaboration. Anchor answers in a two-sided marketplace, but distinguish public facts from assumptions and ask clarifying questions whenever the contract is incomplete.
Your next step is to take one reservation scenario and produce four artifacts: a state model, a risk table, a runnable test, and a two-minute explanation of release criteria. That compact exercise exposes the same reasoning habits that strong interview answers require.
Interview Questions and Answers
How would you test two guests trying to book the same listing?
I would issue synchronized requests from two isolated users against one available interval. At most one reservation may become confirmed, inventory must identify that winner, and the other user needs a recoverable response. I would also verify charges, retries, audit records, and the eventual read models.
What would you automate first in the booking flow?
I would begin with pricing, availability, and state rules at unit and service levels. Next I would cover API contracts, authorization, and idempotency. A small UI suite would protect the highest-value cross-system journeys without duplicating every rule.
How do you test eventual consistency?
I first assert the authoritative write result, then wait for the read model within a documented deadline. The polling helper captures request IDs, attempts, and the final observed state. I also simulate delayed, duplicate, and missing events to validate recovery and alerts.
How do you debug a test that fails only in CI?
I compare environment, browser, locale, clock, data, network, and parallelism, then find the first divergence in traces and logs. I reproduce with CI-equivalent settings and classify whether the issue is product, test, infrastructure, or environment. I fix the cause rather than hiding it with sleeps.
How would you test cancellation policy boundaries?
I would build a decision table across policy, booking and cancellation timestamps, property time zone, stay dates, currency, and exceptions. An injectable clock makes exact boundaries deterministic. I would validate the displayed explanation, refund, payout, and ledger reconciliation.
When should quality engineering stop a release?
I compare evidence and uncertainty with agreed release criteria and customer impact. If risk is unacceptable and cannot be contained, I recommend stopping. Otherwise I propose controls such as a feature flag, limited cohort, rollback trigger, or focused monitoring and document the decision.
How do contract tests and end-to-end tests differ?
Contract tests verify compatible interactions at a consumer-provider boundary and usually run quickly. End-to-end tests verify a few deployed business journeys and catch wiring or environment defects. I use both deliberately instead of expecting one layer to replace the other.
How would you test frequently changing search ranking?
I assert stable eligibility and policy invariants rather than a brittle universal order. Deterministic fixtures can validate known ranking rules. For learned ranking, I would use offline evaluation, guarded online experiments, and monitoring for user and fairness regressions.
What makes an automation framework maintainable?
Tests should express business behavior and use thin, stable domain helpers. The framework needs isolated data, explicit configuration, deterministic synchronization, parallel-safe cleanup, and useful diagnostics. I track reliability and feedback time so maintainability is measurable.
How would you validate payment idempotency?
I repeat the same logical payment with the same idempotency key, including simultaneous and lost-response cases. There must be one charge and one correct business outcome. I also test a changed payload with a reused key, key scope, reconciliation, and ambiguous-failure messaging.
How do you choose test cases under time pressure?
I rank risks by potential harm, likelihood, detectability, and blast radius. I cover core invariants, recent changes, integration boundaries, and recovery first. I state residual risk and what additional time would buy so stakeholders can make an informed release decision.
Why do you want a quality engineering role at Airbnb?
A strong response connects personal experience to specific engineering challenges such as marketplace consistency, global payments, trust, accessibility, or test infrastructure. It should explain why building quality systems and influencing teams matches your strengths. Generic enthusiasm about travel is not enough.
Frequently Asked Questions
What is the Airbnb SDET interview process in 2026?
Airbnb states that its interview process varies by position and can involve different assessment formats. Expect multiple conversations, but confirm the exact stages, coding format, and competency focus with your recruiter instead of relying on an old candidate report.
Are Airbnb SDET interview questions difficult?
They can be demanding because a quality-focused engineer may be assessed on coding, test strategy, automation, systems reasoning, and collaboration. The difficulty also depends on level and team, so prepare broad fundamentals and practice explaining tradeoffs.
Which programming language should I use for an Airbnb SDET interview?
Use a language supported by the interview platform and one in which you can write, test, and explain code fluently. Confirm allowed languages with the recruiter, then practice common data structures and test utilities in that language.
Does an Airbnb SDET candidate need system design?
A senior quality engineer should be ready to reason about service boundaries, consistency, retries, queues, observability, and test architecture. Whether there is a named system design round depends on the role, but these concepts improve answers to debugging and test strategy questions.
How should I test a booking platform in an interview?
Start with users, states, invariants, and highest-impact failures. Cover availability, pricing, payments, cancellation, identity, time zones, concurrency, accessibility, and recovery, then select unit, service, contract, and end-to-end checks based on risk.
How much UI automation should I propose?
Propose a small, stable UI layer for critical journeys and presentation behavior. Put rule combinations, negative states, and most service behavior below the UI so feedback is faster and failures are easier to diagnose.
What behavioral stories should I prepare?
Prepare specific stories about defect prevention, incidents, flaky tests, release disagreements, influence without authority, and a mistake. Each story should show your decision, action, evidence, result, and what you learned.