张泽奇 长沙理工大学·2022届
APP 内打开
分享
7
37

阿里Java后端实习面经

今天晚上面完了最后一轮技术面,也不知道能不能过,心好累啊

一面:

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

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

3.栈在堆上吗

4.GCroot有哪些

5.实例变量可以是GCroot吗

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.Happenbefore了解吗

28.AhappenbeforeB,意味着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.RedisRDB可能会丢失数据,怎么办

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

9.Redis主从复制怎么做

10.分布式缓存懂多少

11.还知道其他NoSQL么

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

13.有没有用C写过底层

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

15.G1什么时候会stoptheworld

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.怎么证明你的学习能力强


发布时间:2020年06月25日
用户头像
我来说两句…
共 7 条评论
那些过往。 华中科技大学·2022届
ThreadLocal怎么避免线程污染? 这个问题应该是指:线程复用的时候,当前任务看到了上一个任务保存在线程里的对象(可能影响当前任务)。 解决方案可以是:当前任务开始前,清空线程的所有线程局部变量。
2020年08月24日 回复
暗茧 哈尔滨工业大学·2022届
请问,三面的MySQL的数据备份还是Redis的数据备份?我有点感觉是Redis的数据备份啊
2020年08月24日 回复
陈冠融 中央民族大学·2022届
校友tql!!!
2020年08月24日 回复
昕叫瘦 北京大学·2022届
好难啊🤔
2020年08月25日 回复
叫我二小姐 东北大学·2022届
请问大佬拿了多少offer
2020年08月24日 回复
苏菲
没手撕代码我惊了
2020年08月24日 回复
Cycle大头 上海立信会计金融学院·2022届
楼主牛逼
2020年08月24日 回复