第一面:
第一面主要考察基础,先简单自我介绍,以及介绍一下项目,然后开始考察基础。
TCP相关基础知识
问题1:请详细描述三次握手和四次挥手的过程
要求熟悉三次握手和四次挥手的机制,要求画出状态图。
缓存和数据库的基础知识
问题1:描述一下redis有哪些数据结构。
基础的数据结构有5种,String/List/Hash/Set/Zset,还答了高级数据结构HyperLogLog/BitMap/BloomFilter/GeoHash。面试官还问了BloomFilter的原理以及Zset的实现原理,主要讲解跳跃表;延时队列如何实现,分布式锁原理。
问题2:MySQL场景题目
面试官提供场景,要求写出查询SQL,考察联合语句,如何分页以及复杂语句的优化。
第二面:
第二面是电话面试,主要考察项目,通过项目提出基础问题。时间30分钟。
之前有微服务经验,面试官就详细问到微服务的架构、框架的实现、服务治理、分布式一致性等问题。
之前有玩过日志监控系统,首先还是考察架构,ELK的相关知识,重点描述Elasticsearch的一些架构原理,比如倒排索引的原理。
问消息队列的相关知识,接触过Kafka,问了Kafka中消息可以被多个消费者消费吗?;以及选举机制和HW机制。
开放性问题,讲一个之前遇到的问题&