CS-Notes/README.md
2018-03-16 20:22:54 +08:00

166 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- <br>
<div align="center">
<img src="https://github.com/CyC2018/InterviewNotes/blob/master/other/handbook.png" alt="" width="175"/>
<img src="https://img.shields.io/badge/update-today-blue.svg"/> <img src="https://img.shields.io/badge/gitbook-making-yellow.svg"/>
</div>
<br> -->
![](https://img.shields.io/badge/update-today-blue.svg) ![](https://img.shields.io/badge/gitbook-making-lightgrey.svg)
## 网络 :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:
> [JVM](https://github.com/CyC2018/InnterviewNotes/blob/master/notes/JVM.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 IO](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)
整理了一些常见考点。
## 分布式 :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:
网上有很多相关的资料,但是这些资料都比较零散。本仓库的笔记是从经典的书籍和材料中整理而来,在整理出重点的同时会尽可能保证知识的系统性,因此比较适合作为应对面试的学习资料。
笔记内容按照 [中文文案排版指北](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)。
由于 Github 使用的 GFM 不支持 MathJax 公式,也不支持 TOC 标记,为了把本地的 Markdown 文档转换为 GFM 支持的格式,需要替换 MathJax 公式为 CodeCogs 的云服务和重新生成 TOC 目录。并且为了让图片显示效果更好,笔记内容基本使用了 &lt;center> 标记来让图片居中显示,但是 GFM 却不支持 &lt;center> 标记,因此也需要进行一定的转换。这里提供了本人实现的 GFM 文档转换工具的下载:[GFM-Converter](https://github.com/CyC2018/GFM-Converter)。
因为大部分内容是一个字一个字打上去的,难免会有一些笔误,如果发现,可以直接在相应的文档上编辑修改。
如果觉得内容不够完善或者有写的不好的地方,您可以在 Issues 中发表反馈意见。
笔记内容可供个人随意使用,转载或者引用请注明出处,毕竟写了很长时间没那么轻松~
<!-- ## Donate
[Alipay](https://github.com/CyC2018/InterviewNotes/blob/master/other/alipay.md)
<img src="./other/alipay.png" alt="" width="150"/> -->
## License
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/cn/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/3.0/cn/88x31.png" /></a>
本作品采用 <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/cn/">知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议</a> 进行许可。