2021年校招程序员之阿里四个部门的十轮面试问题

校招阿里四个部门的面经,真实学生面试经历
 
部门 A 预面 64 min (过)

  1. 自我介绍
  2. 学校的学习和实习的时间是怎么分配的?
  3. 实习的项目做了什么?遇到的难点?
  4. 在实验室做的项目遇到的难点?
  5. JPA 和 MyBatis 的区别?讲一下对象字段映射的细节
  6. MySQL 各种索引的一些差异
  7. 什么是聚簇索引?什么是非聚簇索引?
  8. Innodb 是怎么保证崩溃恢复能力的?(两阶段日志提交)
  9. Innodb的优缺点?(围绕索引数展开讲)
  10. 索引覆盖?回表?唯一索引?非唯一索引?最左原则?
  11. explain 里面有哪些字段?
  12. 一个 SQL 查询很慢,从哪些地方进行优化?
  13. 自增 ID 和 UUID 的区别?(叶分裂)
  14. 自增 ID 申请完了会发生什么事情?
  15. 分库解决了什么问题?分表解决了什么问题?
  16. 你觉得学 JAVA 需要具备哪些基本条件?哪些地方特别重要?
  17. 七层网络模型
  18. 为什么有了七层还有五层的概念?
  19. JVM 内存模型(概述)
  20. 讲讲双亲委派,为什么?
  21. 你觉得双亲委派这个名字有没有什么问题?你讲讲自己的理解
  22. 打破双亲委派的例子,举个例子?怎么打破?
  23. 你现在用什么 GC 收集器?
  24. Eden 区的对象回收策略?
  25. CMS 的 STW 情况?
  26. CMS 什么情况会触发 Full GC?
  27. 新对象一定会在新生代 new 出来么?
  28. Java8 有什么新的 GC 算法?
  29. 了解 G1 收集器么?
  30. 考研么?为什么现在的实习想离职了?
  31. Golang 和 Java 的区别?
  32. 反问:有什么需要提高的?
 
部门 B 一面 50 min (过)
  1. 上一次面试问了些什么问题?
  2. 啥时候过来实习?
  3. 挑一两个你实习或者项目当中遇到的难题?讲一讲怎么解决的?
  4. 项目当中的代码你有没有想过有一些地方可以优化?
  5. 哪些情况会出现 OOM?
  6. 堆中内存分配比例?
  7. 新生代 GC 工作流程?
  8. 为什么新生代年龄是 15 次进入老年代?
  9. 大对象进入老年代,这个大对象是有多大?
  10. 怎么排查 OOM?
  11. 你现在用过哪些中间件?
  12. RPC 了解么?
  13. RPC 解决了现在的哪些问题?
  14. 有没有想过把你的项目改造成 RPC?
  15. IOC 的初始化流程?
  16. AOP是怎么和 IOC 做整合的?
  17. 循环依赖怎么解决?
  18. 项目怎么分层的?
  19. JPA 和 MyBatis 做对象映射的区别?原理?
  20. 数据库热点查询的数据,怎么做性能优化?
  21. Innodb 的索引树数据结构?
  22. 最左原则?
  23. 有没有其他复杂的项目?
  24. 排查问题的手段,你目前知道哪些?
  25. 讲讲你的优势?
 
部门 C 一面 72 min (过)
  1. 自我介绍
  2. 介绍一下项目和实习
  3. 你对 RPC 的理解?
  4. HTTP 和 RPC 的关系?区别?
  5. RPC 的优点?
  6. 任何一个请求过来都会打到注册中心么?
  7. 关于项目和实习的一些问题
  8. HDFS 了解么?
  9. Java 的流式处理了解么?
  10. SpringMVC 处理请求的一个流程?
  11. Servlet 的监听器和拦截器?
  12. 有哪些方法可以拦截一个 HTTP 请求?
  13. 关于接受请求的参数,你有没有一套自己总结的方法?
  14. 在学校还做过哪些项目?
  15. 你觉得学 Java,最重要的是什么?
  16. 你对 IOC 的理解?
  17. AOP 的各种实现有什么差异?
  18. 为什么会有多种代理的方式?
  19. HTTPS 的秘钥交换过程?
  20. 有中间人劫持则么办?
  21. 双亲委派的理解?
  22. 为什么有双亲委派?一定要遵循双亲委派么?
  23. 怎么打破双亲委派?
  24. 有一个线程要等待其他线程执行完再执行?
  25. 有一个线程要等待其他线程都就绪再执行?
  26. 顺序打印 ABC?
  27. Innodb 索引的数据结构?为什么用 B+树?
  28. 100 瓶药一瓶毒药.懂得都懂.
  29. 海量数据取前
 
部门 B 一面 52 min (过)
  1. 自我介绍
  2. 有没有面其他的部门?
  3. 介绍一下自己的实习项目?
  4. 关于项目的一些问题
  5. 你觉得实习做的事情还有没有什么可以优化的?
  6. 为什么 TX 用 Golang?(我怎么知道?)
  7. DNS 解析流程?
  8. 怎样解析一个域名?解析一个域名需要哪些信息?
  9. 为什么用 Nginx?
  10. 你觉得 Nginx 在你的项目中最大的作用是什么?
  11. HTTPS 的秘钥交换过程?
  12. 你觉得使用了 HTTPS 之后还会出现问题么?出现问题了怎么办?
  13. 外挂的 Tomcat 和 SpringBoot 内嵌的 Tomcat 有什么区别?
  14. Tomcat 的设计模式了解么?
  15. SpringBoot 怎么调起Tomcat?
  16. 你对 IOC 的理解?


    推荐阅读