阿里云三面
04.08
过往经历
- 课程、排名、奖励、奖学金
- xx动机
操作系统
- 操作系统级别有哪些缓存结构,由快到慢分别是什么,具体有什么用
- 上下文切换是什么
- ……其他想不起来了
Java
- HashMap 1.7 版本之前和之后的实现区别
- HashMap是否是线程安全的,如何保证线程安全(使用 Collections 封装成线程安全的,或者改用其他数据结构)
- ConcurrentHashMap 如何保证线程安全。具体是哪个版本改进的?两个版本有什么区别?获取锁的算法上是否有区别?
- synchronized 与 Lock 的区别
- 是否都是公平的
- 底层实现是怎么样的
- Lock 具体的算法是什么
- 使用场景有哪些
- 是否都可以修饰方法
- 有没有具体用过
- 怎么用的
- 是否了解线程池技术
- Executors 与 ThreadPoolExecutor有什么区别
- 支持的阻塞队列有哪些类型(不是列举,而是详尽的),有什么区别?是否有使用过?
- 项目中为什么使用?使用的阻塞队列是 LinkedBlockingQueue 还是 ArrayBlockingQueue?为什么?
- 如何线上排查 Java 进程问题(介绍了 arthas)
- 不用封装好的 arthas 这种工具该如何排查
- 使用jstack 如何分析线程数据
- ……其他问题记不清了
数据库
- 用过哪些数据库(mysql、mongodb、redis等)
- mysql为什么要选用 innodb
- 如何保证高并发场景下更新同一条数据的最终一致性(单机事务)
- 不使用事务有哪些实践(版本号、缓存)
- 使用版本号机制是怎么实现的,具体有个场景的话,对应的 sql 怎么写
- 使用redis缓存是如何实现的
- redis 或 mq 崩溃后怎么保证最终一致性
- 如何保证强一致性
- 是否有利用 redis 和 mq 做过具体实践
个人
- 目标城市
- 总结参与的项目,目标是什么,价值是什么,自己完成了什么,在其中起了什么作用
- 自己有哪些优点,有哪些缺点
- 家庭情况,父母兄弟姐妹工作情况,是否有房(在哪里),是否考虑回馈父母
- 在团队开发中,如果自己的提案没有被通过,你会怎么办
- 如果最终没有通过,是否会按上级要求贯彻落实
- 觉得自己有哪些优势
- 手上有哪些 offer,怎么考虑的
- 短期的职业规划,长期的职业规划
其他
- 前面的面试官主要考察哪方面的问题(典,好像被问过好几次类似的问题了。)