📚 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计
Go to file
2018-03-17 23:13:43 +08:00
notes auto commit 2018-03-17 23:13:43 +08:00
other Update download.md 2018-03-13 19:31:34 +08:00
pics auto commit 2018-03-17 14:43:21 +08:00
README.md auto commit 2018-03-16 20:22:54 +08:00

网络 ☁️

计算机网络

整理自《计算机网络 第七版》,重点内容会在标题后面加 *。

HTTP

整理自《图解 HTTP》

操作系统 💻

计算机操作系统

整理自《现代操作系统》和《计算机操作系统》

Linux

整理自《鸟哥的 Linux 私房菜》

数据结构与算法 ✏️

算法

整理自《算法 第四版》,主要整理了面试常问的排序和查找算法。

剑指 Offer 题解

《剑指 Offer 第二版》的最优解,在牛客网在线编程中出现的题目都已 AC。

Leetcode 题解

对题目做了一个分类,并对每种题型的解题思路做了总结。

面向对象 👫

设计模式

整理自《Head First 设计模式》

面向对象思想

一些面向对象思想和原则。

数据库 💾

数据库系统原理

整理自《数据库系统概论 第四版》

SQL

整理自《SQL 必知必会》

MySQL

整理自《高性能 MySQL》整理了一些重点内容。

Redis

整理自《Redis 设计与实现》和《Redis 实战》

Java

JVM

整理自《深入理解 Java 虚拟机》,主要整理了内存模型、垃圾回收以及类加载机制。

Java 并发

只整理了一些比较基础的概念,之后会继续添加更多内容。

Java 容器

容器的一些总结,包含容器源码的分析。

Java IO

File, InputStream OutputStream, Reader Writer, Serializable, Socket, NIO

Java 基础

整理了一些常见考点。

分布式 💦

分布式基础

整理自《大规模分布式存储系统》

一致性协议

两阶段提交、Paxos、Raft、拜占庭将军问题。

分布式问题分析

分布式事务、复杂均衡算法与实现、分布式锁、分布式 Session、分库分表的分布式困境与应对之策。

工具 🔨

Git

整理一些 Git 的使用和概念。

正则表达式

整理自《正则表达式必知必会》

编码实践 🙊

重构

重构是对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

代码可读性

编程有很大一部分时间是在阅读代码,可读性良好的代码能够大大提高编程效率。

代码风格规范

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

资料下载 ⬇️

Download

一些 PDF 书籍

后记 📝

网上有很多相关的资料,但是这些资料都比较零散。本仓库的笔记是从经典的书籍和材料中整理而来,在整理出重点的同时会尽可能保证知识的系统性,因此比较适合作为应对面试的学习资料。

笔记内容按照 中文文案排版指北 进行排版,以保证内容的可读性。这里提供了本人实现的文档排版工具的下载:Text-Typesetting

由于 Github 使用的 GFM 不支持 MathJax 公式,也不支持 TOC 标记,为了把本地的 Markdown 文档转换为 GFM 支持的格式,需要替换 MathJax 公式为 CodeCogs 的云服务和重新生成 TOC 目录。并且为了让图片显示效果更好,笔记内容基本使用了 <center> 标记来让图片居中显示,但是 GFM 却不支持 <center> 标记,因此也需要进行一定的转换。这里提供了本人实现的 GFM 文档转换工具的下载:GFM-Converter

因为大部分内容是一个字一个字打上去的,难免会有一些笔误,如果发现,可以直接在相应的文档上编辑修改。

如果觉得内容不够完善或者有写的不好的地方,您可以在 Issues 中发表反馈意见。

笔记内容可供个人随意使用,转载或者引用请注明出处,毕竟写了很长时间没那么轻松~

License

知识共享许可协议

本作品采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议 进行许可。