阿里—大淘宝—一二三面+hr面面经,后端,已意向
过程
- 3.16投递系统
- 3.16约一面,3.17一面,电话面,48分钟,面试后立马简历评估通过,发测评和笔试
- 3.22笔试,A1.8,后面面试时知道分数是50多分
- 4.3约二面,4.4二面,电话面,74分钟
- 4.6约三面,4.7三面,视频面,50分钟
- 4.7三面结束后20分钟约hr面,约的当天晚上
- 4.7hr面,视频面,15分钟,面试结束后大概5分钟收到意向
一面 3.17
- 约面很快,刚投递完就约面了,一共48分钟
内容
- 自我介绍
问项目
- 项目相较于别的框架,异同点
- 和dubbo这种非常完善的没法比,侧重于性能接近,比较轻量,还有一些特性等
- 监控扩展是指什么
- 连接建立以及调用时会上报监控数据
- 假设我是服务提供商,有很多服务来调用我们,怎么去保证服务稳定性
- 限流降级
- 测试时需要考虑的情况,磁盘满时
- 如何精准定位问题所在点:日志等
- 单测
- ...(这里很容易能想到监控,但是面试时没说到这一点)
- AB服务依赖我们服务,A服务强依赖我们,B服务弱依赖我们,如何分别保障他们
- 限流,给A高qps,给B低qps限制(不知道这样回答对不对)
- 限流算法
- 令牌桶
- 漏桶
- 调用安全性怎么保证
- 超时控制
- 失败策略
问实习
- 问实习检索服务日志优化怎么做的
- debug日志设计
问基础
- 两个大文件,里面都是单词,找同时在两个文件中都出现的单词
- 哈希那一套
- TCP,UDP,HTTP之间的关系
- 三次握手,四次挥手等,愿意讲就讲讲
- go和java差异
- 协程和线程
- 锁方面
- 基础库方面
- ...
- 协程在解决什么问题?性能哪个好?
- 设计模式,实际项目中用的
- 工厂和单例
- Mysql和Es使用场景,和区别
- 正排倒排
- 事务支持
- 设计12306
- 单机情况下,区间购票等
- 分布式情况下,服务稳定性(缓存设计忘了说)
- 对未来工作期待
- 滴滴目前的工作状态满意吗
- 反问环节
总结
- 大多数都是设计方面的问题,八股面试官并不感兴趣,电话面形式,氛围比较轻松,面完就简历评估通过了
二面 4.4
- 等了大概两周多才约面,让我一度认为我凉了,一共74分钟
内容
- 面试官自我介绍
- 问笔试做得感觉怎么样,猜笔试成绩
- 平时刷题吗
- 日常写代码这件事从什么时候
- 开始讲自己心路历程
- 研究生研究方向,闲聊了会
问实习
- 排查问题这个怎么做的(大概聊了40分钟)
- 集群出问题还是部分机器出问题
- 当时还不在公司
- 为什么会有无数个协程同时写,为什么没有协程数量控制呢
- 没有
- 协程在linux上是什么东西,会占用fd吗
- 不会占用,用户态完成调度
- 怎么快速把磁盘写满
- fallocate
- 写满了磁盘操作系统还可以运行吗
- df -h看到没有写满,还有20KB
- go当中锁带自旋吗
- 貌似没有
- 多个队列怎么保证顺序一致性
- 强保证在队列中有序性,hash到其中一个队列
- 弱保证有序性,可以通过traceid串起来,查询的时候通过时间戳排序
- 为什么不直接查看磁盘写速度
- 开始狡辩
- 怎么知道日志库有问题
- 逻辑推理,信息上下文,聊了很久
问基础
- 用户态和内核态
- 零拷贝
- 早上没吃饭,当时快中午了,血糖低,大脑已经钝了,讲了半天讲不清楚,阿巴阿巴,最后含糊说就是这个意思...
- tcp和http,八股的就不问了,问一点那个的,http在tcp之上增加了什么东西
- 刚开始不太懂什么意思,后来讲了一点请求头
- cache-control
- connection
- 自定义
- ...
- connection解释,tcp保活
- 源码级解释
- http如何判断一个包读完了
- content-length解释
- 除了content-length呢,chunked怎么做的
- 标识符,/n
问项目
- RPC服务发现怎么做的
- 注册中心挂了怎么办
- 序列化方式底层kryo底层实现
- 看过哪些源码
- nio的细节问题,写事件什么时候会出现
- ArrayList和LinkedList真实性能有测试过吗
- 用ArrayList
- 闲聊了一会,gc等等,zgc,shenandoah,过时东西不要学
- cpu load是什么
- 11点面试,10点47复习到这个点,结果没认真看...然后面试官给我解释了一下
闲聊
- 日常怎么学东西
- 现在每天时间是怎么安排的
- 现在有哪些offer
- 面美团和面阿里的感受区别
- 反问环节
总结
- 很多内容其实没回答好,整场面试氛围比较轻松,不会的地方也会说出自己的思考,结束后面试官说要和一面面试官对一下,当天下午没挂就是过了
三面 4.7
- 约面很快,中间清明节放假一天,节后第一个工作日就约面了,50分钟
内容
- 自我介绍
问实习
- 排查问题这个怎么做的(大概30分钟)
- 怎么写满磁盘的
- fallocate
- 有没有遇到过删除文件,磁盘占用没减少
- 答被别的进程打开了
- rm删除大文件有时候会很慢,怎么快速删除
- 讲了我的两种思路
- java的日志怎么限定大小
- 不知道,讲了我觉得应该有的参数rolling file
- 线上机器怎么去定期删除日志呢
- 磁盘阈值报警,触发删除日志的策略
- 遇到删不掉的情况,重启可以吗
- 可以,直接重启就行
问项目
- rpc服务发现怎么做的
- 注册中心为啥要用zk,用mysql可以吗,不就是用来存数据的吗
- zk怎么保证不丢数据呢分布式共识协议
- 没看过zab,但是paxos和raft讲了一会
- 怎么发现provider出问题了
- java服务,因为一次改动有问题,会出现空指针异常,修复很简单,但是传统修复流程比较麻烦,怎么快速修复
- 这块完全不知道,答了一些graalVM的一些东西,后面查了下八杆子打不着面试官提醒问有没有了解过java instrumentation,没了解过,让下来可以学习一下
闲聊
- 学习成绩怎么样
- 拿过奖学金吗
- 现在在面别的吗
- 如果有后续会有hr联系
- 没有反问环节
总结
- 很难,很多问题答不上来或者没把握,但是会强行扯一点自己的思考
HR面 4.7
- 三面完20分钟后,直接打电话约hr面了,约的就是当天,15分钟
内容
- 自我介绍
- 实习做的内容
- ...
- 拿到什么别的offer
- 什么时候能过来
- 为什么选择阿里
- 反问环节
总结
- 速度很快,看别人经验都是30分钟,甚至1小时,但是我这边15分钟就结束了,hr面结束后大概5分钟直接发意向了