From 468c84c92f260f8ff56d74de9be34b2ed3b43f32 Mon Sep 17 00:00:00 2001 From: xiongraorao Date: Fri, 27 Jul 2018 13:33:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BD=91=E7=BB=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interview/README.md | 2 +- interview/blog.md | 1 + interview/java/base.md | 21 +++++++++++++++++++++ interview/network/base.md | 6 +++--- interview/note.md | 5 +++-- 5 files changed, 29 insertions(+), 6 deletions(-) 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