前面给大家分享了一篇字节跳动拿下offer的面经,很多小伙伴都私信我说收获很大,感兴趣的朋友可以回头去看看。很多小伙伴还问我有没有其他大厂的面试题分享,这不他来啦,阿里2020春招面试题给大家整理在下面了!

一面:

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讲一讲,请求有哪些内容,响应有哪些内容

13. 你笔试分好高,平时刷过很多题吗?怎么刷的?

三面(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. 详细介绍下你的项目

19. 你认为你现在的项目有没有什么可以扩展和优化的地方,讲一讲

20. 实验室都是做什么的?为什么要转互联网?实验室转互联网的同学多么

21. 有没有发过论文?导师愿不愿意让实习?

22. 对阿里的技术了解多少?对部门了解多少?

四面:

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

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

3. CAS能深入的说一下吗

4. 建造者模式说一下

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

6. 看过哪些书籍

7. 你打算接下来看哪一本书

8. 介绍下实验室项目

9. 曾经遇到的最大挑战是什么,可以说实验室项目、实习经历或者自己的项目

10. 怎么解决这个困难的

11. 项目中有没有与人合作

12. 现在的offer情况

13. 自我评价一下

五面(交叉面):

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

26. 平时怎么学习的

27. 最近在看哪本书,接下来打算看哪一本书

28. 自我评价下优缺点

29. 怎么证明你的学习能力强

小结:希望看完对正在面试或者准备去面试的你们会有所帮助,也祝要面试的你们都能拿下自己满意的offer!

新鲜出炉!阿里Java后端面经,已拿offer!的更多相关文章

  1. 新鲜出炉!JAVA线程池精华篇深度讲解,看完你还怕面试被问到吗?

    前言 前两天趁着假期在整理粉丝私信的时候看到一个粉丝朋友的私信跟我说自己现在正在复习准备面试,自己在复习到线程池这一块的时候有点卡壳,总感觉自己差了点什么.想要我帮他指导一下.这不趁着假期我也有时间我 ...

  2. 新鲜出炉的Java开发者中心,约起来!

    入门教程.SDK 和工具推荐下载.操作方法指导.API 参考,Java 开发者需要的,这里应有尽有. ▼ 话说现在 Java 开发者在云端进行开发非常火热啊,「云+Java」就好比才子配佳人,真是难以 ...

  3. 微信小程序开发视频教程新鲜出炉

    微信小程序开发公测了,可是对于新手来说,不同的框架不同的开发机制,如何快速适应呢?微信小程序开发视频教程新鲜出炉了,从零开始一步一步搭建微信小程序,每个章节都会涉及到不同的知识点,等教程学习完你不但掌 ...

  4. 刚写完的商城erp + 这个商城前台,新鲜出炉。自己1个人写, 包括php框架和前端html页面.

    刚写完的商城erp + 这个商城前台,新鲜出炉.自己1个人写, 包括php框架和前端html页面. 刚写完的商城erp + 这个商城前台,新鲜出炉.自己1个人写, 包括php框架和前端html页面.

  5. 23套新鲜出炉的网站和手机界面 PSD 素材

    Web 用户界面,移动用户界面和线框套件对设计师很有用,因为这些套件让他们使用快速和有效的方式复制用户界面.这些类型的工具包提供了一个基本的用户界面元素,用于它们需要制作的网站或软件模型. 在这篇文章 ...

  6. 22套新鲜出炉的 Web & Mobile PSD 用户界面素材

    在这篇文章中,我们展示的是自由和清新的 UI 设计素材套件.这些线框图和 UI 设计工具包让设计师在设计用户界面原型的时候能够非常便利. Web 用户界面,移动用户界面和线框套件对设计师很有用,因为这 ...

  7. 20个新鲜出炉的网站模板【HTML & PSD】

    这里给大家分享20 个新鲜出炉的免费网站模板.这些设计元素将成为你下一个项目的重要素材,可以帮你节省很多的时间.与往常一样,我们经常漫游网络,寻找最好的资源, HTML.CSS 和 PSD 等等,记得 ...

  8. 分享25个新鲜出炉的 Photoshop 高级教程

    网络上众多优秀的 Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径.今天,我向大家分享25个新鲜出炉的 Photoshop 高级教程,提高你的设计技巧,制作时尚的图片效果.这 ...

  9. PS教程:20个新鲜出炉的 Photoshop 中级教程

    Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径.今天,我向大家分享最新20个 Photoshop 进阶教程,提高你的图片处理技巧,制作时尚的效果.这些教程可以帮助把你的想法 ...

随机推荐

  1. css自定义字体----使用外部字体文件

    css外部自定义字体 给大家分享一个使用的css小技巧!记得收藏呀!相信大家在浏览各种网站会见到各种奇形怪状花里胡哨的文字,还有就是一些浏览器兼容性问题,不会支持一些特殊的字体!给大家分享一个极其简单 ...

  2. java数据结构-08队列

    一.什么是队列 队列是一种特殊的线性表,只能在头尾两端进行操作,特点是先进先出:就像排队买票一样,先来的先买 二.接口设计  三.代码实现 可以使用动态数组.链表等实现:这里两种实现栈与双向链表 1. ...

  3. C语言知识点复习梳理

    C语言知识点复习梳理 C语言的知识点讲完了,接下来就是做一下整理与总结,然后就会进入其他知识的学习. 本文目录如下: 基础知识. 顺序程序设计. 数据类型. 标准输入输出. 进制转换. 选择结构. 循 ...

  4. 关于oracle监听程序的相关问题及解决方法

    1.查看监听程序是否启动 打开cmd窗口,cmd用管理员运行,否则无法执行启动与停止监听命令 lsnrctl status查看运行状态 lsnrctl stop停止监听 lsnrctl start启动 ...

  5. 走在深夜的小码农 Fourth Day

    Css3 Fourth Day writer:late at night codepeasant 学习大纲 一.emmet语法 1.简介 ​ Emmet语法的前身是Zen coding,它使用缩写,来 ...

  6. drf 路由生成

    前言 在drf中,我们写接口可以通过继承modelViewSet从而达到非常快速的功能实现,这十分的方便,但是modelViewSet由于需要根据不同的参数来对应不同的处理,所以我们写的url最少都需 ...

  7. selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

    1.在寻找元素时,加上显示等待或者隐式等待,这样在对元素进行操作之前保证元素被找到,进而提高成功率: 2.在对元素操作之前,比如click,如果该元素未display(非hidden),就需要先滚动到 ...

  8. 4-Kotlin数据类型与变量

    一. 变量概念 在Kotlin中变量其实对应着内存中特定区域,变量就像是一个装"数据"的容器 1 val num1:Int = 100 2 var num2:Int = 99 关键 ...

  9. STM32入门系列-启动文件介绍

    在启动文件内部使用的都是汇编语言,这个文件的作用是负责执行微控制器从"复位"到"开始执行 main 函数"中间这段启动时间所必须进行的工作.它完成的具体工作有: ...

  10. Linux 系统编程 学习 总结

    背景 整理了Liunx 关于 进程间通信的 很常见的知识. 目录 与 说明 Linux 系统编程 学习:000-有关概念 介绍了有关的基础概念,为以后的学习打下基础. Linux 系统编程 学习:00 ...