找人内推的2020暑期Java研发工程师实习生,新零售国际化事业部,共计2轮OA, 6轮技术面试+交叉面(面试过程还有2轮coding),1轮HR面。断断续续持续了一个月,非常疲惫。
OA 测评
- 阿里在线测评主要分为四个部分:
- 语文
- 数字图表
- 图形推理
- 性格测试
前两部分是类似GRE的中文题目,图形推理主要是门萨题目里的智商测试题,最后一部分是职场性格测试。
- 在线笔试:我当时是一道斗地主题目和一道多个array求最大合并序列。应该是一道hard和medium,斗地主类似于noip斗地主的简化版本。
技术面试
一面技术面 70min
- 自我介绍
- 项目深挖细节
- 项目涉及spring,spring依赖注入方式
- spring如何创建一个bean
- sprint boot特点
- java如何new一个类,内存如何分配
- 双亲委派模型介绍一下
- web项目中session和cookie如何实现的,如果浏览器禁用cookie如何处理?
- concurrentHashMap如何实现,解决什么问题?
算法题:一面结束发了链接2小时写完4道题目:
- java运行一个cmd命令。
- 两种写法实现单例模式。
- 一道字母消消乐,给String:例如aABbCc,存在相邻的大小写就消除,求最后的string。
- 一道拓扑排序的图形题,下一次拓扑要求按字典顺序排序(改用priorityQueue就行了)。
二面技术面 72min
- 自我介绍
- 项目挖技术深度
- jvm相关,如何实例化对象,涉及哪些内存区
- 项目用到RabbitMq,如何实现?
- 无锁队列用过没?如何实现无锁队列
- 数据库MySQL引擎介绍一下,涉及数据结构(B+ tree)
- 分布式存储了解吗?
- 项目中有redis如何用的,如何实现分布式集群?
- 项目中有react,为什么要用react,有什么优势?
三面主管面 70min
- 自我介绍
- 项目
- 场景题:多个线程同时访问一块资源,如何减少性能消耗?(锁优化,CAS角度回答)
- 数据库隔离级别
- 事务太消耗性能,怎么优化查询?
- threadLocal介绍一下
- concurrent 类包用过没?
- 英文交流了10分钟
- 课余时间如何学习,GPA怎么保持的?
- flink有没有了解过,机器学习了解哪些?
四面交叉面 70min
- 双亲委派模型,如何打破?
- netty介绍一下
- 项目中用到docker,底层如何实现?
- kafka了解吗
- threadlocal
- Spring代理如何实现的?
- jvm调优,线上故障排查
- jvm命令参数熟悉吗
算法题: 期间30min完成2道题目,一道单例模式,一道约瑟夫环
五面交叉面 50min
- 说一下知道的object类的方法
- hashcode equals介绍一下,如果不覆写hashcode会怎么样
- sleep 与 wait的区别
- java GC,如果两个object相互引用会被清理吗?
- 场景题目:淘宝有1T数据url,只有1G内存,如何求出top 10的访问最高频率的url
六面交叉面 60min
- jvm和jmm介绍一下
- 哪些内存区对应缓存,哪些对应主存
- 场景题目:如何提高操作系统缓存利用率,淘宝每天的热度商品放缓存里,设计数据结构实现 (LRU cache)
- 职业规划
HR面
- 有什么优缺点
- 项目中担任什么角色
- 如何学习
- 读研最大的收获
阿里整体感觉还是有难度的,不过面试发挥的很好,跟几位面试官也聊得很愉快,只是流程比较慢。由于一些个人因素最后选择去鹅厂了。