4.8 阿里云 二面 Java研发 暑期实习
面试环节:
1. 自我介绍
2. 会读研吗?(不读)
3. 本科的专业课了解的怎么样(数据结构、操作系统、计算机网络等核心课程)
4. 介绍一下红黑树?(讲了了红黑树的5个特点)
5. 红黑树的平衡的吗?(不是像AVL一样平衡的,但是1. 根节点到任意叶子节点路径上的黑色节点数相等 2. 红色节点的子节点一定是黑色的 -----> 红黑树的最短路径和最长路径之间长度的比例最多是 1 : 2,所以即使不是平衡的,红黑树的性能依然能保持logn的插入和删除)
6. 举一个红黑树的场景?(HashMap。老八股了,对比了一下JDK1.8和JDK1.7的实现,结合源码讲了插入的具体细节,hash的优化等等)
7. HashMap的特征?安全性?需要注意什么?(线程不安全,也是经典八股了。先讲了下为什么是线程不安全,也讲了1.7和1.8的有个实现的区别 头插法->尾插法。此外还有插入的时候判断是空的时候可能覆盖掉,还有++size也会出现问题)
8. 解决办法?(ConcurrentHashMap。虽然synchronized也可以解决,但是自己写的可能会出问题所以最好用ConcurrentHashMap,详细见Java core。比较了JDK1.7和1.8的实现。JDK1.7: Segment + HashEntry + ReentrantLock,JDK1.8:Node + CAS + synchronized。然后讲了一下1.8中插入的流程)
面试官夸了一下说我看得很仔细🤗,然后我就说这些看过源码,我比较喜欢看源码啥的….
9. 创建一个线程用什么方法?(线程池,然后讲了一下为什么创建一个线程开销大(分配内存、列入调度什么什么的))
10. 线程池管理方式?(线程池是用阻塞队列,阻塞队列本身就是线程安全)
11. 计算机网络Socket编程了解还是对网络通信协议了解?
12. Java里面高并发怎么做?(没太懂问的啥意思?select、epoll应该是这个意思)
13. 问了一下框架知识?(不太了解框架原理😥😥😥 面试官也没继续问了)
14. 做项目里面,最有挑战的是?(然后又详细介绍了一下垃圾分类这个项目,讲太多次真的滚瓜烂熟了)
15. 项目里不同模块通信方式?(串口通信,然后详细了解一下这个东西)
16. 问了问比赛的结果
17. 做的方向挺多,那如果找实习更想做哪个方向?(Java后端)
18. 对Java后端中间件有哪些了解?(Redis)
19. 有经常去课外学点新的东西之类的吗?自学或者看书之类的(有的,我喜欢去博客上看新的东西)
20. 有加什么圈子里面一起学习吗?(以前有个CQU开源群,但是最近大家好像都有点忙没有怎么交流。。)
反问环节:
1. 对我本次面试一个简单的评价吧(面试官: 1. 考察的点不是很多,而且问到东西好像都是我比较会的,比较了解的。如果说要有点改变的话,就希望面试的时候更多的当成是一个跟面试官的技术讨论,多一点交流,而不是单方面地机械地你问我答 2. 项目大部门都是一些实验性质的demo,而没有深度的使用。可以考虑更深入)
1. 自我介绍
2. 会读研吗?(不读)
3. 本科的专业课了解的怎么样(数据结构、操作系统、计算机网络等核心课程)
4. 介绍一下红黑树?(讲了了红黑树的5个特点)
5. 红黑树的平衡的吗?(不是像AVL一样平衡的,但是1. 根节点到任意叶子节点路径上的黑色节点数相等 2. 红色节点的子节点一定是黑色的 -----> 红黑树的最短路径和最长路径之间长度的比例最多是 1 : 2,所以即使不是平衡的,红黑树的性能依然能保持logn的插入和删除)
6. 举一个红黑树的场景?(HashMap。老八股了,对比了一下JDK1.8和JDK1.7的实现,结合源码讲了插入的具体细节,hash的优化等等)
7. HashMap的特征?安全性?需要注意什么?(线程不安全,也是经典八股了。先讲了下为什么是线程不安全,也讲了1.7和1.8的有个实现的区别 头插法->尾插法。此外还有插入的时候判断是空的时候可能覆盖掉,还有++size也会出现问题)
8. 解决办法?(ConcurrentHashMap。虽然synchronized也可以解决,但是自己写的可能会出问题所以最好用ConcurrentHashMap,详细见Java core。比较了JDK1.7和1.8的实现。JDK1.7: Segment + HashEntry + ReentrantLock,JDK1.8:Node + CAS + synchronized。然后讲了一下1.8中插入的流程)
面试官夸了一下说我看得很仔细🤗,然后我就说这些看过源码,我比较喜欢看源码啥的….
9. 创建一个线程用什么方法?(线程池,然后讲了一下为什么创建一个线程开销大(分配内存、列入调度什么什么的))
10. 线程池管理方式?(线程池是用阻塞队列,阻塞队列本身就是线程安全)
11. 计算机网络Socket编程了解还是对网络通信协议了解?
12. Java里面高并发怎么做?(没太懂问的啥意思?select、epoll应该是这个意思)
13. 问了一下框架知识?(不太了解框架原理😥😥😥 面试官也没继续问了)
14. 做项目里面,最有挑战的是?(然后又详细介绍了一下垃圾分类这个项目,讲太多次真的滚瓜烂熟了)
15. 项目里不同模块通信方式?(串口通信,然后详细了解一下这个东西)
16. 问了问比赛的结果
17. 做的方向挺多,那如果找实习更想做哪个方向?(Java后端)
18. 对Java后端中间件有哪些了解?(Redis)
19. 有经常去课外学点新的东西之类的吗?自学或者看书之类的(有的,我喜欢去博客上看新的东西)
20. 有加什么圈子里面一起学习吗?(以前有个CQU开源群,但是最近大家好像都有点忙没有怎么交流。。)
反问环节:
1. 对我本次面试一个简单的评价吧(面试官: 1. 考察的点不是很多,而且问到东西好像都是我比较会的,比较了解的。如果说要有点改变的话,就希望面试的时候更多的当成是一个跟面试官的技术讨论,多一点交流,而不是单方面地机械地你问我答 2. 项目大部门都是一些实验性质的demo,而没有深度的使用。可以考虑更深入)
2. 假如能够通过所有面试能够进入阿里云实习,作为实习生可以做哪些技术上的东西?(1. 做Linux的东西?针对云计算的东西。后面的东西,面试官的麦实在是太炸了,根本没听清….)
总结:
1. 一面之后第二天就开始面了,说实话感觉要比第一天的体验要好,Java问的八股比如什么红黑树、HashMap、ConcurrentHashMap、线程池这些都是我最熟悉的看过源码的东西,自然也就没什么问题了。但是面完没多久就传出来阿里全面锁HC的消息,果然面完这一轮就被丢池子里了。一周后就得到了挂了的消息....今年互联网实在是太惨了,各个厂都在裁员、锁HC。好在字节抖音的过了,不然真就0 offer了。
#暑期实习##春招##实习##面经##Java##校招##阿里巴巴##阿里云#1. 一面之后第二天就开始面了,说实话感觉要比第一天的体验要好,Java问的八股比如什么红黑树、HashMap、ConcurrentHashMap、线程池这些都是我最熟悉的看过源码的东西,自然也就没什么问题了。但是面完没多久就传出来阿里全面锁HC的消息,果然面完这一轮就被丢池子里了。一周后就得到了挂了的消息....今年互联网实在是太惨了,各个厂都在裁员、锁HC。好在字节抖音的过了,不然真就0 offer了。