![](https://img.shields.io/badge/update-today-blue.svg) ![](https://img.shields.io/badge/gitbook-making-lightgrey.svg)

| Ⅰ | Ⅱ | Ⅲ | Ⅳ | Ⅴ | Ⅵ | Ⅶ | Ⅷ | Ⅸ | Ⅹ | Ⅺ | | :--------: | :---------: | :---------: | :---------: | :---------: | :---------:| :---------: | :-------: | :-------:| :------:| :-------:| |网络[:cloud:](#网络-cloud) |操作系统[:computer:](#操作系统-computer)| 算法[:pencil2:](#数据结构与算法-pencil2)| 面向对象[:couple:](#面向对象-couple) |数据库[:floppy_disk:](#数据库-floppy_disk)| Java [:coffee:](#java-coffee)| 分布式[:sweat_drops:](#分布式-sweat_drops)| 工具[:hammer:](#工具-hammer)| 编码实践[:speak_no_evil:](#编码实践-speak_no_evil)| 资料下载[:arrow_down:](#资料下载-arrow_down)| 后记[:memo:](#后记-memo) | ## 网络 :cloud: > [计算机网络](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/计算机网络.md) 整理自《计算机网络 第七版》,重点内容会在标题后面加 \*。 > [HTTP](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/HTTP.md) 整理自《图解 HTTP》 ## 操作系统 :computer: > [计算机操作系统](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/计算机操作系统.md) 整理自《现代操作系统》和《计算机操作系统》 > [Linux](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Linux.md) 整理自《鸟哥的 Linux 私房菜》 ## 数据结构与算法 :pencil2: > [算法](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/算法.md) 整理自《算法 第四版》 > [剑指 Offer 题解](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/剑指%20offer%20题解.md) 《剑指 Offer 第二版》的最优解,在牛客网在线编程中出现的题目都已 AC。 > [Leetcode 题解](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Leetcode%20题解.md) 对题目做了一个分类,并对每种题型的解题思路做了总结。 ## 面向对象 :couple: > [设计模式](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/设计模式.md) 整理自《Head First 设计模式》 > [面向对象思想](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/面向对象思想.md) 一些面向对象思想和设计原则。 ## 数据库 :floppy_disk: > [数据库系统原理](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/数据库系统原理.md) 整理自《数据库系统概论 第四版》 > [SQL](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/SQL.md) 整理自《SQL 必知必会》 > [MySQL](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/MySQL.md) 整理自《高性能 MySQL》 > [Redis](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Redis.md) 整理自《Redis 设计与实现》和《Redis 实战》 ## Java :coffee: > [Java 虚拟机](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20虚拟机.md) 整理自《深入理解 Java 虚拟机》 > [Java 并发](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20并发.md) 只整理了一些比较基础的概念,之后会继续添加更多内容。 > [Java 容器](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20容器.md) 容器的一些总结,包含容器源码的分析。 > [Java I/O](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20IO.md) File, InputStream OutputStream, Reader Writer, Serializable, Socket, NIO > [Java 基础](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Java%20基础.md) 整理了一些常见考点。 > [JDK 中的设计模式](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/JDK%20中的设计模式.md) 对每种设计模式做了一个总结,并给出在 JDK 中的使用实例。 ## 分布式 :sweat_drops: > [分布式基础](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/分布式基础.md) 整理自《大规模分布式存储系统》 > [一致性协议](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/一致性协议.md) 两阶段提交、Paxos、Raft、拜占庭将军问题。 > [分布式问题分析](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/分布式问题分析.md) 分布式事务、复杂均衡算法与实现、分布式锁、分布式 Session、分库分表的分布式困境与应对之策。 ## 工具 :hammer: > [Git](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/Git.md) 整理一些 Git 的使用和概念。 > [正则表达式](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/正则表达式.md) 整理自《正则表达式必知必会》 ## 编码实践 :speak_no_evil: > [重构](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/重构.md) 重构是对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。 > [代码可读性](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/代码可读性.md) 编程有很大一部分时间是在阅读代码,可读性良好的代码能够大大提高编程效率。 > [代码风格规范](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/代码风格规范.md) Google 开源项目的代码风格规范。 ## 资料下载 :arrow_down: > [Download](https://github.com/CyC2018/Interview-Notebook/blob/master/other/download.md) 一些 PDF 书籍 ## 后记 :memo: (一)关于仓库 本仓库是笔者在准备 2018 年春招实习过程中的学习总结,内容以计算机书籍的学习笔记为主,在整理重点知识的同时会尽量保证知识的系统性。 (二)关于贡献 因为大部分内容是笔者一个字一个字打上去的,所有难免会有一些笔误。如果发现,可以直接在相应的文档上编辑修改。 笔者能力有限,很多内容还不够完善。如果您希望和笔者一起完善这个仓库,可以在发表一个 Issue,表明您想要添加的内容,笔者会及时查看。 因为不打算将这个仓库做成一个大而全的面试宝典,因此只希望添加一些比较通用的基础知识,或者是和 Java 与分布式相关的内容,但是不添加 Java Web 相关的内容。 您也可以在 Issues 中发表一些关于改进本仓库的反馈意见。 (三)关于上传 笔者在本地使用为知笔记软件进行书写,为了方便将本地笔记内容上传到 Github 上,实现了一整套自动化上传方案,包括文本文件的导出、提取图片、Markdown 文档转换、Git 同步。 进行 Markdown 文档转换的原因是 Github 使用的 GFM 不支持 MathJax 公式,也不支持 TOC 标记,因此需要替换 MathJax 公式为 CodeCogs 的云服务和重新生成 TOC 目录。这里提供了笔者实现的 GFM 文档转换工具的下载:[GFM-Converter](https://github.com/CyC2018/GFM-Converter)。 (四)关于排版 笔记内容按照 [中文文案排版指北](http://mazhuang.org/wiki/chinese-copywriting-guidelines/#%E4%B8%8D%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%9C%B0%E9%81%93%E7%9A%84%E7%BC%A9%E5%86%99) 进行排版,以保证内容的可读性。这里提供了笔者实现的中英混排文档在线工具:[Text-Typesetting](https://github.com/CyC2018/Markdown-Typesetting),目前实现了加空格的功能,之后打算实现对英文专有名词提示首字母大写的功能。 不使用 `![]()` 这种方式来引用图片的原因是为了能够控制图片以合适的大小显示,并且在 GFM 中无法使用 `
![]()
` 让图片居中显示,只能使用 `
` 达到此目的。 (五)关于转载 本仓库内容使用到的资料都会在最后面的参考资料中给出引用链接,希望您在使用本仓库的内容时也能给出相应的引用链接。 ## License 知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议 进行许可。