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

  • 实际开发当中你哪些地方使用了 Bean 的前置后置处理器?
  • AOP 是怎么和 IOC 进行整合的?
  • Spring 怎么把 Java 对象初始化成 SpringBean 的?
  • HashMap 八股文讲讲?
  • 哪些情况下会产生 Full GC?
  • 方法区的大小怎么设置?
  • 栈大小怎么设置?
  • 你遇到过堆栈溢出的情况么?怎么解决的?
  • MySQl 主从集群怎么搞?
  • Binlog 有几种?区别是什么?
  •  
    部门 B 二面 75 min (过)
    1. 面试官上来花了 10 分钟介绍了他们部门
    2. 关于 Github 上面的项目的问题(这个代码是大二上期写的)
    3. 项目当中的数据库设计,你是怎么做的?
    4. 项目怎么分层的?
    5. 流量打到 SpringMVC 上面之后的处理流程?
    6. 微信小程序登录的流程?
    7. JS SDK 登录和后端请求微信服务器登录的区别?
    8. 你觉得微信登录获得的 raw 信息可以被黑客劫持么?
    9. 你使用过分表么?分库分表分别解决了什么问题?
    10. 分表的时候,怎么设计主键?
    11. 自己的项目当中,用到自定义索引的情况?
    12. 最左原则?联合索引?
    13. 为什么会有最左匹配原则?(根据 B+树排序规则去回答)
    14. 为什么使用 B+树?回表?怎么减少回表?
    15. 数据库的乐观锁和悲观锁?
    16. 读锁和写锁的区别?
    17. 假设现在有一个需求,需要在一个 for 循环里面连续 100 次去更新一个行记录,这个过程中会出现阻塞的情况?怎么使用编码的方式来规避这种情况?(手动继承 AQS)
    18. 怎么关闭长事务?
    19. 为什么想来阿里?
    20. 微服务实例是怎么暂停的?了解么?
    21. 关于实习和项目的一些问题
    22. 线程池 7 个参数的含义?
    23. 线程池提交任务的流程?
    24. 对分布式的了解有多少?
     
    部门 C 二面 50 min (过)
    1. 这轮面试忘了录音了,有些问题不记得了.
    2. 关于项目和实习的一些问题.
    3. 一个分布式部署的项目?至少需要哪些模块?
    4. 任何一个流量打过来都会打到注册中心么?
    5. 一个注册中心,至少需要具备哪些条件?
    6. 有一大批流量总是被打到一个实例上面,这个实例的兄弟实例分到的流量很少,怎么办?
    7. 有一个实例挂了怎么办?
    8. 注册中心集群的时候,其中一个注册中心挂了怎么办?
    9. 平时通过哪些渠道学习?
    10. 看过哪些博客?
    11. 你觉得美团的博客上面有哪几篇对你帮助特别大?
    12. 然后具体谈了谈这一篇博客
    13. 你看视频一般在哪儿看?看那些类型的视频?
    14. 能给我推荐一个关于技术的公众号么?
    15. 你有看过阿里的一些技术博客么?你觉得他们写的博客对你有没有帮助?
    16. 剩下的八股文问题不记得了.....
     
    部门 A 二面 60 min (过)
    1. 这一轮面试也忘了录音了....
    2. 自我介绍
    3. 关于项目和实习的一些问题
    4. HashMap put 里面已经有100000 个数据了,往里面 put 第 100001 个数据会不会扩容?
    5. 你觉得采用链表加红黑树的组合方式之后解决了什么问题?
    6. 那么多数据结构,为什么偏偏使用红黑树?
    7. 红黑树的平衡怎么做?
    8. 链表转化成红黑树的阈值怎么算出来的?
    9. 为什么红黑树缩回链表的阈值和进化的阈值不一样?
    10. 现在用编码的方式进行代码同步,有哪些方法?
    11. 公平锁和非公平锁的实现(AQS 八股文)
    12. volatile 的特性?
    13. 一个 volatile 变量,一个线程写,多个线程读会不会出现线程不安全的问题?
    14. IOC 的初始化流程?
    15. Java 的类加载过程?
    16. 为什么会有 TIMEWAIT这个状态?
    17. 拥塞控制?流量控制?
    18. 10000 亿条淘宝订单,每条订单当中包含了一个交易流水,流水里面有商品的 ID,有购买数量,同一个商品在这个订单会出现多次,现在要统计销量最好的 10 件商品.
    19. 能记起来的就这些.....
     
    部门 D 一面 70 min (过)
    1. 为什么不找硬件相关的实习来做软件?
    2. 能给我介绍一下微电子科学与工程这个专业是干什么的么?
    3. 你是怎么学习软件开发的这些东西?
    4. 关于实习和项目的问题
    5. 讲讲面向对象的一些特性?
    6. Java 7 大原则?
    7. 面向过程和面向对象的区别?
    8. 对象和类的关系?
    9. Java 容器八股文
    10. HashMap 八股文
    11. 进程和线程的区别?
    12. Java 创建线程的方式?
    13. 线程池参数和任务提交到执行的过程?
    14. 对于线程池参数的设定,你有没有自己的一套方案?
    15. 代码的同步怎么做?
    16. Java 的类加载过程?什么时候回触发到 Java 类的加载?什么时候回触发类的卸载?


      推荐阅读