explaingit

sisteran/javascript-algorithms

5,690Audience · developerComplexity · 3/5Setup · easy

TLDR

A Chinese-language study guide for JavaScript developers preparing for coding interviews at major tech companies like Tencent, ByteDance, and Alibaba. Covers data structures and algorithms with LeetCode problems tagged by company.

Mindmap

mindmap
  root((repo))
    Data Structures
      Arrays
      Linked Lists
      Stacks Queues
      Hash Tables
    Trees and Graphs
      Binary Trees
      Heaps
      Graphs
    Algorithm Strategies
      Greedy Algorithms
      Sorting Methods
      Problem Patterns
    Interview Prep
      Tencent Problems
      ByteDance Problems
      Alibaba Problems
    Learning Path
      Theory Articles
      Practice Problems
      Solutions
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 for coding interviews at Chinese tech companies like Tencent, ByteDance, and Alibaba using tagged real interview questions.

USE CASE 2

Learn data structures and algorithms from scratch as a front-end JavaScript developer.

USE CASE 3

Work through LeetCode-style problems organized by topic such as trees, graphs, and sorting.

USE CASE 4

Understand how algorithms apply to reading framework source code and writing better software.

Tech stack

JavaScript

Getting it running

Difficulty · easy Time to first run · 30min

No installation required. This is a reading and practice resource. Browse the README to find a topic, then follow links to articles and problems. Content is written in Chinese.

In plain English

This repository is a study guide for JavaScript developers who want to learn algorithms and data structures, with a focus on coding interview questions asked at Chinese tech companies. The content is written entirely in Chinese. The author, a front-end developer, argues that understanding algorithms helps you read framework source code more effectively and write better software overall. The material is organized by data structure type: arrays, linked lists, strings, stacks, queues, hash tables, binary trees, heaps, and graphs. Each section links to a series of articles or GitHub issues that explain the concept and walk through related practice problems, many pulled directly from LeetCode. Problems are tagged by which company has asked them in real interviews, including Tencent, ByteDance, Alibaba, Baidu, and others. The repository also covers algorithm strategies more broadly, such as greedy algorithms, sorting methods (with a dedicated article on nine common sorting approaches), and general problem-solving patterns. There are 15 or so numbered series articles that build up the theory from scratch, plus a larger set of categorized practice problems. This is a learning resource, not a software library. There is no code to install or run as a product. Readers are expected to work through the problems themselves, using the explanations and solutions provided as reference. The content targets people preparing for technical interviews at major technology companies, particularly those with a front-end JavaScript background.

Copy-paste prompts

Prompt 1
I'm a JavaScript front-end developer preparing for interviews at Tencent or ByteDance. Can you quiz me on binary tree problems and explain the solutions step by step in simple terms?
Prompt 2
Explain the difference between a stack and a queue with simple JavaScript examples, and give me a real interview question that tests each one.
Prompt 3
Walk me through the nine common sorting algorithms mentioned in this repo. Which ones come up most in tech interviews and why should I care about them?
Prompt 4
I'm stuck on a LeetCode problem involving hash tables. Can you explain how hash tables work and show me a pattern for solving lookup problems in JavaScript?
Prompt 5
What greedy algorithm problems should I practice first if I have two weeks before a coding interview at a major Chinese tech company?
Open on GitHub → Explain another repo

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

Verify against the repo before relying on details.