explaingit

tsiege/tech-interview-cheat-sheet

4,668TypeScriptAudience · developerComplexity · 2/5Setup · easy

TLDR

A plain-English study guide for software engineering job interviews covering data structures, algorithms, and Big-O notation, with TypeScript coding challenges to reinforce the concepts.

Mindmap

mindmap
  root((tech-interview-cheat-sheet))
    What it does
      Interview study guide
      CS fundamentals summary
      Coding challenges
    Topics Covered
      Data structures
      Sorting algorithms
      Search algorithms
      Big-O notation
    Tech Stack
      TypeScript
      JavaScript
    Audience
      Job seekers
      CS students
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Study data structures and algorithms to prepare for upcoming software engineering technical interviews.

USE CASE 2

Practice coding challenges in TypeScript that mirror common interview problems on arrays, trees, and hash tables.

USE CASE 3

Review Big-O complexity analysis for common operations to answer interview questions about performance trade-offs.

Tech stack

TypeScriptJavaScript

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

This repository is a study guide for technical job interviews at software companies. Those interviews often test candidates on computer science fundamentals like data structures, algorithms, and how to analyze the speed and memory use of code. The guide is written as a plain summary of those topics, described as the equivalent of a computer science course you might have skipped or forgotten. The content is organized into a few main areas. The first is asymptotic notation, which is the standard way of describing how an algorithm's performance scales as the amount of data grows. It explains the difference between best-case, worst-case, and average-case analysis using Big-O, Big-Omega, and Big-Theta notation. The second major area covers common data structures: arrays, linked lists, hash tables, and binary trees. Each one gets a plain-English definition, notes on what it is good and bad at, and a table of how fast common operations like searching, inserting, and deleting run in different scenarios. The third area covers algorithms, including search methods (breadth-first search and depth-first search) and sorting methods (selection sort, insertion sort, merge sort, and quick sort). Each algorithm gets an explanation of how it works, when to use it, and its time complexity. The repository also includes a set of coding challenges written in TypeScript that are meant to reinforce the concepts described in the guide. These are separate from the written content and linked from the README. The project is community-maintained and accepts corrections and additions through pull requests, provided contributors include a source for any factual changes. It is intended as a supplement for interview preparation, not a replacement for deeper study of any individual topic.

Copy-paste prompts

Prompt 1
Using the tech-interview-cheat-sheet as a reference, explain how a hash table resolves collisions and what the worst-case time complexity of a lookup is.
Prompt 2
Help me implement a depth-first search on a binary tree in TypeScript, following the approach described in the tech-interview-cheat-sheet.
Prompt 3
I have a technical interview tomorrow. Quiz me on the time complexity of merge sort, quick sort, and binary search using the cheat sheet as ground truth.
Prompt 4
Based on the tech-interview-cheat-sheet, compare a linked list and an array: when should I choose each one in an interview answer?
Open on GitHub → Explain another repo

← tsiege on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.