字节跳动技术中台暑期实习面经(已OC)
时间线:2月底投递 —— 3.1一面 —— 3.4二面 —— 3.9三面 —— 3.14HR面 —— 3.16收到offer
一面
自我介绍
科研和工程比较想做哪个
解释一下服务发现是什么
服务节点挂了处理(项目里可以直接摘除)
分布式一致性协议
如果要求你自己设计一致性协议 需要考虑什么点
netty底层实现原理(讲了零拷贝和bytebuf)
序列化协议详细解释(kryo)
节点是否应该有leader和follower 中心化和去中心化的选择
【以上问题都是围绕项目展开的】
数据库的常用引擎
B+树查询复杂度的推导(底数是多少)
http与https的区别 https的常用版本
ssl协议的常用版本
https是对称还是非对称加密,这两种加密方式的区别
为什么说非对称加密不好破解
算法题:三数之和
二面
自我介绍
讲一下java的垃圾回收(标记算法 清除算法 不同的垃圾回收器等等)
详细说一下proto buff 序列化 为什么序列化后比json小 机制
多个链接都连到了同一个端口,服务端是怎么识别到这些链接是不同的
深拷贝与浅拷贝
负载均衡算法(随机 轮询 一致性哈希 加权轮询 还有最小活跃数)
TCP握手的具体过程(每一次握手携带了什么字段也要说清楚)
http协议(1.0 1.1 2.0 3.0都讲了)
算法题:组合总和
三面
自我介绍
实验室的研究工作 围绕这些闲聊了一阵子
聊项目
JWT介绍 具体构成 加密使用了什么算法
http协议(详细聊几个版本 状态码)
分片后的数据怎么传输 拼接(序列号 偏移量之类的)
算法题:数据流的中位数
面试过程中相对还是项目聊的比较多 大家一定要对自己的项目非常熟悉才好
祝大家收到满意的Offer!