阿里实习Java面经
一面
JMM模型,Java类加载的原理
Java运行时,什么时候会触发GC
数据库设计三范式
Java Web相关(不会😥)
讲解常见设计模式,之后又专门问装饰器模式
HashMap, HashTable区别,HashMap的优化
项目相关(Spark, Partition)
手写代码:实现Java中的线程安全阻塞队列
手写代码:leetcode 1247(想了挺长时间。。。)
二面
二面主要问项目,没写代码……
介绍项目,数据流向,项目选型
Spark运行原理
Spark和Hadoop的区别
Spark的数据倾斜,以及解决办法
项目优化,什么问题,如何解决
项目GC调优,老年代垃圾收集器
Linux命令:查看进程,删除过期文件
Java的序列化
介绍Java NIO, Netty
搜索引擎原理,输入key之后的后台搜索过程
非技术话题(运动,英语)
三面
P9大佬面,各种进阶问题,一面代码题写的可以,二三面就不写代码了
聊项目,Spark优化 (聊了挺久)
kafka在项目中的作用
Netty实现了什么功能,内存原理,DirectBuf:说了Java NIO, Netty的架构,但是问的不是这个。又说了Netty封装的一些功能(时间处理,处理NIO BUG, 编解码器,错误处理…)。面试官又问Netty内存方面的东西,答ByteBuf池化,类似于操作系统伙伴系统的内存分配。又问DirectBuf, 答零拷贝,直接在操作系统分配内存。
Java虚拟机的双亲委派模型,如何打破:要挂就挂在这个问题,这个问题我竟然理解错了重点
Java序列化,如何不让某个成员序列化:transient关键字
OOM定位与解决(项目中遇到过):日志->jconsole->jmap->jvisuavm
数据库B+索引
搜索引擎倒排索引和数据库索引的区别 (没答好,二面面试官问的简单,三面想深入,只了解皮毛)
深度学习算法相关,剪枝的目的和原理(实验室组会听过论文,无奈对算法不感兴趣,说了目的,原理没说);梯度如何计算
未来发展,实习时间
交叉面
隔了快两个月的交叉面(进系统前面了三面,进系统时选了另一个部门,最终还是转回来了)。
介绍项目 (半个小时)
RPC框架,远程服务端异常,客户端怎么处理
问问题,建议学习Spring框架
------关注我,获取一手校招资讯------