【Java进阶营】2022字节&阿里JAVA后端社招面试小结

【Java进阶营】2022字节&阿里JAVA后端社招面试小结,第1张

一位朋友在2022年的真实经验分享,他将文章投稿到了我这里我拿来和大家分享一下。

年底向阿里和字节投递了简历,有幸都拿到了offer。可能是我运气比较好,总的来说两家公司的面试体检都非常好,流程很快,面试官也都很专业。字节是三轮技术面+一轮HR面,阿里是四轮技术面+一轮HR面。一些技术问题,这里简单罗列一下,不写答案了。很多问题是回答以后再接着延伸问的,类似的问题在这边我就直接给他合并了。

废话就不说了,趁着还能想起一些东西来,记录一下本次社招面试过程。还有一点,不管是阿里还是字节,手写算法都是在他们提供的ide上写的,没有提示,不能编译,只能写完run。这个比较难受。

一面(约1.5h)

  1. 看你做过微服务拆分,你们的微服务拆分是按什么原则拆分的?要是两个领域之间互相依赖怎么办?

  2. 你负责的服务,流量最大的服务QPS大概有多少?做过限流吗?限流原理了解吗(令牌桶)

  3. 那使用令牌桶做限流的话,遇到流量突刺,例如你设置的QPS最高为1000,但是这1000个请求在第一个毫秒瞬间到达了怎么办?

  4. Redis使用场景(缓存、锁) 自己写的锁是怎么写的 setNx 写入一个过期时间。然后问那事务还没执行完锁过期了怎么办?使用Redission,会有个看门狗自动续期。在此我向大家推荐一个架构学习交流圈。交流学习指导伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

  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份。预计抢红包的人有十亿。主持人说三二一以后d出抢红包窗口。

  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 用户态文件系统是否了解

  3. 算法题: 两个字符串a, b 是否能按顺序打散后组成c (abc, def) -> abdcef true

二面

大约1个小时

  1. 也是聊采集的项目,对filebeat有哪些改动,改完以后如何确保对其它模块没有影响(可能是因为我面的部门,入职后也会做这个相关,问得很细)

  2. mysql分库分表的场景和问题,平时怎么用的

  3. 是否对现在云原生的技术有了解,OpenTelemetry 是否了解。

  4. 平时Elastic Search使用场景,如果做数据同步。ES准实时性问题。

  5. Restful API和普通API的区别,公司内部的SOA怎么实现的。

  6. 算法题: 给一个有序数组,找出第一个比k大的数字的下标。 要求自己写测试用例(感觉也是考察的一环,边界条件一定要想清楚)

三面

三面面试官感觉好像很忙,问题一个接一个问得非常快,没做算法题。整体面试时间在50分钟左右

  1. 接手一个新项目,不了解的情况下,如何避免出问题。(这个当时感觉没答到点子上,只说了要分支测试要充分啥的。面完以后想想,应该包括性能测试、灰度部署、以及可观测性监控这些点。)

  2. 怎么解决Redis 热key。 我只回答了本地缓存、Redis集群水平扩容。但是面试官对这两个答案不够满意,让我考虑本地缓存被击穿,就是经常有大量请求打到Redis的场景。集群扩容太重 ,问我有没有其它方案。

  3. 也让我写了几个 SQL,但是感觉也都不太复杂

  4. 其实三面问了挺多问题,但是他问得很快,我那天又很懵。状态很差,记不清楚了(前一天在公司通宵了,第二天又失眠了。差不多四十多小时没睡在面试……)

HR面

30min左右

四面面试官休假了,就直接先HR面了。和字节差不多的问题,不过因为他们知道我在面字节。还问了一下,我自己的倾向性。这里我比较坦诚,直接说了倾向于阿里的中后台岗位。所以后面给的评级待遇啥的,他们应该就是卡着字节给。

四面

40min左右

四面本来很紧张,因为了解到是个级别非常高的大佬。不过,这面反倒最简单,就是聊聊天。话题主要有:原公司的业务模式,盈利模式,技术团队规模,服务器规模等,聊一些价值观念。离职原因,对跳槽的看法,对加班的看法。对转岗活水的看法。对新技术是否有跟踪,平时会做哪方面的积累。反正很泛。

感觉这一面主要考察一个人的价值观,和逻辑思维能力,说话得有条理。这个我没做好,东拉西扯的。

看完如果有帮助,希望可以给个 三连 ,你的鼓励就是我不断前进的动力。谢谢

关注我:私信“资料”获取Java高级架构资料、大厂面试试题、视频

也欢迎朋友们积极投稿和大家分享你的面试经历

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/725771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存