Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

LearningJavaPython/Interview-Notebook-PDF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

42 Commits

Repository files navigation

Interview-Notebook-PDF

用于提供 https://github.com/CyC2018/Interview-Notebook 项目的离线阅读

pdf使用 cmd-markdown 的付费工具手工进行pdf的转换。

原作者已经制作好gitbook地址:https://legacy.gitbook.com/book/cyc2018/interview-notebook/details

那么为什么还需要本仓库? 我个人认为cmd-markdown工具所转化的pdf相比gitbook直接生成的pdf拥有更好的阅读体验!

以前的单文件pdf并没有丢失, 直达链接


分割线

以下就可耻的抄袭原有仓库的内容介绍吧

I II III IV V VI VII VIII IX X
算法✏️ 操作系统💻 网络☁️ 面向对象👫 数据库💾 Java 系统设计💡 工具🔨 编码实践🙊 后记📝

算法 ✏️

剑指 Offer 题解

目录根据原书第二版进行编排,代码和原书有所不同,尽量比原书更简洁。

Leetcode 题解

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

算法

排序、并查集、栈和队列、红黑树、散列表。

操作系统 💻

计算机操作系统

进程管理、内存管理、设备管理、链接。

Linux

基本实现原理以及基本操作。

网络 ☁️

计算机网络

物理层、链路层、网络层、运输层、应用层。

HTTP

方法、状态码、Cookie、缓存、连接管理、HTTPs、HTTP 2.0。

Socket

I/O 模型、I/O 多路复用。

面向对象 👫

设计模式

实现了 Gof 的 23 种设计模式。

面向对象思想

三大原则(继承、封装、多态)、类图、设计原则。

数据库 💾

数据库系统原理

事务、锁、隔离级别、MVCC、间隙锁、范式。

SQL

SQL 基本语法。

Leetcode-Database 题解

Leetcode 上数据库题目的解题记录。

MySQL

存储引擎、索引、查询优化、切分、复制。

Redis

五种数据类型、字典和跳跃表数据结构、使用场景、和 Memcache 的比较、淘汰策略、持久化、文件事件的 Reactor 模式、复制。

Java ☕

Java 基础

不会涉及很多基本语法介绍,主要是一些实现原理以及关键特性。

Java 容器

源码分析:ArrayList、Vector、CopyOnWriteArrayList、LinkedList、HashMap、ConcurrentHashMap、LinkedHashMap、WeekHashMap。

Java 并发

线程使用方式、两种互斥同步方法、线程协作、JUC、线程安全、内存模型、锁优化。

Java 虚拟机

运行时数据区域、垃圾收集、类加载。

Java I/O

NIO 的原理以及实例。

系统设计 💡

系统设计基础

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

分布式

分布式锁、分布式事务、CAP、BASE、Paxos、Raft

集群

负载均衡、Session 管理

攻击技术

XSS、CSRF、SQL 注入、DDoS

缓存

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

消息队列

消息处理模型、使用场景、可靠性

工具 🔨

Git

一些 Git 的使用和概念。

Docker

Docker 基本原理。

正则表达式

正则表达式基本语法。

构建工具

构建工具的基本概念、主流构建工具介绍。

编码实践 🙊

重构

参考 重构 改善既有代码的设计。

代码可读性

参考 编写可读代码的艺术。

代码风格规范

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


文档转换步骤

1. 删除目录

<!-- GFM-TOC -->
***
<!-- GFM-TOC -->

2. 字符串替换

2.1 图像路径替换

对于所有的图片地址进行替换

例如:

src="../pics//f5757d09-88e7-4bbd-8cfb-cecf55604854.png"

替换为

src="https://github.com/CyC2018/Interview-Notebook/raw/master/pics/f5757d09-88e7-4bbd-8cfb-cecf55604854.png"

2.2 图像宽度替换

所有的width=""都需要删除 使用正则表达式 width="[0-9]*"进行替换

2.3 公式替换

所有公式需要替换为遵守 MathJax语法,代码为

public static void main(String[] args) {
 // 使用最小匹配
 String templete = "<img src=\"https://latex.codecogs.com/gif.latex?.*?\"/>";
 Pattern pattern = Pattern.compile(templete);
 String testStr = "为每个用户分配 m bit 的码片,并且所有的码片正交,对于任意两个码片 <img src=\"https://latex.codecogs.com/gif.latex?\\vec{S}\"/> 和 <img src=\"https://latex.codecogs.com/gif.latex?\\vec{T}\"/> 有";
 Matcher matcher = pattern.matcher(testStr);
 while (matcher.find()) {
 String str = matcher.group(0);
 System.out.println(str);
 String newStr = str.substring(str.indexOf("?") + 1, str.length() - 3);
 System.out.println("$" + newStr + "$");
 testStr = testStr.replace(str, "$" + newStr + "$");
 }
 System.out.println(testStr);
}

About

https://github.com/CyC2018/Interview-Notebook PDF版本离线阅读

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /