字节跳动又又又喊我面试了(三面面经+许愿hr)
字节跳动真的是良心公司,春招我一共就面了不到10家,字节跳动居然给了我第三次机会。
感觉答的都一般般,但是超想去啊啊啊啊。
一面 4/12
- 介绍了下项目
- ip 协议,DNS 寻址过程
- https加密过程
- 死锁怎么形成,java 代码里怎么解决
- 线程同步
- 我说了操作系统的还有java的
- 那php里怎么实现(php?单线程呀。。)那多进程呢,怎么同步(不。。不了解,没遇到过)
- 三次握手四次挥手的作用,少了第三次会怎么样
- 算法 旋转数组的最小数字
- 线程和进程的区别,为什么进程切换慢
二面 4/12
- 问项目中消息队列的使用
- 什么是最大努力通知
- 如何保证投递可靠
- 下游消费失败怎么办
- 消息重复投递怎么办
- 消息id存在哪里
- 分布式事务除了消息队列还有什么解决办法
- 2pc,然后面试官问投票完成后其中一个参与者失败怎么办 (这里当初理解的不透彻,忘了,就扯 3pc,扯又没扯明白,面试官问我回答他问题了吗,很是尴尬)
- 看我项目有个redisson,他说他不太懂这个redisson,给他讲讲(你不懂,骗鬼吧)
- 如果有个线程执行时间过长超过了设置的超时时间被释放了怎么办
- 对微服务治理架构的了解
- TIME-WAIT 发生在哪个阶段
- 为什么等待 2 MSL
- 2MSL 大概是多久,现实中的时间(秒?毫秒?布吉岛)
- 正常上网请求网页的时候,进入 TIME-WAIT 的是服务器还是客户端,哪一方主动关闭连接。
- 服务器等待 2MSL 对他性能有没有影响(emm,时间久就有影响吧)问题又回到了多久,布吉岛。。
- 分布式id 生成器怎么做
- 聚簇索引和非聚簇索引的区别,一个表里可以有几个聚簇索引
- 幻读是什么 mysql 怎么解决(我答临键锁,面试官问我刚才提到的mvcc是否可以解决)
- 设计一个加权随机算法
三面 4/14
面试官态度非常好,没有压迫感,总是面带笑容,就怕他笑着把我挂了
- 问我有其他offer没
- 设计一个String 转 Int 的方法,做成一个基础库,设计好输入输出
- TCP/IP是哪四层
- ip 和 mac
- 为什么要有 ip
- mac 不可以划分子网吗
- mac 属于哪一层
- ip 属于哪一层
- 端口属于哪一层
- 端口的作用
- 多个进程可以监听同一个端口吗
- sleep() 是什么
- sleep 是怎么实现的,我说运行态变阻塞态
- 这个状态的转换是中断吗,一番思考,我猜是吧,他问我这么猜的理由,我就念了遍中断的定义,说看起来是符合 sleep 的
- sleep 里面有个休眠时间,是如何实现的,怎么做到到了时间就唤醒。瞎逼逼了两下,不知道
- 实习的收获
- redis 的原理是怎么学习的,看了源码吗。我说看书,redis 设计与实现。为什么要学习呢,为什么要学这个 redis 的原理
- 面试就到这里,有啥想问的,我又开始emm(回答每个问题的我都这个状态),他赶紧说,没啥想问的可以不问,emm,那,那没了。