三面蚂蚁金服,分享面试经历总结(已拿offer)
一面
- HashMap链表长度大于8后一定会转化为红黑树吗
- 如场景是,HashMap初始数组长度为8,只有第一个元素中有值,且有八个都在一条链表上,其他数组其他七个位置都是空的,这时候为什么要转化为红黑树而不是存放到数组中呢?
- ConcurrentMashMap分段锁之间加了什么锁,读写之间是互斥的吗?
- 三次握手后如果一直不连接会怎样
- volatile的实现原理是怎么样的,它是怎么实现从内存中读取的?
- lock锁的使用,它如果是一个接口,它的实现类有哪些,区别是什么?
- InnoDB的隔离级别是什么,它能避免幻读吗?怎么避免的?
- 索引的底层实现是什么,简单介绍下。
二面
- 介绍一下spring中的AOP
- mybatis和hibernate的区别与优劣
- redis有哪些数据类型
- 手写一个单例模式
- 用到的技术栈
三面
- 如何理解内存泄漏问题?有哪些情况会导致内存泄露?如何解决?
- 怎么理解强一致性、单调一致性和最终一致性?
- 分布式锁有哪些解决方案?
- 如何解决Redi缓存穿透的问题?
- Redis hash算法用的是什么?
- Redis集群方案应该怎么做?都有哪些方案?
非技术问题
- 为什么要用你,你与其他竞争者比较优势是什么
- 你有什么想问我的
- 如果公司需要你加班你有问题吗
整体的面试感受,面试官都很专业,要求基础知识很熟悉,面试之前一定要准备后再去面试。LeetCode题目也要刷。
切记面试前一定要刷题和准备,简历上的项目不熟悉的千万不要写上去,写上去的项目备好2-3个技术方案。
我把以上问题的部分相关答案整理好做成了文档,有需要的可以【转发+关注】,然后添加VX【MXM9809】即可免费领取
以下是部分资料截图展示