This repository contains the questions and solutions to the different technical interviews that we administer or have administered in the past here at Whist. Each /questions
and /solutions
subfolder contains one interview question or solution with its associated README, starter code and/or solution(s) details, where applicable.
- Handle-wav: Build a Python web backend to process
.wav
files - Sample-async: Build a Python library to handle asynchronous workflows
- Broken-Stun: Debug computer networking bugs in C
- Hashtable: Implement a resizeable hashtable in C
- C-fundamentals: Quick C fundamentals questions to ask on a first screen
- Perf-engineering: Performance-engineer finding the minimum of an array in C
When administering a technical interview, select the question(s) you'll be administering in the /questions
folder, add it/them to a brand new, private Whist repository, and give access to the candidate. Make sure to remove access at the end of the interview period, and to delete the temporary repository once the interview notes have been collected and compiled. You should collect interview notes in the Notion, under the Resumes & Interviews workspace.
If you would like to create a technical interview, you should feel free to do so. You can base it off of the existing questions to get an understanding of the structure. Once you have a question and you have developped a solution, you should make a pull request on this repository, adding the relevant question and solution(s) to the /questions
and /solutions
folders, so that 2 other Whist engineers can attempt the question themselves and judge its difficulty. If it is deemed difficult-enough to assess strong technical candidates, it will be merged and can start being used as a technical interview for future candidates.