JavaScript-Algorithms
基础理论+JS框架应用+实践,从0到1构建整个前端算法体系
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.
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.
Where it fits
- Study for coding interviews at Chinese tech companies like Tencent, ByteDance, and Alibaba using tagged real interview questions.
- Learn data structures and algorithms from scratch as a front-end JavaScript developer.
- Work through LeetCode-style problems organized by topic such as trees, graphs, and sorting.
- Understand how algorithms apply to reading framework source code and writing better software.