小红书 后端社招面经 1,2,3面
一面
- 自我介绍
- 问项目,为什么在项目里用message queue,使用了什么mq的设计模式,如果consumer出问题了,怎么解决
- 撸代码,LRU
- OSI 七层分别是什么? TCP 在哪层,HTTP协议在哪一层?
- TCP 三次握手,四次挥手, 为什么要四次挥手
- TCP 拥塞算法
- 自我介绍
- 项目相关,为什么用这个组件
- Java 基础,synchronized 是什么, 底层是怎么实现的,java 6 对 synchronized 有什么改动?
- hashmap底层是怎么实现的(数组 + 链表 + 红黑树),初始容量是多少,如何扩容,Java 7和Java 8 有什么区别(头查/尾插),什么时候转变红黑树(一个桶里数据量大于等于8),链表的Node里面储存什么信息,hashcode是什么,是否线程安全
- 设计一个秒杀系统,秒杀系统都需要注意什么, 如何在前端进行削峰,如何设计redis 锁定库存,中间件除了redis还用什么(MQ 解耦 + 削峰)? 数据库怎么设计的? 如果付款失败的时候会发生什么
- 手撸代码
三面
- 自我介绍
- 问项目,非常细,问你当前的项目有什么瑕疵,如何改进,什么地方可能成为瓶颈,如果请求数量/数据量增加十倍,你会怎么做来让你的系统撑得住
- 系统设计,设计一个餐厅的座位预定系统,每家餐厅都可以有两人座,四人座, 八人座等,每个座位每天只能被预定中午/晚上。 假设QPS很高,你会如何设计这个系统?
- 你觉得你的优点是什么,缺点是什么?
- 对于一家公司你最在意哪些点?
- 离职的原因
- 回问问题
正在准备 HR 面