To succeed as a QA Engineer, you must prove your technical depth across a few core domains. The technical interviews are highly practical, and you will be expected to write compiling, logical code.
Core Java Programming
Your foundation in Java is the most heavily tested area during the second technical round. Interviewers want to see that you understand data structures, loops, and object-oriented programming principles, as these are essential for building scalable automation frameworks. Strong performance here means writing clean, efficient code without relying heavily on your IDE's auto-complete features.
Be ready to go over:
- String and Array Manipulation – Reversing strings, finding duplicates, or sorting arrays.
- Collections Framework – Using HashMaps, ArrayLists, and HashSets to store and retrieve test data efficiently.
- Object-Oriented Programming – Demonstrating inheritance, polymorphism, and encapsulation in the context of page object models.
- Advanced concepts (less common) – Exception handling strategies, multithreading basics, and Java Streams.
Example questions or scenarios:
- "Write a Java program to find the second largest element in an array."
- "Create a method that takes a string and returns the count of each character using a HashMap."
- "Write a Java program to check if a given string is a palindrome."
API Automation with REST Assured
Because modern travel platforms rely heavily on microservices, backend testing is critical. You will be evaluated on your ability to validate APIs using REST Assured. You must know how to construct requests, handle authentication, and assert complex JSON responses.
Be ready to go over:
- HTTP Methods – Structuring GET, POST, PUT, and DELETE requests.
- JSON Parsing – Extracting specific values from deeply nested JSON payloads.
- Assertions – Validating status codes, response times, and payload data against expected outcomes.
- Advanced concepts (less common) – Handling OAuth tokens, data-driven API testing, and chaining API requests.
Example questions or scenarios:
- "Write a REST Assured script to send a POST request with a JSON payload and validate that the response status code is 201."
- "How do you extract a specific token from a JSON response and pass it to the next API call?"
- "Demonstrate how you would validate a response body that returns an array of travel itineraries."
UI Automation with Selenium
Web UI automation is a staple for the QA Engineer role at American Express Global Business Travel. You will be asked to write code to interact with web elements, handle synchronization issues, and implement the Page Object Model (POM) design pattern.
Be ready to go over:
- Dynamic Locators – Writing robust XPath and CSS selectors that do not break when the UI changes slightly.
- Synchronization – Implementing implicit, explicit, and fluent waits to handle dynamic loading elements.
- Action Classes – Handling dropdowns, hovers, alerts, and multiple browser windows.
- Advanced concepts (less common) – Integrating Selenium with Cucumber (BDD) or TestNG for reporting.
Example questions or scenarios:
- "Write a Selenium script to log into a portal, navigate to a booking page, and select a date from a dynamic calendar widget."
- "How do you handle a scenario where an element is present in the DOM but not yet clickable?"
- "Explain how you would structure a Page Object Model for a checkout flow."
`