diff --git a/interview/README.md b/interview/README.md
index 36fc8db0..a9049271 100644
--- a/interview/README.md
+++ b/interview/README.md
@@ -23,7 +23,7 @@
蚂蚁金服 | | | [招聘官网](https://mp.weixin.qq.com/s/6THqKtD1sUF2034ZZYi0hw)
百度智能云技术三部 | 内推 | |
内推邮箱:zhangchi25@baidu.com
Thoutworks | 内推 | | [内推链接](https://jinshuju.net/f/CcO2JA)
-百度深研(深圳)| 提前批 | 简历命名格式:姓名+岗位+学校+电话邮件标题格式:应聘岗位+姓名+学校 | zhaorongcun@baidu.com 7月24日发邮件了
+百度深研(深圳)| 提前批 | 简历命名格式:姓名+岗位+学校+电话邮件标题格式:应聘岗位+姓名+学校 | zhaorongcun@baidu.com 7月24日发邮件了 7月27日收到面试通知
京东 | 内推 | | 786020019@qq.com (7.19日收到内推短信)
顺丰科技 | 网申 | 即日 -- 9.23日 | [招聘官网](http://campus.sf-tech.com.cn/campusRecruitment/Default.html?p=28668990421)
7月20日投了内推
多益网络 | 内推 | 内推笔试第一批:8.11 10:00 内推笔试第二批: 9.06 10:00 | [招聘官网](https://xz.duoyi.com/jobs/index.html?t=0)
7月20日投了内推
diff --git a/interview/blog.md b/interview/blog.md
index ac578c97..f3454c15 100644
--- a/interview/blog.md
+++ b/interview/blog.md
@@ -13,6 +13,7 @@
[数据结构基础概念篇](https://blog.csdn.net/qq_31196849/article/details/78529724)
[B_树和B+树](https://blog.csdn.net/crystal6918/article/details/78073721)
[hashmap linkedhashmap treemap的区别](https://www.cnblogs.com/acm-bingzi/p/javaMap.html)
+[B树,B-树和B+树的区别](https://blog.csdn.net/zwz2011303359/article/details/63262541)
## 数据库原理
diff --git a/interview/java/base.md b/interview/java/base.md
index 062fd61a..813950f4 100644
--- a/interview/java/base.md
+++ b/interview/java/base.md
@@ -1,2 +1,23 @@
# java基础
+## HashMap和ConcurrentHashMap
+
+HashMap和ConcurrentHashMap的最主要的区别就是前者是线程不安全,后者是线程安全的。在不同的JDK版本中,区别也不一样
+
+JDK1.7中:
+
+HashMap使用**链表法**来实现hash冲突节点的存储。ConcurrentHashMap使用Segment 数组存储数据,Segment 通过继承 ReentrantLock 来进行加锁。
+
+JDK1.8中:
+
+HashMap重复hash值的链表元素超过8个,就改成红黑树实现
+
+ConcurrentHashMap 不用segment,改成CAS+synchronized方法实现。
+
+CAS 的含义是“我认为原有的值应该是什么,如果是,则将原有的值更新为新值,否则不做修改,并告诉我原来的值是多少”
+
+参考文档:
+
+- [HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!](https://crossoverjie.top/2018/07/23/java-senior/ConcurrentHashMap/)
+
+- [Java多线程之CAS](https://blog.csdn.net/u010412719/article/details/52053390)
\ No newline at end of file
diff --git a/interview/network/base.md b/interview/network/base.md
index b9a8ca51..2fa8318f 100644
--- a/interview/network/base.md
+++ b/interview/network/base.md
@@ -251,9 +251,9 @@ SYN | 1 | 同步序号,用于建立连接过程,在连接请求中,SYN=1
FIN | 1 | finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。
窗口大小 | 16 | 滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。窗口大小最大为65535。
校验和 | 16 | 奇偶校验,此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据,以 16 位字进行计算所得。由发送端计算和存储,并由接收端进行验证。
-紧急指针 | 只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。
-可选项 | 最常见的可选字段是最长报文大小,又称为MSS(Maximum Segment Size),每个连接方通常都在通信的第一个报文段(为建立连接而设置SYN标志为1的那个段)中指明这个选项,它表示本端所能接受的最大报文段的长度。选项长度不一定是32位的整数倍,所以要加填充位,即在这个字段中加入额外的零,以保证TCP头是32的整数倍。
-数据部分 | TCP 报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。
+紧急指针| 16 | 只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。
+可选项 | 0-40 | 最常见的可选字段是最长报文大小,又称为MSS(Maximum Segment Size),每个连接方通常都在通信的第一个报文段(为建立连接而设置SYN标志为1的那个段)中指明这个选项,它表示本端所能接受的最大报文段的长度。选项长度不一定是32位的整数倍,所以要加填充位,即在这个字段中加入额外的零,以保证TCP头是32的整数倍。
+数据部分 | - | TCP 报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。
## TCP三次握手
diff --git a/interview/note.md b/interview/note.md
index 046967e6..e8a549d2 100644
--- a/interview/note.md
+++ b/interview/note.md
@@ -70,11 +70,12 @@ Java后端开发(大数据、分布式应用等)
算法和数据结构 | 7.20 | 7.20
计算机网络 | 7.25 | 7.25
操作系统 | 7.25 |
-数据库原理 | 7.25 |
+数据库原理 | 7.25 | 7.26 | 完成理论复习
Kafka | 7.31 | 7.26 | 完成理论复习,代码实践未完成
# 4. 时间轴
- 7.26
-1. 完成kafka的复习
\ No newline at end of file
+1. 完成kafka的复习
+2. 完成数据库的复习,B树和B+的原理
\ No newline at end of file