Skip to main content
Software Engineering Handbook logo

Software Engineering Handbook

What one fool can do, other fools can do also

Data Structures

There are many data structures to learn and precious little time to do so. There's even less time to reinvent the wheel whenever you rediscover a data structure you need but have not used in quite some time. Whether it's for interviews or daily practice, it helps to have a data structure reference handy that summarizes much of your hard-earned knowledge.


You may not need to know the Knuth-Morris-Pratt string-searching algorithm by heart, but algorithms in general are the lifeblood of computer science. Knowing formal algorithms that are named after their founders can be nice, but knowing general-purpose algorithmic design principles is nicer.

Everything Else

When it comes to software engineering, especially technical interviews, most of what you hear about concerns data structures and algorithms. But there's so much more. Literally everything else (e.g., system design, tips and tricks, topical explorations, mental model templates, etc.).