01. 开篇词|真实世界的算法,和你想的不一样.html
02. 先导篇|诶,这个 git diff 好像不是很直观?.html
03. 01|动态数组:按需分配的vector为什么要二倍扩容?.html
04. 02|双向链表:list如何实现高效地插入与删除?.html
05. 03|双端队列:并行计算中的工作窃取算法如何实现?.html
06. 04|栈:函数调用的秘密究竟是什么?.html
07. 05|HashMap:一个优秀的散列表是怎么来的?.html
08. 06|TreeMap:红黑树真的有那么难吗?.html
09. 07|堆:如何实现一个高效的优先队列?.html
10. 08|外部排序:如何为TB级数据排序?.html
11. 09|二分:如何高效查询Kafka中的消息?.html
12. 10|搜索算法: 一起来写一个简单的爬虫?.html
13. 11|字符串匹配:如何实现最快的grep工具.html
14. 12|拓扑排序:Webpack是如何确定构建顺序的?.html
15. 13|哈夫曼树:HTTP2.0是如何更快传输协议头的?.html
16. 14|调度算法:操作系统中的进程是如何调度的?.html
17. 15|LRU:在虚拟内存中页面是如何置换的?.html
18. 16|日志型文件系统:写入文件的时候断电了会发生什么?.html
19. 17|选路算法:Dijkstra是如何解决最短路问题的?.html
20. 18|选路算法:链路状态算法是如何分发全局信息的.html
21. 19|选路算法:距离矢量算法为什么会产生无穷计算问题?.html
22. 20|滑动窗口:TCP是如何进行流量控制和拥塞控制的?.html
23. 21|分而治之:MapReduce如何解决大规模分布式计算问题.html
24. 22|PageRank:谷歌是如何计算网页排名的.html
25. 23|Raft:分布式系统间如何达成共识?.html
26. 24|UUID:如何高效生成全局的唯一ID?.html
27. 25|一致性哈希:如何在集群上合理分配流量?.html
28. 26|B+ Tree:PostgreSQL 的索引是如何建立的?.html
29. 27|LSM Tree:LevelDB的索引是如何建立的?.html
30. 28|MVCC:如何突破数据库并发读写性能瓶颈?.html
31. 29|位图:如何用更少空间对大量数据进行去重和排序?.html
32. 30|布隆过滤器:如何解决Redis缓存穿透问题?.html
33. 31|跳表:Redis是如何存储有序集合的?.html
34. 32|时间轮:Kafka是如何实现定时任务的?.html
35. 33|限流算法:如何防止系统过载?.html
36. 34|前缀树:Web框架中如何实现路由匹配?.html
37. 特别策划|面试:BAT面试三关准备方法大揭秘.html
38. 即学即练|基础数据结构篇:复习卡 & 算法题特训.html
39. 即学即练|基础算法思想篇:复习卡 & 算法题特训.html
40. 即学即练|操作系统篇:复习卡 & 算法题特训.html
41. 即学即练|计算机网络篇:复习卡 & 算法题特训.html
42. 即学即练|分布式篇:复习卡一键直达.html
43. 即学即练|工程实战篇:复习卡一键直达.html
44. 35|洗牌算法:随机的哲学,如何用程序来洗一副牌?.html
45. 36|分布式事务:如何理解两阶段提交?.html
46. 37|Thrift编码方法:为什么RPC往往不采用JSON作为网络传输格式?.html
47. 38|倒排索引:搜索引擎是如何做全文检索的?.html
48. 39|Geohash:点外卖时我们是如何查找到附近餐厅的?.html
49. 40|垃圾回收:现代语言是如何自动管理回收内存的?.html
50. 结束语|在技术的世界里享受思维的乐趣.html
51. 期末测试|来赴一场满分之约!.html