秋招快手后端一面,难度不大
这次面试表现不错,基本都答上来了,过两个小时就显示通过了然后约了第二天的主管面,非常丝滑了可以说..美中不足的是base北京,主包觉得有点远,ok话不多说上面经
项目拷打 省略一千字…
消息队列如何实现功能解耦和压力分散?
延迟队列是如何处理未完成任务的?
整个流程的QPS或容量预估是多少?是否有进行性能测试?
缓存与数据库的一致性如何保证(同步策略、定时任务间隔等)
JVM垃圾回收 简述JVM的垃圾回收机制(分代回收、可达性分析)?
有哪些垃圾回收算法(标记清除、标记整理等)?
不同垃圾回收器(如CMS、G1)的特点和区别?
多线程与锁 synchronized和volatile的区别?
ReentrantLock的公平锁与非公平锁实现原理?
CAS机制在锁中的应用?
集合框架 HashMap和ConcurrentHashMap的区别?
ConcurrentHashMap的分段锁机制(JDK 1.8前后变化)?
MySQL MySQL索引的底层数据结构(B+树 vs B树)?为什么选择B+树?
默认的事务隔离级别是什么?如何解决幻读问题(间隙锁)?
Redis Redis为什么比数据库快(内存操作、IO多路复用)?
Redis高可用方案(集群、哨兵模式)?
数据分片(Sharding)如何实现?节点间如何通信?
操作系统/网络
HTTP请求处理流程 从客户端发起HTTP请求到服务端响应的完整过程(DNS解析、TCP连接、报文拆解等)?
服务端架构中如何接收和处理请求(Web容器、业务逻辑分层)?
消息队列
RabbitMQ vs Kafka 为什么选择RabbitMQ而不是Kafka?两者在高并发场景下的差异?
算法题
合并区间(不是hot100):给定多个已排序的区间,如何合并重叠区间(需考虑边界条件)