/the-coding-interview

Programming exercises, code katas and puzzles for your job interview training - or just for fun.

Primary LanguagePythonMIT LicenseMIT

Logo

⚠️ Maintenance status

Nowadays I don't have much time to maintain this project anymore.

I started the project when preparing for coding interviews when graduating. If this is your goal, too, then there might be better resources in 2021 to prepare for that. Here are some books that I recommend to friends who are looking to build a solid foundation.

Cracking the Coding Interview by Gayle Laakmann McDowell is a classic, which covers most of the questions that get typically asked in FAANG interviews like array and string manipulations, sorting, and searching.

System Design Interview by Alex Xu is more focused on typical software architecture questions, e.g. back-of-the-envelope estimations as well as making services performant and fault tolerant.

Note: These are Amazon affiliate links and I get a small commission if you end up buying a book. This helps me work on OSS in my free time.

These books in combination should give a good overview of what to expect in a typical interview situation. The repository can still serve as a nice companion while working through the chapters from the books.

Contributing

Interested in contributing? Find problems that don’t have solutions yet in the language of your choice by running the find-missing-solutions script.

For more information see CONTRIBUTING.md.

Credits

This started as a collection of the following resources:

The awesome title image was Designed by Freepik.

Statistics

───────────────────────────────────────────────────────────────────────────────
Language                 Files     Lines   Blanks  Comments     Code Complexity
───────────────────────────────────────────────────────────────────────────────
Python                     156      5396      631       585     4180       1400
JavaScript                  69      1875      266       228     1381        286
PHP                         27       720       96        10      614         61
CoffeeScript                23       584       74        84      426         72
Rust                        23       919       94        22      803         74
Java                        20       735       92        39      604        128
Kotlin                      20       467       71        26      370         77
C#                          14       527       61        31      435         59
Ruby                        12       215       21        86      108         16
C++                         11       407       42        22      343         60
Go                          11       382       60         4      318         55
BASH                        10       305       33        15      257         48
C                           10       224       41        16      167         41
Haskell                      6        55        9         3       43          4
F#                           5        81       11        19       51          5
C++ Header                   4       268       49         9      210         15
TypeScript                   3        58       15         0       43          6
Dart                         2        53        9         0       44          8
Julia                        2        29        5         2       22          6
C Header                     1        18        6         2       10          0
LOLCODE                      1        30        6         0       24          2
Swift                        1        86        3         7       76          3
───────────────────────────────────────────────────────────────────────────────
Total                      431     13434     1695      1210    10529       2426
───────────────────────────────────────────────────────────────────────────────
Estimated Cost to Develop $319,964
Estimated Schedule Effort 9.950146 months
Estimated People Required 3.809141
───────────────────────────────────────────────────────────────────────────────