【小红书】-Java岗-后端社招三轮面经

一面

自我介绍
问项目,为什么在项目里用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很高,你会如何设计这个系统?
你觉得你的优点是什么,缺点是什么?
对于一家公司你最在意哪些点?
离职的原因
回问问题

发表评论

后才能评论