挑战目录
选择一个挑战,在你自己的 IDE 中编码,使用 Git 提交触发自动测试。 每个挑战都经过精心设计,帮助你从零理解底层原理。
经典软件重构
5 个挑战热门
从零构建 Redis
Build your own Redis
深入学习 TCP 服务器、RESP 协议、内存数据库与持久化机制
97阶段
ru
go
py
c
+3
热门
从零构建 Git
Build your own Git
深入学习 Git 对象模型、SHA-1 哈希、树结构与版本控制原理
45阶段
ru
go
py
c
+2
热门
从零构建 Docker
Build your own Docker
深入学习 Linux 容器技术、Namespace、Cgroups 与镜像分层
52阶段
ru
go
c
cp
从零构建 SQLite
Build your own SQLite
深入学习 SQL 解析、B-Tree 索引、ACID 事务与文件格式
38阶段
ru
go
c
cp
+1
免费
从零构建 Shell
Build your own Shell
深入学习命令解析、进程管理、管道与重定向
47阶段
ru
go
c
cp
+2
协议算法重写
4 个挑战学术论文复现
4 个挑战热门
复现 Raft 共识算法
Implement Raft Consensus
复现 Diego Ongaro 的 Raft 论文,实现分布式共识
28阶段
ru
go
py
ja
复现 MapReduce
Implement MapReduce
复现 Google 经典论文,实现大规模数据并行处理框架
24阶段
go
py
ja
ru
复现比特币白皮书
Implement Bitcoin
复现中本聪论文,实现工作量证明、区块链与 UTXO 模型
32阶段
ru
go
py
cp
Beta
复现 Attention Is All You Need
Implement Transformer
复现 Google 的 Transformer 论文,实现自注意力机制
22阶段
py
支持的编程语言
使用你最熟悉的语言完成挑战。我们为每种语言提供了专门的 starter 代码和测试环境。
Ru
Rust
352 阶段
Go
Go
352 阶段
Py
Python
320 阶段
C
C
280 阶段
C+
C++
320 阶段
Ja
Java
240 阶段
Ty
TypeScript
200 阶段
Ja
JavaScript
180 阶段
Zi
Zig
160 阶段
Ha
Haskell
120 阶段