数据库系统原理 发表于 2018-07-04 | 更新于: 2018-07-09 | 分类于 Github , Interview-Notebook | 一、事务 概念 ACID AUTOCOMMIT 二、并发一致性问题 丢失修改 读脏数据 不可重复读 幻影读 三、封锁 封锁粒度 封锁类型 封锁协议 MySQL 隐式与显示锁定 四、隔离级别 未提交读(READ UNCOMMITTED) 提交读(READ COMMITTED) 可重复读 ... 阅读全文 »
剑指 offer 题解 发表于 2018-07-04 | 更新于: 2018-07-09 | 分类于 Github , Interview-Notebook | 2. 实现 Singleton 3. 数组中重复的数字 4. 二维数组中的查找 5. 替换空格 6. 从尾到头打印链表 7. 重建二叉树 8. 二叉树的下一个结点 9. 用两个栈实现队列 10.1 斐波那契数列 10.2 跳台阶 10.3 变态跳台阶 10.4 矩形覆盖 11. 旋转数组的最小数 ... 阅读全文 »
代码风格规范 发表于 2018-07-04 | 更新于: 2018-07-09 | 分类于 Github , Interview-Notebook | Twitter Java Style Guide Google Java Style Guide 阅读全文 »
分布式问题分析 发表于 2018-07-04 | 更新于: 2018-07-09 | 分类于 Github , Interview-Notebook | 一、分布式锁 数据库的唯一索引 Redis 的 SETNX 指令 Redis 的 RedLock 算法 Zookeeper 的有序节点 二、分布式事务 本地消息表 两阶段提交协议 三、分布式 Session Sticky Sessions Session Replication Sess ... 阅读全文 »
代码可读性 发表于 2018-07-04 | 更新于: 2018-07-09 | 分类于 Github , Interview-Notebook | 一、可读性的重要性 二、用名字表达代码含义 三、名字不能带来歧义 四、良好的代码风格 五、为何编写注释 六、如何编写注释 七、提高控制流的可读性 八、拆分长表达式 九、变量与可读性 十、抽取函数 十一、一次只做一件事 十二、用自然语言表述代码 十三、减少代码量 参考资料 一、可读性的重要性编 ... 阅读全文 »
一致性 发表于 2018-07-04 | 更新于: 2018-07-09 | 分类于 Github , Interview-Notebook | 一、CAP 一致性 可用性 分区容忍性 权衡 二、BASE 基本可用 软状态 最终一致性 三、2PC 运行过程 存在的问题 四、Paxos 执行过程 约束条件 五、Raft 单个 Candidate 的竞选 多个 Candidate 竞选 日志复制 参考资料 一、CAP分 ... 阅读全文 »
Socket 发表于 2018-07-04 | 更新于: 2018-07-09 | 分类于 Github , Interview-Notebook | 一、I/O 模型 阻塞式 I/O 非阻塞式 I/O I/O 复用 信号驱动 I/O 异步 I/O 同步 I/O 与异步 I/O 五大 I/O 模型比较 二、I/O 复用 select poll epoll select 和 poll 比较 epoll 工作模式 应用场景 参考资料 一 ... 阅读全文 »
SQL 发表于 2018-07-04 | 更新于: 2018-07-09 | 分类于 Github , Interview-Notebook | 一、基础 二、创建表 三、修改表 四、插入 五、更新 六、删除 七、查询 八、排序 九、过滤 十、通配符 十一、计算字段 十二、函数 十三、分组 十四、子查询 十五、连接 十六、组合查询 十七、视图 十八、存储过程 十九、游标 二十、触发器 二十一、事务处理 二十二、字符集 二十三、权限管理 参 ... 阅读全文 »
Redis 发表于 2018-07-04 | 更新于: 2018-07-09 | 分类于 Github , Interview-Notebook | 一、概述 二、数据类型 STRING LIST SET HASH ZSET 三、数据结构 字典 跳跃表 四、使用场景 计数器 缓存 查找表 消息队列 会话缓存 分布式锁实现 其它 五、Redis 与 Memcached 数据类型 数据持久化 分布式 内存管理机制 六、键的过期时间 ... 阅读全文 »
MySQL 发表于 2018-07-04 | 更新于: 2018-07-09 | 分类于 Github , Interview-Notebook | 一、存储引擎 InnoDB MyISAM 比较 二、数据类型 整型 浮点数 字符串 时间和日期 三、索引 B Tree 原理 索引分类 索引的优点 索引优化 四、查询性能优化 使用 Explain 进行分析 优化数据访问 重构查询方式 五、切分 水平切分 垂直切分 Shardin ... 阅读全文 »