INFINISWISS QA AUTOMATION INTERVIEW QUESTIONS
This blog post is part of our Interview Laid Bare series:
- Introduction and motivation
- Software Engineering questions (engineering, distributed apps, web security etc)
- .NET questions (.NET framework, WPF etc)
- Javascript questions (Javascript/Typescript, HTML/CSS, React, Angular, Node etc)
- QA Automation questions (ways of working, Java, Selenium, API testing, security testing etc)
Ways of working
What do you do when you notice you won’t finish a task?
How do you handle conflict situations or colleagues that were hard to work with?
How did you organise your tests, executions and results?
How would you verify and keep track of performance for a UI app?
Java Basics
How have you used Streams and in which situations?
How do lambda expressions work and where have you used them?
What is type erasure?
What does Lombok do?
Why is String immutable in Java?
What is the difference between String, StringBuilder and StringBuffer?
What happens when you concatenate Strings using +?
How do you handle exceptions in Java?
What is the difference between an exception and an error?
OOP & Principles
What is the difference between an interface and an abstract class?
Explain inheritance vs composition. When would you prefer one over the other?
What does encapsulation mean in OOP and how does it help concretely?
What is inheritance? How do you handle multiple inheritance in Java?
Design & Best Practices
What design patterns have you used in your projects? Can you give examples?
Explain the singleton pattern and how you used it in your automation framework.
Explain the builder pattern and how you used it in your automation framework.
Explain the factory pattern and how you used it in your automation framework.
Are you familiar with the SOLID principles? Please explain one (e.g., SRP or OCP).
Can you explain how SOLID improves automation framework maintainability?
Selenium Core
What is the difference between implicit wait and explicit wait?
How does fluent wait work?
Can you explain the Page Object Model (POM) and why it’s useful?
How do you handle stale elements (StaleElementReferenceException) in Selenium?
What automation framework(s) have you used? What was the architecture, and what challenges did you face?
Selenium Advanced & CI/CD
How do you handle flaky tests and reduce instability in automation?
How do you ensure your Selenium tests run reliably across multiple browsers and platforms?
What CI/CD tools have you used, and how did you integrate test automation?
How would you handle parallelisation and report generation in CI/CD?
API Testing
What are the main API request types?
What is the difference between POST and PUT requests?
What is the difference between PUT and PATCH requests?
What is the difference between 4XX and 5XX status code errors?
What is the difference between 401 Unauthorized and 403 Forbidden errors?
What is the difference between 1xx and 2xx response codes?
What does a 3xx response code indicate?
How was authentication handled in the APIs you tested?
Security Testing
What is the OWASP Top 10? Can you name a few of the risks on the list?
What is SQL injection and how would you test for it?
What is cross-site scripting (XSS)? What is the difference between stored and reflected XSS?
What is the difference between authentication and authorization?
How would you test for sensitive data exposure in an API?
Have you used any security testing tools (e.g. OWASP ZAP, Burp Suite)? How did you integrate them into your testing process?
Extras
How do you decide if a scenario is worth automating?
How do Maven/Spring profiles work?