自我介绍
知道什么集合
Hashmap put过程,指定数组位置是什么指定(HashCode)
并发中AQS原理;synchronized关键字;常用的lock方法;死锁;解决死锁方法
了解JVM中的哪些部分;你知道哪些垃圾回收器;说说G1跟CMS区别,各适用于什么场景
使用Redis主要用来做什么;是怎么用Redis当做消息队列的;用什么数据类型作为消息队列的?如果Redis宕机怎么办?如果还没开始主从同步Redis主机就挂了怎么办?(不能太依赖组件,也需要自己加补偿机制);缓存击穿;缓存雪崩;多级缓存的话是不是把问题放大了
CODE:写一道SQL题,查询第二高的工资(10min)
说说MySQL的索引结构;索引为什么快,为什么要用索引?B+树一个树有多少个孩子节点?B+树节点存储的是什么数据?介绍一下事务隔离级别;项目中用的哪种?为什么?说一下读已提交和可重复读区别;MVCC原理
场景题:订单定期失效设计
消息队列用过吗?什么是发布订阅模式?
什么是栈什么是队列?
CODE:实现MyStack,只使用两个队列,实现top、push、peek、pop(10min);有没有优化内存使用的方法呢?
对Spring了解多少?说一下通知类型;说一下事务传播行为;说一下你理解的代理模式;AOP有什么用
说一下常用的Git命令;rebase一般用在什么场景;合并三个commit怎么做
举几个相对复杂的Linux命令例子
项目中Nacos做什么用的?配置流程是怎么实现的?
反问:觉得薄弱的地方是不是很多?
回答:要么是项目没用到导致不清楚,要么是平时没深入研究,作为一年期限还行,但是现在应届的也很强了。Java和C#无非是编程语言的区别,工程的设计思想和数据结构都是通用的。明白原理是为了更好找到问题所在。
面试官白老师很NICE,希望能攒一波RP进下一轮
全部评论
(2) 回帖