首页 > 阿里新零售C2M java研发面经(已意向书)
头像
ohoWzq
编辑于 2020-05-09 16:22
+ 关注

阿里新零售C2M java研发面经(已意向书)

给自己两个多月的实习春招画上了句号,感谢牛客爸爸,发一个面经还愿~~~~

会议总结(可能有部分遗漏):
1面(简历评估面),3月10日:
太久远了,完全不记得内容了,不过就是一些java基础的问题以及分布式技术的问题,后续我的个人学习中会有介绍。

2面(主管面),3月17日:
这一面也太久了,嗨,当时忘了电话录音,很尴尬,也是一些和简历评估面类似的基础问题以及项目相关
这里重点讲一下项目相关:我当时很**,一直说自己项目里面没啥难度,完全没想到面试官为什么问项目,一直说很简单、没啥难度,大家千万别这样说,一定要从项目体现自己的价值
这一面能过多亏了内推人疯狂帮我说情,抬了一手才过。

问到了zk、redis、rocketMQ。当时面试官问的很笼统,我是从使用场景开始答,然后答如何实现功能(底层结构)这样答的,在下面学习路线中JavaGuide博客中都有,我也是根据那个来复习。

3面(boss面)1小时13分钟,4月8日:

首先自我介绍
  1. 项目相关
  2. 使用的java版本。jdk8
  3. jdk8默认垃圾回收器。G1。答错了hhh,感谢评论区大佬提醒了下,是Parallel Scavenge + Parallel Old
  4. 介绍G1。
  5. java8内存区域变化。方法区进入堆区
  6. linux机器上查看所有线程状态。没答出来,后面看ps -T top -H。
  7. while(true) new Thred会有什么现象。堆区OOM。(不知道对不对hhh,后来也去查了一下,没有找到满意的答案)
  8. 诊断java线程死锁,没答出来,后面查到 用jstack
  9. concurrentHashMap讲一下。讲了底层结构以及底层如何使用,(如插入的时候底层的原理)size函数的流程。jdk1.8之后的变化
  10. concurrentHashMap如何实现扩容。当时没回答出来,说不了解这个 但是了解HashMap的扩容,面试官让讲了HashMap的扩容原理。
  11. synchronized原理。同步代码块开始加一条monitorenter指令,获取对象锁,结束时加一条monitorexit指令,释放锁。如果同步方法就是方法头部加一个acc_synchronized标志位。
  12. volatile原理。只能加在变量上,主要为了保证可见性和有序性,添加内存屏障实现功能。写一个volatile变量后立即同步到主内存,都之前从主内存获取最新的值,都是通过内存屏障实现
  13. synchronized和reentrantlock区别。
  14. threadLocal原理。每个thred类有一个threadlocalmap变量,用来存放threadlocal,value键值对,这里的key为弱引用,在线程池情境下有可能发生内存泄漏问题。
  15. 快排原理以及堆排原理。
  16. 快排以及堆排是否稳定。
  17. OSI七层模型都有啥。
  18. TCP和HTTP属于哪一层。
  19. TCP和UDP区别。
  20. java中实现TCP和UDP的类了解吗。不了解。
  21. java的io。只答出来bio、nio,具体没答出来。
  22. java学习渠道,面试以外的。
  23. 有没有啥开源的博客什么的。
  24. 生活或者学习方面,个人经历过的一个最大的困难。
  25. 反问环节。1、实习生入职后日常流程。2、转正问题。3、boss眼中公司文化。

4面(交叉面)37分钟,4月9日:
  1. 之前有没有实习或者实验室项目经历。答实验室项目。
  2. 个人感兴趣计算机方面技术如何学习。实际上类似个人介绍
  3. 技术的实际应用场景。
  4. 简历上博客系统项目的技术栈。
  5. nio了解吗。这个boss面问过,我boss面之后就去查了,但是只看一天,担心说不好,就说不了解,导致这一面差点挂掉,最后评级评到B+,大家引以为戒,知道就说,哪怕说错了都别说不知道。
  6. concurrentHashMap在线程安全方面如何实现。答的和boss面差不多。
  7. 数据库的ACID特性。
  8. 数据库四种隔离级别。我自己多加了一些回答就是Innodb的默认隔离界别以及如何实现(MVCC)
  9. 快排以及堆排问题。和boss面一样回答。
  10. 快排最快以及最慢时间复杂度,在什么情况下会这样。
  11. 7的128次方有10的多少位。就是直接取对数。log 10底 7的128次方 就是答案。

5面(交叉面)39分钟,4月13日:
由于4面表现不太好,评级只有B+,boss大发慈悲,给我重新安排了一场交叉面。成功强行给我抬上A。这一面全程问项目。

6面(hr面)45分钟,4月20日:
从小学初中开始聊、到高中大学的经历,这样来了解我这个人。感觉这一面正常答就行,不要作死基本没啥问题。




最后加上我两个月春招实习的学习路线:

  1. 从头开始快速复习一遍java。https://how2j.cn/
  2. 粗读一遍深入了解java虚拟机。
  3. java以及后台开发基础。https://github.com/CyC2018/CS-Notes CyC2018博客,特别全面。刚开始复习就看这个,上面一面的问题基本都在这篇博客中覆盖到了。
  4. java深入以及分布式内容。https://github.com/Snailclimb/JavaGuide JavaGuide博客,CyC掌握的差不多了以后就开始看这个。
  5. 自己去搜了一份排序算法博客。https://blog.csdn.net/weixin_41190227/article/details/86600821
  6. redis深入学习。https://www.cnblogs.com/kismetv/p/8654978.html
  7. 各种刷面经。


最最后给部门招招人:

个人感受,内推人极为负责,全程跟进,任何问题随问随答。
面试难度不是特别大。
感兴趣可以私信我或者直接发邮件。

更多模拟面试

全部评论

(15) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐