📚 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计
Go to file
2018-02-27 19:19:04 +08:00
notes auto commit 2018-02-27 18:40:06 +08:00
pics auto commit 2018-02-27 19:17:18 +08:00
README.md auto commit 2018-02-27 19:19:04 +08:00

计算机基础知识整理

数据结构与算法

算法

整理自《算法 第四版》

Leetcode 题解

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

已经整理了 300+ 的题目,基本涵盖所有经典题目,持续整理中。

剑指 Offer 题解

目录按《剑指 Offer 第二版》编排,在牛客网的在线编程中出现的题目都已经 AC。

很多题目都在 Leetcode 中出现过,所以一些解题思路就不在这里重复写了。想要看解题思路的话,可以看《剑指 Offer》原书或者先看 Leetcode 题解,看完 Leetcode 题解再看剑指 Offer 会觉得很容易。

网络

计算机网络

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

HTTP

整理自《图解 HTTP》

操作系统

计算机操作系统

整理自《现代操作系统》

Linux

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

面向对象

设计模式

整理自《Head First 设计模式》,这本书内容废话太多,笔记内容提取了重点部分。

面向对象思想

一些面向对象思想和原则

数据库

SQL 语法

整理自《SQL 必知必会》,原书内容不多,笔记内容会更简洁。

MySQL

整理自《高性能 MySQL》重点整理。

Java

JVM

整理自《深入理解 Java 虚拟机》

Java 容器

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

Java IO

File、InputStream 和 OutputStream、Reader 和 Writer、Serializable、Socket 以及 NIO

编码实践

重构

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

编写可读代码的艺术

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

资料下载

百度网盘

一些 PDF 书籍

后记

原文发表在 牛客网:计算机基础知识整理

牛客网上有很多优质面经,面经往往会给出一些面试需要准备的知识列表,但是这些知识列表都很零散,不适合系统地进行学习。为此,楼主选取了一些计算机经典书籍和材料,对面试相关的计算机基础知识做了比较系统整理,希望对大家有所帮助。

整理的笔记开源在 Github 上包括数据结构与算法、网络、操作系统、面向对象。Github 仓库提供相关 PDF 书籍的下载,基本都是高清版本。

如果发现笔误,可以直接编辑修改,楼主会及时处理。

如果您觉得哪部分内容写的好或者不好,都希望您能在 Issues 中进行反馈,您的反馈是楼主改进的方向。

想要支持楼主的话,在 Github 上点个 Star 即可。

笔记内容基本是楼主一个字一个字打上去的,可供个人随意使用,转载请注明出处,毕竟写了很久没那么轻松~

楼主作为一个轻度强迫症患者,笔记内容会尽量保证排版美观,可读性好。为了让笔记内容更整洁,前前后后做了很多次修改,也写了一个为中英混排文档进行排版的脚本,来提高笔记的可读性。

为了上传笔记到 Github 上也花了不少时间。楼主使用的笔记软件是为知笔记怎么把笔记内容提取成文本文档并且提取笔记中的图片就是一个问题。Github 使用的是 GFM 来渲染 md 文档,和普通的 Markdown 不太一样,例如 GFM 不支持 MathJax 公式,也不支持 TOC 标记,为此需要替换 MathJax 公式为 CodeCogs 的云服务和重新生成 TOC 目录。楼主实现了脚本解决了上述的问题,并且整个过程可以一键进行,包括 Git 同步到仓库中。有需要该工具的话可以在我的 Github 中找到。