大家好,我是小波,普通本科毕业,在中小型公司打拼了两年,我相信每一个程序员都拥有一个大厂梦,我也不例外,去年面试阿里P6,竟然被Redis问倒了,很多Redis相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了阿里,被阿里淘系录用,最后定级P6-,7月26日杭州入职。
阿里面试:
- 一轮主要考察 Java 基础;
- 二、三轮注重对应⽤技术的掌握;尤其是第三面Redis面得比较多,基本都是深入到Redis底层原理
看来P6年薪40W真不是那么好拿的,见识了!
我大概把三面的部分面试场景给大家还原一下:对于这次面试进行了一次完整的复盘,已经整理在文章里,有兴趣的小伙伴,可以继续看下去
阿里一面:
- redis集群,为什么是16384?哨兵模式,选举过程,会有脑裂问题么?raft算法,优缺点
- JVM类加载器,自定义类加载器,双亲委派机制,优缺点,tomcat类加载机制
- Tomcat热部署,热加载了解吗?怎么做到的?
- cms收集器过程,g1收集器原理,怎么实现可预测停顿的?region的大小,结构
- 内存溢出,内存泄漏遇到过吗?什么场景产生的?怎么解决的?
- 锁升级过程,轻量锁可以变成偏向锁么?偏向锁可以变成无锁么?自旋锁,对象头结构,锁状态变化过程
- kafka重平衡,重启服务怎么保证kafka不发生重平衡?有什么方案?
- 怎么理解分布式和微服务?为什么要拆分服务?会产生什么问题?怎么解决这些问题?
- 你们用的什么消息中间件?kafka,为什么用kafka?高吞吐量,怎么保证高吞吐量的?设计模型,零拷贝
- 算法1:给定一个长度为N的整形数组arr,其中有N个互不相等的自然数1-N,请实现arr的排序,但是不要把下标0∼N−1位置上的数通过直接赋值的方式替换成1∼N
- 算法2:判断一个树是否是平衡二叉树
阿里二面:
- Innodb的结构了解么?磁盘页和缓存区是怎么配合,以及查找的?缓冲区和磁盘数据不一致怎么办?mysql突然宕机了会出现数据丢失么?
- redis字符串实现,sds和c区别,空间预分配
- redis有序集合怎么实现的&#x