0%

阿里巴巴

找人内推的2020暑期Java研发工程师实习生,新零售国际化事业部,共计2轮OA, 6轮技术面试+交叉面(面试过程还有2轮coding),1轮HR面。断断续续持续了一个月,非常疲惫。

OA 测评

  1. 阿里在线测评主要分为四个部分:
  • 语文
  • 数字图表
  • 图形推理
  • 性格测试
    前两部分是类似GRE的中文题目,图形推理主要是门萨题目里的智商测试题,最后一部分是职场性格测试。
  1. 在线笔试:我当时是一道斗地主题目和一道多个array求最大合并序列。应该是一道hard和medium,斗地主类似于noip斗地主的简化版本。

技术面试

一面技术面 70min

  • 自我介绍
  • 项目深挖细节
  • 项目涉及spring,spring依赖注入方式
  • spring如何创建一个bean
  • sprint boot特点
  • java如何new一个类,内存如何分配
  • 双亲委派模型介绍一下
  • web项目中session和cookie如何实现的,如果浏览器禁用cookie如何处理?
  • concurrentHashMap如何实现,解决什么问题?

算法题:一面结束发了链接2小时写完4道题目:

  1. java运行一个cmd命令。
  2. 两种写法实现单例模式。
  3. 一道字母消消乐,给String:例如aABbCc,存在相邻的大小写就消除,求最后的string。
  4. 一道拓扑排序的图形题,下一次拓扑要求按字典顺序排序(改用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面

  • 有什么优缺点
  • 项目中担任什么角色
  • 如何学习
  • 读研最大的收获

阿里整体感觉还是有难度的,不过面试发挥的很好,跟几位面试官也聊得很愉快,只是流程比较慢。由于一些个人因素最后选择去鹅厂了。