字节国际电商
timeline
8.23 一面
大概面试一小时
面试官人比较耐心,循循善诱,希望能过
9.2 二面
40多分钟
全项目,无八股,然后一个手撕,无反馈
一面
项目
就问了实习项目
- TPS ,RS 监控平台底层是怎么测的?链路追踪怎么实现的?
- go 语言的协程和线程有什么区别?协程是怎么实现的(讲了下GMP)?协程可以跨线程么(可以)?
- linux 中线程和进程的区别(本质上都是通过do_fork创建的)?进程和线程都有什么资源?如果新创建一个线程,会不会新增进程id?
- 怎么使用redis实现的分布式锁?幂等是如何实现的?
- 有没有用到设计模式?怎么用的?
- 写流水失败如何保证?go怎么异步重试?
八股
问点 Java 的八股
- AQS 讲一下?如果等待队列的线程没获取到锁,怎么办(放在队尾)?
- wait 会让线程从什么状态进入什么状态?wait 怎么使用?对象的等待队列和同步队列?
手撕
二叉树之字打印
二面
项目
除了下面两个问题,其他的都是对业务的询问
- 你的服务作为调用方,怎么知道被调用方会不会因为你的服务调用而崩掉,或者说你怎么知道你的调用方的qps最大能承受多少?(答:我没权限看,但是一般通过灰度可以一定程度上减少这种风险)
- 灰度时间是多少?如果你在非高峰期灰度了,怎么能确保高峰期能够满足需求呢?(答:把灰度的时间弄得时间长点,起码覆盖一个周期)
手撕
k个一组反转链表