一面:
- 自我介绍
- 拷打实习
- 说一下亮点
- OOM怎么排查的
- 如果本地没法复现这个OOM,怎么办(可以用dump生成快照,用jvm的visualVM来排)
- 那你有用过这些个工具吗?没有
- 你刚刚说是一个mysql插入太慢导致了接口超时所以去优化,那么有没有想过mysql插入太慢应该如何处理排查呢?(说了分库分表)
- 其实可以考虑做一个MQ异步插入。
- 那你说的这个OOM最后是因为什么原因呢?有没有什么预防措施来规避这个OOM。(说了可以尝试用一个软引用来包装大对象)
- 其实可以放一个mysql的警报器,当你select的条数很多,超过了一定阈值,就可以警报一下,不然你会造成一个大对象的涌入。
- java都了解是吧,简单说一下这个多线程的情况应该怎么保证线程安全(乐观锁悲观锁,线程安全的集合,原子类变量)
- 其实还可以说一下ThreadLocal,那你说一下ThreadLocal吧,使用有什么问题
- ConcurrentHashMap的value可以为null吗?为什么哈市Map的可以(这题回答的不太满意)
- 实习涉及的是Http调用吗,还是rpc调用
- SpringBoot挺熟悉的吧?说一下AOP
- 那我现在有一个场景,同类对象A调用了B的代理方法,他会生效吗?
- 那应该怎么让他生效(通过ApplicationContext获取bean)
- 说一下老生常谈的Spring的循环依赖问题怎么解决。(三级缓存池,但其实不一定要三级,只是spring希望遵循一定的bean生命周期所以才弄成了三级)
- 那这个jvm,说一下jvm的分区
- 堆区OOM你是有遇到过,那你遇到过栈溢出吗?有什么原因导致栈溢出
- 有没有栈溢出的排查实战(没有,他说可以用jstack)
- 线程池有用过?介绍一下线程池
- Redis的持久化机制
- 说一下Redis Cluster怎么工作的
- 为什么需要这个hash槽呢?有了解过吗。(我猜是因为方便扩容)
- 像java的序列化要实现一个接口,这个接口有一个序列号UID,这个UID有啥用?
- 那这个UID怎么来的有了解吗(没了解,其实我知道是根据对象属性计算出来的,但是我以为他问我怎么继承来的。。)
- 假如你的生产环境有出现一些问题,但是你在本地没办法排查,你怎么办?
- 算法:字符串压缩
- 看你用了StringBuilder,StringBuilder线程安全吗?
十分钟约二面
二面
- 实习拷打
- 对于无法复现的问题怎么解决
- 设计一个线程池说思路
- 项目拷打
- 手撕:大数相加 全排列
聊的挺好的,还问了我可以实习多久
已经一周了,猜测是排序挂了,这是我离互联网大厂最近的一次。。。。
问了hr,hr说反馈代码能力一般。但是这两道我都撕出来了啊。。。。。。。。。。。。。。。。可能我写太慢了?他说5分钟写5分钟讲思路。
呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜我的offer呢?捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你捅死你
全部评论
(15) 回帖