# coding interview prep

#### Foundational knowledge to to ace your coding interviews

01/

#### Introduction

Coding interviews. Problem-solving skills. Algorithm questions. What do you call the intersection of their Venn Diagram? Hint: it starts with "data" and ends with "structures".

02/

#### What Are Data Structures?

The elementary particles of algorithms, data structures are woven into the very fabric of computer science and are essential building blocks of many a solution to coding interview problems. Sans the need for a microscope.

03/

#### Complexity Analysis

Two dimensions, time and space, diverged in a yellow wood, and Iâ€” I watched the Complexity Analysis video on siolabs, And that has made all the difference (in my coding interviews).

04/

#### Memory

The bedrock of all data structures, memory is the underlying concept that you absolutely need to know in order to understand why data structures work the way they do. Bits and bytes may keep me up all night, But memory will never ail me!

05/

#### Big O Notation

The speed and memory usage of an algorithm aren't necessarily fixed; they might change depending on the input. So how do we express the performance of an algorithm then? Enter Big O Notation, a powerful tool that allows us to generalize the space-time complexity of an algorithm as a function of its input size.

06/

#### Logarithm

That scary-looking word you know you should understand but just really...donâ€™t? Yeah, that one. Itâ€™s time to make it your best friend. Warning: a logarithm-less way of life will seem inconceivable after watching this video.

07/

#### Arrays

Perhaps the most classic and most commonly used of all data structures, the array is deceptively simple. Key word: "deceptively." Donâ€™t be fooled! Where it might appear trivially straightforward at surface level, it actually boasts an arrayâ€”pun intendedâ€”of nuances worthy of taking a second gander.

08/

#### Linked Lists

The data structure whose singular purpose in life is to be reversed. Even right here on siolabs, in fact. Thatâ€™s right, head on over to the hard questions list after watching this video, and reverse that bad boy every which way to Sunday.

09/

#### Hash Tables

Fun. Fast. Flexible. This beloved data structure is a fan favorite among interviewers and interviewees alike, and for good reason: it lends itself extremely well to any problem requiring some sort of lookup operation, of which (spoiler alert) there are many. Watch out for those collisions though!

10/

#### Stacks And Queues

Push. Pop. FIFO. LIFO. That pretty much sums up stacks and queues. Ok, there might be a bit more to them than meets the eye. Watch our video to find out. Plus, it even features nifty stick figures!

11/

#### Strings

Not a standalone data structure per se, strings are generally considered to be a data type that behaves like a data structure. Nonetheless, they do possess a few interesting characteristics that earn them a dedicated video here in our course. Letâ€™s dive in!

12/

#### Graphs

These collections of edges and vertices might look as banal as a child's scribble on a restaurant table, but they're of fundamental importance in discrete mathematics. The eponymous field of "graph theory" is dedicated to their study, and their importance in mathematics carries over to computer science.

13/

#### Trees

A special type of graph, trees excel at storing data hierarchically and are commonly used as a means of testing your knowledge of recursion during coding interviews. Interesting fact: unlike their botanical counterparts, these digital perennials sport but a single, unique root.