QA and SDET (Software Development Engineer in Test) roles have evolved dramatically. Modern QA engineers are expected to code at near-SWE level, design test infrastructure, and integrate quality practices into CI/CD pipelines. Here's how to prepare.
QA vs SDET: Which Role Are You Interviewing For?
QA Engineer: Manual testing + some automation, test planning, defect management, release validation. Less coding required.
SDET / Automation Engineer: Primarily engineering — builds automation frameworks, performance testing infrastructure, CI/CD quality gates. Expected to code at SWE bar.
QA Manager / Lead: Strategy, team management, quality culture. More behavioral and strategy, less coding.
This guide focuses on SDET, since it's the most in-demand and hardest to prepare for.
The SDET Interview Loop
- Technical screen — coding problem + test case design (60 min)
- Loop (4–5 rounds):
- Coding (LeetCode-style, medium level)
- Test strategy / test case design
- Automation framework design
- API/performance testing concepts
- Behavioral
Coding Rounds
SDET coding is LeetCode medium — the same bar as SWE for most top companies. Focus on:
- Arrays, strings, hashmaps
- Recursion and trees (useful for DOM traversal testing scenarios)
- String parsing (parsing test results, log files)
- Graph algorithms (dependency graphs in test suites)
Additionally, expect testing-flavored coding:
- Write unit tests for a given function (Java/JUnit, Python/pytest, JavaScript/Jest)
- Debug a flaky test — identify the root cause from a code snippet
- Implement a simple assertion library
- Write a mock/stub for an external API
Test Strategy and Test Case Design
This is the most uniquely SDET round. You'll be given a feature and asked to design a test strategy.
Framework for test case design:
- Understand the feature — What does it do? What are the happy paths?
- Identify equivalence classes — Groups of inputs that behave the same way
- Boundary value analysis — Test at the edge of valid ranges, not just the middle
- Error conditions — What happens with invalid input, network failure, empty data?
- Non-functional requirements — Performance thresholds, accessibility, security (XSS, injection)
- Test pyramid — Unit (fast, lots) → Integration (medium) → E2E (slow, few)
Sample question: "How would you test a 'forgot password' feature?"
Strong answer covers:
- Happy path: valid email, receives email, link works, password changed successfully
- Error paths: email not in system, link expired (> 24h), link already used
- Security: link is unguessable (sufficient entropy), HTTPS only, old password doesn't work after reset
- Concurrency: two password reset requests simultaneously — only the latest link works
- Rate limiting: prevent brute force on email enumeration
- Localization: email works for international email addresses, unicode passwords
- Performance: reset email delivered within SLA (< 30 seconds)
Automation Framework Design
Senior SDET roles specifically test framework architecture:
- Page Object Model (POM): Why and how — encapsulate UI elements and actions
- Test data management: Fixtures, factories, database seeding strategies
- Parallel execution: TestNG parallel execution, pytest-xdist, CI parallelization
- Reporting: Allure, ExtentReports, HTML reports — what makes a good test report?
- Flakiness management: Retry logic, wait strategies (explicit > implicit > Thread.sleep), test isolation
Tools to know:
- Web: Selenium, Playwright, Cypress — know trade-offs between them
- API: Postman, RestAssured (Java), pytest + requests (Python)
- Mobile: Appium, Espresso (Android), XCTest (iOS)
- Performance: JMeter, k6, Locust, Gatling
- CI/CD: GitHub Actions, Jenkins, GitLab CI — how to run tests in pipelines
API Testing
Every SDET must be strong in API testing:
- Status code validation: 200, 201, 400, 401, 403, 404, 500
- Schema validation: response body matches expected JSON schema
- Contract testing: Pact framework — consumer-driven contract tests
- Authentication testing: Bearer tokens, API keys, OAuth flows
- Performance: response time SLAs, throughput testing
Performance Testing Concepts
- Load testing: Normal expected load — does the system meet SLAs?
- Stress testing: What's the breaking point?
- Spike testing: Sudden burst of traffic — does the system recover?
- Soak testing: Sustained load over hours — memory leaks, connection pool exhaustion
- Key metrics: Response time (P50, P95, P99), throughput (RPS), error rate, resource utilization
5-Week SDET Interview Prep Plan
| Week | Focus | |------|-------| | 1 | LeetCode: 20 medium problems + 10 testing-flavored coding problems | | 2 | Test case design: practice 10 feature test strategies | | 3 | Framework design: design 3 automation frameworks from scratch | | 4 | API testing + performance testing concepts | | 5 | Mock full loops + behavioral stories |
Practice explaining your test strategies out loud with CareerLift.ai — SDET interviews require you to think through edge cases systematically under time pressure, which is a skill that improves dramatically with spoken practice.