腾讯二面
一共40分钟,全程问场景,无手撕。忘记录音了,脑子比较混乱。
自我介绍
场景
- 让我挑一个项目讲讲,我讲了第一个项目,讲了缓存一致性实现的是最终一致性,然后他就说这个延迟太高了,有没有更好的办法,我说可以先更新数据库再删缓存,但是这样又会存在大量请求去查数据库的问题(其实这样可以加上双重判定锁,我当时没想到这么多,只说了加分布式锁,他说这样肯定不行),然后他说其实存在一个工具(名字忘了)可以在面对大量请求的时候让一个请求进入,我说那其实应该跟限流差不多,我项目里在别的部分也做了限流。
- 如果服务集群被部署在全国各地,这些集群之间的数据是要同步的吗?
- 又介绍了防止缓存穿透。问我如果集群被分散在全国各地,布隆过滤器放在本地还是单独做成一个服务?我说我觉得应该单独做成一个服务,这样方便同步,然后他说布隆过滤器一般是放在本地的,如果这种情况,一个请求来了,怎么去查布隆过滤器,我说可以像 Redis Cluster 把布隆过滤器的数据放在多个节点上,通过 hash 查找对应节点(完全凭感觉瞎答)。
- 问我了解不了解 lsm tree?(不了解,了解了之后发现是一种高效的数据库存储引擎的数据结构)
- 问我 Kafka 是怎么实现消息的可用性的?(我从生产者、broker、消费者三方面回答,回答完broker后接着问)如果生产者发送消息过来,而 Kafka 宕机了,消息会不会丢失?(我答的会,因为要多个分区都接收到消息之后才能说明这个消息被成功发送了,但其实如果Kafka多个分区没有都收到消息,就不会给生产者发送 ack,生产者收不到 ack 就会抛出异常的,所以答案是不会!当时脑子已经昏了)
- 让我把我项目的代码我做的部分发到他的邮箱里
到现在状态还是面试链接,估计凉了
~~~~~~~~~~~~~~~
周一进hr面了,许愿oc!
鹅谢谢你!求求了!
~~~~~~~~~~~~~~~~~~~~
hr 面说两天内发 offer,然后签了云证。
~~~~~~~~~~~~~
第二天,4月3号,offer已接,所有环节的所有面试官还有hr都很好,在告诉我的时间内准时推进了流程,非常感谢!