阿里巴巴大淘宝后端暑期实习面经(已挂)
3月27日19:00——20:00
60 min
- 自我介绍
- 上一段实习做了什么
- 本科什么专业?学了哪些课程?有没有计算机相关的项目?
- 硕士阶段有什么计算机相关的项目?
- 为什么择业想起来做计算机相关的工作呢?
- 未来的规划
- 后面学习的计划,做什么实践,做什么工程?
- 为什么学习 es 而不学 Scala,为什么不学大数据相关的东西?
- 实习项目的系统架构,从技术上和业务上的视角
- 省略一些项目相关
- es 折叠搜索?
- 你 es 的 query 是啥?
- es 怎么通过相关性排序?
- es 相关性得分底层计算的逻辑?
- es 并发量很大怎么办?
- 如果 Redis 缓存数据量很大怎么办?
- 怎么选择具体删除的 key?(应该是 Redis 内存淘汰策略吧)
- 讲一下 LRU 的过程
- Redis 过期删除策略
- 这个项目里哪个是技术难点?
- 切面具体的逻辑,写哪几个类,切面运行的时机,切面怎么被识别的?
- 同一个类上两个方法都加了切面注解,一个方法调另一个方法,那么另一个切面能被切到吗?
- Spring AOP 初始化过程中遇到注解会怎么处理?
- Spring AOP 的调用过程是什么样的?
- ThreadLocal 中维护的队列,调用的深度越来越深会怎么样?
- ThreadLocal 有一次调用了异步线程,数据能接上吗?
- 如果想要数据能够接上该怎么做?
- 怎么去通过线程对象拿到 ThreadLocal 对象?
- ThreadLocal 的 LRU 过程是什么样的?
- 项目用到的设计模式
- 第三个项目的角色是什么(负责人还是研发?)
- 你研发负责的是整体架构设计、技术方案设计、业务复杂逻辑、增删改查还是数据库交互?
- 第三个项目中技术比较复杂的点?
- 项目中倒排索引什么结构?
- Java 序列化的方式
- 实现 Serializable 的类修改了类包的路径,那么反序列化还能成功吗?使用 JSON 可以反序列化成功吗?
- 上面的问题,使用 Object write 的方式会不会有影响?
- MySQL 不走索引的情况
- 怎么看 SQL 有没有走索引?
- EXPLAIN 关键字检索出来的有哪些字段?
- 用的什么 MQ?
- MQ 的结构分哪几个角色?
- MQ 用推的方式还是拉的方式获取?
- 怎么控制 MQ 拉的频率?
- 反问
总结:这次面试感觉对自己的帮助确实很大,虽然死磕项目。面试官从项目架构开始,到具体的分工,再到项目的细节,不断深入,同时在项目过程中穿插八股(感觉也是比较偏门的八股),根据每个项目来发散问题,而且会不断引导,但无奈我还是太菜了,有些确实不会,但还是希望能二面。
二面
3月29日17:00——18:00
60 min
- 自我介绍
- 什么时候开始接触 Java?
- 实习之前学习了哪些东西?
- 操作系统、数据结构怎么学习的?
- 省略一堆项目相关
- 规则引擎
- 火焰图
- 有什么长处?
- 反问