README.md 9.6 KB
Newer Older
C
CyC2018 已提交
1 2
| Ⅰ | Ⅱ | Ⅲ | Ⅳ | Ⅴ | Ⅵ | Ⅶ | Ⅷ | Ⅸ | Ⅹ |
| :--------: | :---------: | :---------: | :---------: | :---------: | :---------:| :---------: | :-------: | :-------:| :------:|
C
CyC2018 已提交
3
| 算法[:pencil2:](#算法-pencil2) | 操作系统[:computer:](#操作系统-computer)|网络[:cloud:](#网络-cloud) | 面向对象[:couple:](#面向对象-couple) |数据库[:floppy_disk:](#数据库-floppy_disk)| Java [:coffee:](#java-coffee)| 系统设计[:bulb:](#系统设计-bulb)| 工具[:hammer:](#工具-hammer)| 编码实践[:speak_no_evil:](#编码实践-speak_no_evil)| 后记[:memo:](#后记-memo) |
C
CyC2018 已提交
4

C
CyC2018 已提交
5 6
<br>
<div align="center">
C
fix  
CyC2018 已提交
7
    <img src="other/LogoMakr_0zpEzN.png" width="150px">
C
fix  
CyC2018 已提交
8 9
    <br>
    <a href="https://gitter.im/CyC2018-Interview-Notebook/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link"> <img src="https://img.shields.io/badge/>-gitter-4ab8a1.svg"></a> <a href="https://legacy.gitbook.com/book/cyc2018/interview-notebook/details"> <img src="https://img.shields.io/badge/_-gitbook-4ab8a1.svg"></a> 
C
CyC2018 已提交
10 11
</div>

C
fix  
CyC2018 已提交
12 13
<!-- [![](https://img.shields.io/badge/>-gitter-blue.svg)](https://gitter.im/CyC2018-Interview-Notebook/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link) [![](https://img.shields.io/badge/_-gitbook-4ab8a1.svg)](https://legacy.gitbook.com/book/cyc2018/interview-notebook/details)  -->

C
CyC2018 已提交
14
## 算法 :pencil2:
C
CyC2018 已提交
15

C
CyC2018 已提交
16
> [剑指 Offer 题解](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/剑指%20offer%20题解.md)
C
CyC2018 已提交
17

C
CyC2018 已提交
18
目录根据原书第二版进行编排。
C
CyC2018 已提交
19 20 21

> [Leetcode 题解](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Leetcode%20题解.md)

C
CyC2018 已提交
22
做了一个大致分类,并对每种分类题型的解题思路做了总结。
C
CyC2018 已提交
23

C
CyC2018 已提交
24 25
> [算法](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/算法.md)

C
CyC2018 已提交
26
主要参考 Robert Sedgewick 的算法书进行实现,源代码以及测试代码可在另一个仓库获取。
C
CyC2018 已提交
27

C
CyC2018 已提交
28
## 操作系统 :computer:
C
CyC2018 已提交
29 30 31

> [计算机操作系统](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/计算机操作系统.md)

C
CyC2018 已提交
32
参考 现代操作系统、Unix 环境高级编程、深入理解计算机系统。
C
CyC2018 已提交
33 34 35

> [Linux](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Linux.md)

C
CyC2018 已提交
36
参考 鸟哥的 Linux 私房菜。
C
CyC2018 已提交
37

C
CyC2018 已提交
38
## 网络 :cloud:
C
CyC2018 已提交
39

C
CyC2018 已提交
40
> [计算机网络](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/计算机网络.md)
C
CyC2018 已提交
41

C
CyC2018 已提交
42
参考 谢希仁的计算机网络、计算机网络 自顶向下方法、TCP/IP 详解。
C
CyC2018 已提交
43

C
CyC2018 已提交
44
> [HTTP](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/HTTP.md)
C
CyC2018 已提交
45

C
CyC2018 已提交
46
参考 图解 HTTP,更多的是参考网上的文档,比如 MDN、维基百科等。
C
CyC2018 已提交
47

C
CyC2018 已提交
48 49
> [Socket](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Socket.md)

C
CyC2018 已提交
50
参考 Unix 网络编程。
C
CyC2018 已提交
51

C
CyC2018 已提交
52
## 面向对象 :couple:
C
CyC2018 已提交
53 54 55

> [设计模式](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/设计模式.md)

C
CyC2018 已提交
56
参考 Head First 设计模式、设计模式 可复用面向对象软件的基础,实现了 Gof 的 23 种设计模式。
C
CyC2018 已提交
57 58 59

> [面向对象思想](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/面向对象思想.md)

C
CyC2018 已提交
60
内容包括三大原则(继承、封装、多态)、类图、设计原则。
C
CyC2018 已提交
61

C
CyC2018 已提交
62
## 数据库 :floppy_disk:
C
CyC2018 已提交
63

C
CyC2018 已提交
64 65
> [数据库系统原理](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/数据库系统原理.md)

C
CyC2018 已提交
66
参考 数据库系统原理。
C
CyC2018 已提交
67

C
CyC2018 已提交
68
> [SQL](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/SQL.md)
C
CyC2018 已提交
69

C
CyC2018 已提交
70
参考 SQL 必知必会。
C
CyC2018 已提交
71

C
CyC2018 已提交
72
> [Leetcode-Database 题解](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Leetcode-Database%20题解.md)
C
CyC2018 已提交
73

C
CyC2018 已提交
74
Leetcode 上数据库题目的解题记录。
C
CyC2018 已提交
75

C
CyC2018 已提交
76 77
> [MySQL](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/MySQL.md)

C
CyC2018 已提交
78
参考 高性能 MySQL。
C
CyC2018 已提交
79

C
CyC2018 已提交
80 81
> [Redis](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Redis.md)

C
CyC2018 已提交
82
参考 Redis 设计与实现、Redis 实战。
C
CyC2018 已提交
83

C
CyC2018 已提交
84
## Java :coffee:
C
CyC2018 已提交
85

C
CyC2018 已提交
86 87
> [Java 基础](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20基础.md)

C
CyC2018 已提交
88
参考 Effective Java、Java 编程思想,也有部分内容参考官方文档以及 StackOverflow。
C
CyC2018 已提交
89

C
CyC2018 已提交
90
> [Java 容器](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20容器.md)
C
CyC2018 已提交
91

C
CyC2018 已提交
92
包含容器源码分析。
C
CyC2018 已提交
93 94 95

> [Java 并发](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20并发.md)

C
CyC2018 已提交
96
参考 Java 编程思想、深入理解 Java 虚拟机。
C
CyC2018 已提交
97

C
CyC2018 已提交
98
> [Java 虚拟机](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20虚拟机.md)
C
CyC2018 已提交
99

C
CyC2018 已提交
100
参考 深入理解 Java 虚拟机。
C
CyC2018 已提交
101

C
CyC2018 已提交
102
> [Java I/O](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20IO.md)
C
CyC2018 已提交
103

C
CyC2018 已提交
104
包含 NIO 的原理以及实例。
C
CyC2018 已提交
105

C
CyC2018 已提交
106
## 系统设计 :bulb:
C
CyC2018 已提交
107

C
CyC2018 已提交
108 109 110 111
> [系统设计基础](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/系统设计基础.md)

性能、伸缩性、扩展性、可用性、安全性

C
CyC2018 已提交
112
> [分布式](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/分布式.md)
C
CyC2018 已提交
113

C
CyC2018 已提交
114
分布式锁、分布式事务、CAP、BASE、Paxos、Raft
C
CyC2018 已提交
115

C
CyC2018 已提交
116
> [集群](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/集群.md)
C
CyC2018 已提交
117

C
CyC2018 已提交
118 119
负载均衡、Session 管理

C
CyC2018 已提交
120
> [攻击技术](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/攻击技术.md)
C
CyC2018 已提交
121

C
CyC2018 已提交
122
XSS、CSRF、SQL 注入、DDoS
C
CyC2018 已提交
123

C
CyC2018 已提交
124 125 126 127
> [缓存](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/缓存.md)

缓存特征、缓存位置、缓存问题、数据分布、一致性哈希、LRU、CDN

C
CyC2018 已提交
128 129 130
> [消息队列](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/消息队列.md)

消息处理模型、使用场景、可靠性
C
CyC2018 已提交
131

C
CyC2018 已提交
132 133
## 工具 :hammer:

C
CyC2018 已提交
134
> [Git](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Git.md)
C
CyC2018 已提交
135

C
CyC2018 已提交
136
一些 Git 的使用和概念。
C
CyC2018 已提交
137

C
CyC2018 已提交
138 139 140 141
> [Docker](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Docker.md)

Docker 基本原理。

C
CyC2018 已提交
142 143
> [正则表达式](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/正则表达式.md)

C
CyC2018 已提交
144
参考 正则表达式必知必会。
C
CyC2018 已提交
145

C
CyC2018 已提交
146 147
> [构建工具](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/构建工具.md)

C
CyC2018 已提交
148
构建工具的基本概念、主流构建工具介绍
C
CyC2018 已提交
149

C
CyC2018 已提交
150
## 编码实践 :speak_no_evil:
C
CyC2018 已提交
151 152 153

> [重构](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/重构.md)

C
CyC2018 已提交
154
参考 重构 改善既有代码的设计。
C
CyC2018 已提交
155

C
CyC2018 已提交
156
> [代码可读性](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/代码可读性.md)
C
CyC2018 已提交
157

C
CyC2018 已提交
158
参考 编写可读代码的艺术。
C
CyC2018 已提交
159

C
CyC2018 已提交
160 161 162 163
> [代码风格规范](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/代码风格规范.md)

Google 开源项目的代码风格规范。

C
CyC2018 已提交
164
## 后记 :memo:
C
CyC2018 已提交
165

C
CyC2018 已提交
166
**About**
C
CyC2018 已提交
167

郑永川 已提交
168
这个仓库是笔者的一个学习笔记,主要总结一些比较重要的知识点,希望对大家有所帮助。
C
CyC2018 已提交
169

郑永川 已提交
170
笔记不是从网上到处复制粘贴拼凑而来,虽然有少部分内容会直接引入书上原文或者官方技术文档的原文,但是没有直接摘抄其他人的博客文章,只做了参考,参考的文章会在最后给出链接。
C
CyC2018 已提交
171

郑永川 已提交
172
[BOOKLIST](https://github.com/CyC2018/Interview-Notebook/blob/master/BOOKLIST.md),这个书单是笔者至今看的一些比较好的技术书籍,虽然没有全都看完,但每本书多多少少都看了一部分。
C
CyC2018 已提交
173

郑永川 已提交
174
**How To Contribute**
C
CyC2018 已提交
175

C
CyC2018 已提交
176
笔记内容是笔者一个字一个字打上去的,难免会有一些笔误,如果发现笔误可直接在相应文档进行编辑修改。
C
CyC2018 已提交
177

郑永川 已提交
178 179
欢迎提交对本仓库的改进建议~

郑永川 已提交
180
**Authorization**
C
CyC2018 已提交
181

C
CyC2018 已提交
182
虽然没有加开源协议,但是允许非商业性使用。
郑永川 已提交
183 184

转载使用请注明出处,谢谢!
C
CyC2018 已提交
185

C
CyC2018 已提交
186
**Uploading**
C
CyC2018 已提交
187 188 189

笔者在本地使用为知笔记软件进行书写,为了方便将本地笔记内容上传到 Github 上,实现了一整套自动化上传方案,包括文本文件的导出、提取图片、Markdown 文档转换、Git 同步。

郑永川 已提交
190 191
进行 Markdown 文档转换是因为 Github 使用的 GFM 不支持 MathJax 公式和 TOC 标记,所以需要替换 MathJax 公式为 CodeCogs 的云服务和重新生成 TOC 目录。

C
CyC2018 已提交
192
这里提供了笔者实现的 GFM 文档转换工具的链接:[GFM-Converter](https://github.com/CyC2018/GFM-Converter)
C
CyC2018 已提交
193

C
CyC2018 已提交
194
**Typesetting**
C
CyC2018 已提交
195

郑永川 已提交
196 197 198
笔记内容按照 [中文文案排版指北](http://mazhuang.org/wiki/chinese-copywriting-guidelines/) 进行排版,以保证内容的可读性。

笔记不使用 `![]()` 这种方式来引用图片,而是用 `<img>` 标签。一方面是为了能够控制图片以合适的大小显示,另一方面是因为 GFM 不支持 `<center> ![]() </center>` 让图片居中显示,只能使用 `<div align="center"> <img src=""/> </div>` 达到居中的效果。
C
CyC2018 已提交
199

C
CyC2018 已提交
200
这里提供了笔者实现的中英混排文档在线排版工具的链接:[Text-Typesetting](https://github.com/CyC2018/Markdown-Typesetting)
C
CyC2018 已提交
201

C
CyC2018 已提交
202
**Statement**
C
CyC2018 已提交
203 204 205

本仓库不参与商业行为,不向读者收取任何费用。(This repository is not engaging in business activities, and does not charge readers any fee.)

C
fix  
CyC2018 已提交
206 207
**Logo**

C
CyC2018 已提交
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
Power by [logomakr](https://logomakr.com/).

**Acknowledgements**

感谢以下人员对本仓库做出的贡献,当然不仅仅只有这些贡献者,这里就不一一列举了。如果你希望被添加到这个名单中,并且提交过 Issue 或者 PR,请与笔者联系。

<a href="https://github.com/linw7">
    <img src="other/21679154.png" width="50px">
</a> 
<a href="https://github.com/g10guang">
    <img src="other/18458140.jpg" width="50px">
</a> 
<a href="https://github.com/ResolveWang">
    <img src="other/8018776.jpg" width="50px">
</a>
<a href="https://github.com/crossoverJie">
    <img src="other/15684156.jpg" width="50px">
</a> 
<a href="https://github.com/jy03078584">
    <img src="other/7719370.png" width="50px">
</a>
<a href="https://github.com/kwongtailau">
    <img src="other/22954582.jpg" width="50px">
</a>
<a href="https://github.com/xiangflight">
    <img src="other/10072416.jpg" width="50px">
</a>

C
fix  
CyC2018 已提交
236

C
CyC2018 已提交
237