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.