阿里巴巴|2022字节&阿里JAVA后端社招面试小结

阿里巴巴|2022字节&阿里JAVA后端社招面试小结


一位朋友在2022年的真实经验分享 , 他将文章投稿到了我这里我拿来和大家分享一下 。年底向阿里和字节投递了简历 , 有幸都拿到了offer 。 可能是我运气比较好 , 总的来说两家公司的面试体检都非常好 , 流程很快 , 面试官也都很专业 。 字节是三轮技术面+一轮HR面 , 阿里是四轮技术面+一轮HR面 。 一些技术问题 , 这里简单罗列一下 , 不写答案了 。 很多问题是回答以后再接着延伸问的 , 类似的问题在这边我就直接给他合并了 。
废话就不说了 , 趁着还能想起一些东西来 , 记录一下本次社招面试过程 。 还有一点 , 不管是阿里还是字节 , 手写算法都是在他们提供的ide上写的 , 没有提示 , 不能编译 , 只能写完run 。 这个比较难受 。
一面(约1.5h)

  1. 看你做过微服务拆分 , 你们的微服务拆分是按什么原则拆分的?要是两个领域之间互相依赖怎么办?
  2. 你负责的服务 , 流量最大的服务QPS大概有多少?做过限流吗?限流原理了解吗(令牌桶)
  3. 那使用令牌桶做限流的话 , 遇到流量突刺 , 例如你设置的QPS最高为1000 , 但是这1000个请求在第一个毫秒瞬间到达了怎么办?
  4. Redis使用场景(缓存、锁) 自己写的锁是怎么写的 setNx 写入一个过期时间 。 然后问那事务还没执行完锁过期了怎么办?使用Redission , 会有个看门狗自动续期 。
  5. 请求的鉴权怎么做 , 了解哪些鉴权协议(回答了JWT 和 OAuth2协议 , 乱七八糟地说了一下)
  6. 算法题: 每K个元素 , 链表翻转一次 (1 2 3 4 5 6 k=2) -> 2 1 4 3 6 5
二面
约1h
  1. 怎么保证日志采集器的稳定性?(ECS用supervisor K8S字节写了个monitor脚本和自动重启脚本 , 和采集器容器一起打包成一个pod进行部署)
  2. 你对filebeat二次开发主要改了哪些东西?你刚刚说道filebeat僵死 , 所以你输出一些定时日志 , 然后再采集这个日志 , 不会对业务方造成影响吗?
  3. kafka 在你项目中的使用场景 。 消息是有序的吗?如果做到幂等性 。 了解Exactly once语义吗?kafka是怎么支持exactly once的语义的 。 消费延迟遇到过吗 , 怎么解决 。
    10.HTTP的一些问题 , HTTPS的通信加密过程 。 长连接 , 短连接 。
  4. 也问了限流相关 , 然后做了一个场景设计题: 要发5万块钱的红包 , 分成1k份 。 预计抢红包的人有十亿 。 主持人说三二一以后弹出抢红包窗口 。
  5. 还让我写了几个sql , 具体不太记得了 基本和 group by 有关系 , 问了一下having 和 where的区别
  6. 算法题:括号匹配 , 返回是否是正常匹配 (()()((()))) -> true (())())(() -> false
三面
三面比较快 , 大约50min 。 聊的大多都是软技能 , 很多问题不记得了 。
  1. 你做的这个采集自动运维系统怎么去衡量实时性、稳定性和准确性这三个指标 。 了解过行业内其它公司的方案吗?或者说别人能做到一个什么样的程度
  2. 怎么做资源规划 , 日常迭代的流程模式是怎么样的
  3. 让我介绍一下公司的业务场景 , 盈利模式 。 以及做项目过程中是否会做用户拜访 , 设计圈 0 -> 1是怎么做的 , 做了哪些事情 , 怎么衡量结果 。
  4. 算法题:O(n)复杂度实现删除链表倒数第k个元素
HR面
HR 面我都以为稳了 , 后来HR跟我说这也是一轮面试…… 所以 , 没拿到offer都不能掉以轻心
  1. 为什么离职
  2. 职业规划
  3. 聊入职意向 , 是倾向于做业务还是深入做技术
  4. 原来的公司哪里吸引我 , 让我可以呆4年
  5. 对work life balance 怎么看
一面
大约1个小时
  1. 为什么要实时采集和离线采集 , 分别用于什么场景 。 然后 , 基于这个问题往下问了很多(对方对这个领域非常了解) 。 不过 , 基本都是围绕 , 我如何解决xxx问题来展开 , 所以聊得很顺利 。 问过相关组件大概是:flink es kafka , zk 还有就是数据量 , 这个量级的数据量处理大约需要多少资源 。 问了一些具体的问题 。
  2. 聊了一下IO模型 , page cache 网络IO 。 如何做日志不落盘 , 我回答了目前在尝试flumeAppender , 然后问了几个关于flumeAppender的弊端怎么解决 。 Linux 用户态文件系统是否了解