Sample questions designed for QA Automation interviews. Questions are meant to test:
• Ability to follow directions
• Attention to detail and critical assessment of code execution
• Ability to read and understand code, even in unfamiliar languages
• Ability to triage and find logic flaws in code
• Test design
• Ability to understand technical concepts
Majority of questions will be NodeJs specific or language independent.
These exercises aren't particularly unique; it is pretty easy to find an algorithm to implement or a library that can already do these. The purpose isn't the result, but the process. It is important to work in such a way that what you are implementing is deliberate and can be explained, even if the explanation is wrong. This is what I call "working with purpose" where each action is deliberate and can be explained logically. Simply finding a solution isn't important if you don't understand the solution.
Examples are left intentionally vague and open to interpretation. If you are only worried about what is actually right and wrong, you are doing QA incorrectly. Being opinionated is important so we can work together to build a better product.
Everything that is submitted has some meaning, whether you want it to or not. This includes debugging code, ancillary information (ex. resume), any correspendences, and code style. They should be done with care and detail.
Delayed words is an example where a list of words are read in from a data file and printed at a specified time, relative to the start of the program. Example is to test ability to pay attention to details, read/follow the data path in the code, and understanding synchronous vs. asynchronous execution of Javascript.
Scrabble is a program that will take in a string of letters and find possible scrabble words that could be made, sorted by value. The program has some tests included (some good, some bad) indicating some errors in the program that need to be fixed. Example is to test ability to pay attention to details, read and understand the structure of code, and to design intelligible tests.