写点什么

五面阿里拿下飞猪事业部 offer,2021 新鲜出炉阿里巴巴面试真题

  • 2021 年 11 月 27 日
  • 本文字数:2171 字

    阅读完需:约 7 分钟

昨天度过了一个狗粮吃到饱的浪漫节日,不知道在座各位过的开不开心呢?钱包有没有空呢?有没有勇敢的和喜欢的人表白呢?还是一个人在公司加班呢?

疫情过去,真正的春暖花开又回来了,时不时的可以和朋友约个饭,感慨今年的工作竞争压力很大,工作很不好找。作为一个开发人员,你是否面上了理想的公司,拿到了理想中的薪资?

作为程序员,跳槽就是最好的涨薪方式。前提当然是你有足够实力,而不是只会纸上谈兵。面试准备不充分,就是浪费时间,更是对自己不负责任。

今天给大家分享一份由粉丝投稿,我精心整理出来的一份 1200 页 Java 架构面试专题(文末见面试答案),绝大部分都是一线大厂的面试真题,可以根据这份面试专题查漏补缺,希望能够帮助你尽快找到工作!

一面:

阿里巴巴面试答案文末可以领取!


1. 触发新生代 GC,如果存活对象总量大于 survivor 区容量,咋办


2. 如果任务很多,线程池的阻塞队列会撑爆内存的哪个区域


3. 栈在堆上吗


4. GC root 有哪些


5. 实例变量可以是 GC root 吗


6. 了解哪些 GC 算法,介绍一下


7. 给个场景,问怎么设置 JVM 参数


8. 问了很多 SQL 调优,各种语句能不能命中索引,能命中哪些,怎么优化


9. MySQL 的一张表里有三个字段 ABC,A 的种类有 1000 种,B 有 1W 种,C 有 10W 种,ABC 的联合索引怎么设置,怎么使用


10. Mybatis # 和 $ 的区别


11. Mybatis 接口里的方法和 XML 里的 SQL 名可以不一样吗,不一样怎么办


12. Mybatis 是如何完成 SQL 和接口里的方法的映射的(我回答了怎么配置),那你知道它是怎么实现的吗


13. 介绍下 Spring 的 IOC 和 AOP


14. 服务器给客户端发送 IO 流的过程


15. IO 和 NIO 了解多少


16. 线程都有哪些状态,怎么转换的


17. Notify 和 notifyAll 的区别


18. 介绍线程池,不同线程池区别在哪,你平时怎么使用线程池的


19. MySQL 索引的数据结构


20. B+树了解多少


21. Cookie 和 SessionId 说一下


22. 锁是怎么实现的


23. Synchronized 同步块和 synchronized 方法,分别锁的是什么


24. 单例模式,饿汉和懒汉分别存在的问题


25. Volatile 是怎么实现可见性的


26. 介绍下 JMM


27. Happen before 了解吗


28. A happen before B,意味着 A 一定在 B 之前执行吗


29. 你做过的最难的项目中,最难的任务是什么,怎么解决的


二面:


1. 看过哪些源码


2. Java 都有哪些 map,分别怎么实现的,具体讲


3. 除了 LinkedHashMap,你还知道哪些有序 map


4. ConcurrentHashMap 讲一讲


5. 为什么要有线程池


6. 线程池有哪几类?有什么区别?有哪些参数?拒绝策略有哪些


7. 阻塞队列都有哪几种,有什么区别


8. Java 的反射怎么理解


9. Spring 的 IOC 和 AOP 怎么理解


10. Spring 项目启动的时候会加载哪些资源,顺序是怎么样的


11. 浏览器输入一个 URL,会发生什么,整个过程说一下


12. Http 讲一讲,请求有哪些内容,响应有哪些内容


三面(leader 面):


1. MySQL 的高可用了解多少,高性能了解多少


2. 淘宝有 1000T 的数据,单机存不下,怎么办?有没有办法只访问一次服务器?一致性 Hash 懂多少


3. MySQL 和 redis 有啥区别


4. MySQL 数据备份怎么做


5. Redis 底层原理会多少


6. Redis 为啥比 MySQL 快


7. Redis RDB 可能会丢失数据,怎么办


8. Redis AOF 不也要把日志写到磁盘么,那和 MySQL 的 IO 有啥区别,凭啥 Redis 就快


9. Redis 主从复制怎么做


10. 分布式缓存懂多少


11. 还知道其他 NoSQL 么


12. Java 和 C 的优缺点说一下


13. 有没有用 C 写过底层


14. Java 的 G1 回收器详细讲一讲


15. G1 什么时候会 stop the world


16. Linux 操作系统有应用过吗


17. 对分布式和中间件掌握多少


18. 详细介绍下你的项目


 四面:


1. 数据库索引常用的数据结构


2. Juc 源码看过吗?锁的实现原理是什么


3. CAS 能深入的说一下吗


4. 建造者模式说一下


5. 谈一谈笔试的心得(笔试分高)


6. 看过哪些书籍


7. 平时怎么学习的


 五面(交叉面):


1. 介绍下项目,项目的来源,是自己一个人做的么


2. 登录验证怎么做的


3. 讲一讲 ThreadLocal


4. ThreadLocal 怎么避免线程污染


5. 点赞怎么实现的


6. Redis 持久化方式


7. MySQL 存储引擎区别


8. Myisam 在只读场景下,为什么一般比 InnoDB 快


9. Mybatis 怎么使用


10. Mybatis # 和 $ 的区别


11. Spring 中 BeanFactory 和 ApplicationContext 的区别


12. Spring 中 bean 的作用域有哪些,有什么区别


13. 说出一个原型作用域的具体应用场景


14. 学习过哪些设计模式,用过哪些设计模式


15. 生产者消费者模式讲一讲


16. 怎么实现阻塞队列


17. 学过 Linux 吗


18. 在 Linux 下,怎么查找一个目录下的所有文件,要求输出顺序按照文件的创建时间排序


19. 给你一堆学生的信息,包括学号和姓名,让你找出学号最靠前的 10 个人的姓名


20. PriorityQueue 怎么实现的


21. 怎么求根号 3(我说了二分法,用 2 的平方,1.5 的平方,1.75 的平方依次和 3 比较,缩小区间,直到达到精度要求)


22. 你这种求法太慢了,可以优化吗(我问:您是想问数值分析的知识么?面试官说:是的,你没学过数值分析么?)


23. 斐波那契数列,求第 n 项的值(答了递归和 DP 两种方式)


24. 如果数列长度 100W,你的 DP 矩阵不是很大么?怎么优化?(答:用两个变量 a,b 记录前两个值,temp = a, a = b, b = a + temp,依次递推)


25. 一个时钟有时针分针和秒针,三针重合的最短时间间隔是多少?(完全没思路,只知道一小时内肯定不行,因为走得速度不一样,一圈内速度快的和速度慢的撞不上)


1200 页 Java 架构面试专题及答案

小编整理不易,对这份 1200 页 Java 架构面试专题及答案感兴趣的小伙伴仅需添加小助理 vx:添加小助理 vx:bjmsb0606006 即可



百度、字节、大疆、美团等大厂常见面试题


用户头像

还未添加个人签名 2021.10.14 加入

还未添加个人简介

评论

发布
暂无评论
五面阿里拿下飞猪事业部offer,2021新鲜出炉阿里巴巴面试真题