My personal collection of software engineering interview questions and solutions for use and practice in software engineering interviews.
All solutions are written in TypeScript and often intentionally ignore language features to fit with the spirit of the questions, improve efficiency, or just to add additional challenge, e.g., not using Array.prototype.reverse()
when asked to reverse an array. I chose TypeScript because I can use most of the JavaScript dev tooling, (which I think is excellent, especially the test tooling,) and adds typing which JS sorely needs.
Programming exercises and solutions are organized by collection under src/
:
codesignal/
: CodeSignal interview practice exercisesctci-6th-ed/
: Exercises from the Cracking the Coding Interview, 6th Edition bookinterview-cake/
: Exercises from the Interview Cake course (highly recommended!)leetcode/
: Exercises from LeetCodemisc/
: Random coding exercises, algorithms, and data structures
All exercises are implemented as tests. Simply run npm test
to run all of them once, or run npm start
to start watching for changed files and rerunning related tests.
- Cracking the Coding Interview, 6th Ed., by Gayle Laakmann-McDowell (PDF)
- Using ESLint and Prettier in a TypeScript Project
- Glassdoor interviews (w/ interview questions)
- Microsoft interviews (Adjust filters as necessary)
- Top 50 Programming Interview Questions
- GeeksfoGeeks: Largest component on a grid (Good programming problems on this site)
- LeetCode master problem set - Huge collection of problems. Might be worth premium?