商米科技Java一二三面
笔试
15道选择 + 10道多选 + 三道算法(15、15、20),平台用的showMeBug
,不能用本地IDE
一面
问了大概四十分钟(11月18号)
- 问项目(回答基本同上)
- 你是怎么解决并发读和并发写之间冲突的
- 业务中Redis主要使用场景
- 缓存和数据库双写一致性问题?
- 讲讲常见的保证双写一致性的策略,各有什么利弊
- 延迟双删一定能保证数据一致吗
- A线程删除缓存,再更新数据库,在事物提交之前并且延迟双删的这一段时间是否还是会出现脏读的问题?如何解决
- 你是怎么理解强一致性和接口幂等性之间的关系的
- 上面延迟双删还有什么更好的解决方案嘛?(回答用cannel)
- 看你项目里面有用三级缓存,如何保证各级缓存之间数据一致性的问题的
- 平时是怎么学习的?最近在学习的技术栈有哪些
- 你认为你学的最好的是哪个(这里感觉好恐怖,感觉面试官要开始侮辱我了😭,回答JUC和设计模式)
- 你认为你学的最不好的是那些
- 你有什么想问我的吗,然后简单聊了聊上海和杭州事业部负责业务的区别
二面
一个小时二十分钟(11月21号)
- 问项目
- 缓存一致性问题,强一致和最终一致分别有哪些解决方案
- 分布式锁的实现有哪些?实现原理?
- 为什么zk实现的分布式锁可以做到强一致,redis分布式不能
- 当zk主从复制的时候,分布式能做到强一致吗
- 当锁信息在master结点上,这时候master结点突然宕机,会不会发生死锁
- zk结点信息存在哪里的?讲一下zk的数据持久化过程(和redis类似也是快照和记录操作,全量 + 增量的方式)以及主从复制过程
- java里面的锁有哪些知道吗?
- synchronized锁实现原理?锁膨胀过程
- synchronized本质上到底是什么?
- 锁只会膨胀吗?
- 讲讲在工作中如何提升接口的QPS,承受更高的并发量
- JVM了解哪些?
- 平时怎么做JVM的一个优化的
- 平常是怎么使用线程池的,线程池有哪些参数
- 聊聊redis大key的解决方案,还有哪些场景会造成redis的问题
- SpringBoot cache了解过吗?
- 如果现在有一个秒杀场景需要支撑百万并发,你从架构上面怎么设计?
- 你认为提升系统并发的本质问题是什么,可以从哪些方面考虑
- OSI七层模型和TCP/IP四层模式,聊聊为什么有两套不同的实现逻辑
- MySQL中锁有哪些?平时编码中如何加锁的,或者说这么判断一条语句或事物中用那种粒度的锁?
- InnoDB和MyISAM分别支持哪些锁?知道间隙锁吗?间隙锁可以解决哪些问题
- 当一个请求发起,在微服务中的执行过程,经过了哪些组件
- 平时是怎么进行学习的?除了学习之外有没有其他的技能
三面
技术面试官和HR面一起(11月22号)
- 谈谈Spring的出现解决了那些问题?
- 你认为Spring能够这么流行的根本原因是什么?
- 在前后端不分离的时代其实Spring并不是非常流行,你知道当时有哪些解决方案嘛?(回答Servlet、Struct、JSP)
- 聊聊你对前后端分离的理解?为什么会前后端分离
- 你认为这些新兴技术的出现到底解决了那些问题?
- 对MongoDB了解么?noSQL解决了传统关系型数据库的那些问题?(我实习用了4个月Mongo,撞我枪口上了😁)
- noSQL为什么比关系型数据库快,从架构层面讲讲?
- 是不是关系型数据库就不好?
- 你还知道那些noSQL数据库?
- 列式存储数据库知道有哪些吗?(答Hbase、hdfs)
- 你知道列式存储数据库为什么快?或者说有哪些特点(完全不知道,扯了点hadoop的两大功能:hdfs + yarn,分片存储和离线计算)
意向(11月25号)
流程很快,秋招里的一股清流,面试官人也很好
#商米科技Java一二三面#