Git Product home page Git Product logo

interview-notebook's Introduction

算法✏️ 操作系统💻 网络☁️ 面向对象👫 数据库💾 Java 系统设计💡 工具🔨 编码实践🙊 后记📝

算法 ✏️

剑指 Offer 题解

目录根据原书第二版进行编排。

Leetcode 题解

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

算法

主要参考 Robert Sedgewick 的算法书进行实现,源代码以及测试代码可在另一个仓库获取。

操作系统 💻

计算机操作系统

参考 现代操作系统、Unix 环境高级编程、深入理解计算机系统。

Linux

参考 鸟哥的 Linux 私房菜。

网络 ☁️

计算机网络

参考 谢希仁的计算机网络、计算机网络 自顶向下方法、TCP/IP 详解。

HTTP

参考 图解 HTTP,更多的是参考网上的文档,比如 MDN、维基百科等。

Socket

参考 Unix 网络编程。

面向对象 👫

设计模式

参考 Head First 设计模式、设计模式 可复用面向对象软件的基础,实现了 Gof 的 23 种设计模式。

面向对象**

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

数据库 💾

数据库系统原理

参考 数据库系统原理。

SQL

参考 SQL 必知必会。

Leetcode-Database 题解

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

MySQL

参考 高性能 MySQL。

Redis

参考 Redis 设计与实现、Redis 实战。

Java ☕

Java 基础

参考 Effective Java、Java 编程**,也有部分内容参考官方文档以及 StackOverflow。

Java 容器

包含容器源码分析。

Java 并发

参考 Java 编程**、深入理解 Java 虚拟机。

Java 虚拟机

参考 深入理解 Java 虚拟机。

Java I/O

包含 NIO 的原理以及实例。

系统设计 💡

系统设计基础

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

分布式

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

集群

负载均衡、Session 管理

攻击技术

XSS、CSRF、SQL 注入、DDoS

缓存

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

消息队列

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

工具 🔨

Git

一些 Git 的使用和概念。

Docker

Docker 基本原理。

正则表达式

参考 正则表达式必知必会。

构建工具

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

编码实践 🙊

重构

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

代码可读性

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

代码风格规范

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

后记 📝

About

这个仓库是笔者的一个学习笔记,主要总结一些比较重要的知识点,希望对大家有所帮助。

笔记不是从网上到处复制粘贴拼凑而来,虽然有少部分内容会直接引入书上原文或者官方技术文档的原文,但是没有直接摘抄其他人的博客文章,只做了参考,参考的文章会在最后给出链接。

BOOKLIST,这个书单是笔者至今看的一些比较好的技术书籍,虽然没有全都看完,但每本书多多少少都看了一部分。

How To Contribute

笔记内容是笔者一个字一个字打上去的,难免会有一些笔误,如果发现笔误可直接在相应文档进行编辑修改。

如果想要提交一个仓库现在还没有的全新内容,可以先将相应的文档放到 other 目录下。

欢迎在 Issue 中提交对本仓库的改进建议~

Authorization

虽然没有加开源协议,但是允许非商业性使用。

转载使用请注明出处,谢谢!

Typesetting

笔记内容按照 中文文案排版指北 进行排版,以保证内容的可读性。

笔记不使用 ![]() 这种方式来引用图片,而是用 <img> 标签。一方面是为了能够控制图片以合适的大小显示,另一方面是因为 GFM 不支持 <center> ![]() </center> 让图片居中显示,只能使用 <div align="center"> <img src=""/> </div> 达到居中的效果。

笔者将自己实现的文档排版功能提取出来,放在 Github Page 中,无需下载安装即可免费使用:Text-Typesetting

Uploading

笔者在本地使用为知笔记软件进行书写,为了方便将本地笔记内容上传到 Github 上,实现了一整套自动化上传方案,包括文本文件的导出、提取图片、Markdown 文档转换、Git 同步。

进行 Markdown 文档转换是因为 Github 使用的 GFM 不支持 MathJax 公式和 TOC 标记,所以需要替换 MathJax 公式为 CodeCogs 的云服务和重新生成 TOC 目录。

笔者将自己实现文档转换功能提取出来,方便大家在需要将本地 Markdown 上传到 Github,或者制作项目 README 文档时生成目录时使用:GFM-Converter

Statement

本仓库不参与商业行为,不向读者收取任何费用。(This repository is not engaging in business activities, and does not charge readers any fee.)

Logo

Power by logomakr.

Acknowledgements

感谢以下人员对本仓库做出的贡献,当然不仅仅只有这些贡献者,这里就不一一列举了。如果你希望被添加到这个名单中,并且提交过 Issue 或者 PR,请与笔者联系。

interview-notebook's People

Contributors

0xkookoo avatar cmderq avatar crossoverjie avatar cxq1992 avatar cyc2018 avatar dawnmarch avatar evanljp avatar g10guang avatar gitbook-bot avatar gouden-den avatar handsomzohn avatar hankliu5 avatar heymingwei avatar hustcoderhu avatar jakseer avatar jesonzhuang avatar jiahaochang avatar kwongtailau avatar linw7 avatar mfzzz avatar moqimoqidea avatar onefansofworld avatar sixzeroo avatar smallyard avatar xbhoneybee avatar xiangflight avatar xiangmingzhe0928 avatar xngpro avatar yienxu avatar zhangxuelong10 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.