- 一面面试官人很好。
- 也是腾讯唯一一个和我全程视频露脸的面试官orz。
- 是我今年所有面试体验最好的,没有之一。
- 这一面只面技术不问项目(正好我项目不行,美得很)。
- 技术一个小时10分钟(天呐是今年最长的一场了),算法五分钟不到结束。
- 1.说一下mysql的悲观锁乐观锁实现乐观锁版本号加自旋。悲观锁就是slect for update或者share mode
- 2.javspan>a里面是怎么实现的呢悲观所主要是synchronized,走的操作系统mutex,又讲了一遍锁省级。乐观锁就是cas,底层是cpu指令。又说了下unsafe相关的内容。
- 3.如何取舍乐观锁悲观锁场景当时面试心情好,就说了大实话。场景取舍类似于上厕所。小号就是乐观锁,毕竟排队一会儿就能等到,配合自旋等待就行了,
- 如果使用悲观锁上下文切换(从厕所走到工位)花费的时间不划算。大号就是悲观锁了,毕竟等待的时间一般会很长。二者取舍就预测是否发生竞争,或者竞争的时间长不长。
- 4.说一下 concurrenthashmap 怎么实现。
- 1.8比起1.7有什么优化 cas+synchronized,1.7则为分段锁。另外优化了寻址算法和 hash 算法(具体说了下两个公式)。(ps ,最重要的红黑树没说,不过感觉不要紧啦)然后说了下怎么计算总数。扩容的步骤。
- 5.concurrenthashmap和hashtable的区别一个最终一致,一个强一致。前者读的时候不加锁。
- 6.问一下网络吧。三次握手过程,能不能改为两次经典八股文。ack,syn,半链接这些说一下就可以了。不能改为两次,
- 如果没有中间消息丢失在没有超时机制的情况下就会产生网络的死锁。(不过终于到了我最擅长的网络啦,之前除了字节三面就没人问我网络,不愧是腾讯,嘻嘻)
- 7.四次挥手说一下,能不能改为三次。
- 为什么要等待2msl挥手过程又是八股文。
- 可以改为三次,只要服务端开启延迟发送,第二第三步就可能变成一步。
- 2msl是为了保证序列号不紊乱,不产生脏数据。
- 顺便说了下序列号怎么产生的。
- 8.tcp的一些八股文,校验和,滑动窗口,拥塞控制,流控,nagle算法又是基础八股文,tcp最大的缺点也就在流控了。
- 流控还要维护整体网络,正常人一旦页面读取失败肯定会疯狂刷新页面啊。
- 怎么可能等待一段时间再刷页面呢。
- 9.https加密过程这一题我说太多了,从seesionid,sessionticket到加密套件的四个字断含义,加密套件只有两个算法需要填写,而只有一个算法需要填具体值。
- 还有服务端是否需要发送证书,客户端是否需要发送证书。
- 不同加密算法ECDSA和RSA中间的过程有什么不同,讲到一半就感觉很累,不想讲了。
- 越讲越快。
- 10.ca证书如何验证标准八股文,就一般证书sha1加sha256验证证书完整性。
- 还有就是最重要的密码套件中的算法怎么用(一般就是rsa和sha256)。
- 又讲了下证书链,多级证书。
- 还有openssl的pem转crt等等。
- 什么是自签证书(diss了一下12306,哈哈)。
- 到这里网络就结束了
- 11.说一下redis的数据结构,zset怎么实现的基础的5个加布隆过滤器,hyperloglog,geohash之类的。zest和字节一面说的一样。
- 12.zset怎么实现排名span字段
上海市 · 互联网 · 1000-9999人 · 成立16年 · 火热招聘
上下班时间
上午10:00-下午07:00
偶尔加班
联系方式
13801736287
larissaluo@tencent.com
地址
上海市徐汇区虹梅路1801号C区五层
简介
-