# Tech Interview Handbook: Complete Guide to Main Topics and Repository Structure

> Master the tech interview with this comprehensive handbook covering resume prep coding system design behavioral questions salary negotiation and more. Learn key topics and repository structure.

- Repository: [Yangshun Tay/tech-interview-handbook](https://github.com/yangshun/tech-interview-handbook)
- Tags: getting-started
- Published: 2026-02-25

---

**The Tech Interview Handbook covers the full software engineering interview lifecycle through nine core sections including resume preparation, coding interviews, system design, behavioral questions, salary negotiation, and algorithms cheat-sheets, organized as a Docusaurus site with content stored in `apps/website/contents/` and navigation defined in [`apps/website/sidebars.js`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/sidebars.js).**

The Tech Interview Handbook is a comprehensive open-source resource maintained in the `yangshun/tech-interview-handbook` repository. It serves as a structured knowledge base for software engineering interview preparation, organizing critical career advice and technical study materials into a navigable Docusaurus documentation site that covers everything from initial resume screening through final offer negotiation.

## Core Topics Covered in the Tech Interview Handbook

The handbook's navigation structure, defined in [`apps/website/sidebars.js`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/sidebars.js), organizes content into nine major thematic sections that span the entire interview process.

### Introduction and Getting Started

The **Introduction** section establishes context with the Software Engineering Interview Guide located at [`apps/website/contents/software-engineering-interview-guide.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/contents/software-engineering-interview-guide.md). The **Getting an Interview** section focuses on practical job-search tactics including resume preparation strategies documented in [`apps/website/contents/resume.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/contents/resume.md).

### Technical Interview Preparation

Three dedicated sections cover technical assessments:

- **Coding Interview Preparation**: Located in [`apps/website/contents/coding-interview-prep.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/contents/coding-interview-prep.md), this section provides study plans, language selection guidance, cheat-sheets, and mock interview techniques. The companion [`apps/website/contents/coding-interview-cheatsheet.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/contents/coding-interview-cheatsheet.md) offers quick reference materials.

- **System Design Interview Preparation**: The [`apps/website/contents/system-design.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/contents/system-design.md) file contains introductory system design concepts, though the handbook notes this section remains a work-in-progress.

- **Algorithms Study Cheat-Sheets**: A comprehensive reference organized into four difficulty tiers covering basics (arrays, strings, hash tables, recursion), data structures (linked lists, stacks, queues, matrices), advanced structures (trees, graphs, heaps, tries), and specialized topics (dynamic programming, binary operations, math, geometry). Example files include [`apps/website/contents/algorithms/array.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/contents/algorithms/array.md).

### Behavioral and Career Advancement

The handbook addresses soft skills and career logistics through:

- **Behavioral Interview Preparation**: Documented in [`apps/website/contents/behavioral-interview.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/contents/behavioral-interview.md), covering rubrics, question banks, and self-introduction frameworks.

- **Salary & Offer Negotiation**: The [`apps/website/contents/understanding-compensation.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/contents/understanding-compensation.md) file explains compensation structures, negotiation strategies, and offer comparison methods.

- **Beyond the Interview**: Career growth topics including engineering levels, job landscape analysis, and curated learning resources in [`apps/website/contents/career-growth.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/contents/career-growth.md).

## Repository Architecture and Content Organization

The Tech Interview Handbook is built as a **Docusaurus** static site, with content architecture defined through three primary components:

1. **Content Files**: All articles reside in `apps/website/contents/` as individual Markdown files (e.g., [`coding-interview-prep.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/coding-interview-prep.md), [`behavioral-interview.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/behavioral-interview.md)).

2. **Navigation Configuration**: The [`apps/website/sidebars.js`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/sidebars.js) file explicitly defines the hierarchy and grouping of topics, which Docusaurus renders as the site navigation menu.

3. **Site Configuration**: [`apps/website/docusaurus.config.js`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/docusaurus.config.js) manages theme settings, plugins, and the base URL for `https://www.techinterviewhandbook.org/`.

This modular design allows contributors to add, remove, or reorder content without modifying core site code.

## How to Add a New Topic to the Handbook

Contributing new content follows the repository's established file structure. To add a "Technical Writing for Interviews" article under the "Beyond the Interview" section:

First, create the Markdown file in the contents directory:

```markdown
<!-- File: apps/website/contents/technical-writing.md -->

# Technical Writing for Interviews

Clear communication is essential during coding interviews...

```

Then register the new page in [`apps/website/sidebars.js`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/sidebars.js):

```js
{
  'Beyond the interview': [
    // existing items…
    'technical-writing', // ← new entry
  ],
},

```

Running `npm run build` generates the static site with the new navigation entry automatically included.

## Key Files in the Repository

Understanding the Tech Interview Handbook's codebase requires familiarity with these critical paths:

- **[`apps/website/sidebars.js`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/sidebars.js)**: Defines the complete navigation hierarchy and topic groupings.
- **`apps/website/contents/*.md`**: Individual topic articles covering interview preparation domains.
- **[`apps/website/docusaurus.config.js`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/docusaurus.config.js)**: Site configuration and deployment settings.
- **[`algorithms/README.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/algorithms/README.md)**: Overview of algorithm cheat-sheet structure.
- **[`README.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/README.md)**: Project entry point and high-level documentation.

## Summary

The Tech Interview Handbook provides comprehensive coverage of software engineering interview preparation through:

- **Nine core sections** spanning resume preparation, coding interviews, system design, behavioral questions, salary negotiation, and career growth.
- **Modular Docusaurus architecture** with content stored in `apps/website/contents/` and navigation defined in [`apps/website/sidebars.js`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/sidebars.js).
- **Algorithm reference materials** organized by difficulty from basic arrays to advanced dynamic programming.
- **Practical contribution workflow** allowing community additions through Markdown files and sidebar configuration updates.

## Frequently Asked Questions

### What programming languages does the Tech Interview Handbook focus on?

The handbook is language-agnostic in its algorithm explanations but provides specific guidance on language selection for interviews in the coding interview preparation section. It covers trade-offs between popular choices like Python, Java, C++, and JavaScript, emphasizing that candidates should select languages they know well rather than learning new syntax specifically for interviews.

### How is the Tech Interview Handbook different from other interview preparation resources?

Unlike fragmented blog posts or paid courses, the Tech Interview Handbook is a comprehensive, open-source repository that covers the entire interview lifecycle from resume writing through salary negotiation. Its Docusaurus-based structure in `yangshun/tech-interview-handbook` allows for community contributions and continuous updates, while the modular organization in [`apps/website/sidebars.js`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/sidebars.js) ensures content remains navigable and logically grouped.

### Can I contribute to the Tech Interview Handbook, and how difficult is it to add new content?

Contributing is straightforward due to the repository's modular architecture. New topics require only two steps: creating a Markdown file in `apps/website/contents/` and registering it in [`apps/website/sidebars.js`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/sidebars.js). The Docusaurus static site generator automatically handles navigation rendering and page creation, making it accessible even for contributors with minimal web development experience.

### Does the Tech Interview Handbook cover system design interviews in depth?

The handbook includes a dedicated system design section located at [`apps/website/contents/system-design.md`](https://github.com/yangshun/tech-interview-handbook/blob/main/apps/website/contents/system-design.md), though the source analysis indicates this section is currently marked as a work-in-progress. It provides introductory system design concepts and frameworks, but candidates seeking comprehensive system design preparation may need to supplement with additional resources while the handbook content continues to expand.