今年,我在字节跳动面试了九次【已意向书,mongodb 入门 pdf
15.跳表结构
[算法题](
)
1.带有随机指针[链表](
)的深拷贝
6.11 实习二面
1.削峰
2.多级缓存一致性
3.延迟双删解决主从 Redis 节点的数据一致性
4.秒杀[项目](
)中缓存预热
5.队列泄洪
6.MySQL 事务
7.Docker
8.dubbo 服务发现
9.注册中心服务判活
10.负载均衡策略
11.哈希一致性
12.Linux 查看具体端口是否被占用
13.思考题:2000w 高考成绩(有大量相同数据),无内存限制,要求 O(n)时间复杂度[排序](
)? ? ?当时说用桶[排序](
),只要同桶的数量趋近于高考人数,就可以做到 O(n),事后才想到可以用 Trie 树,有点可惜
[算法题](
):
1.[链表](
)节点两两反转
2.[链表](
)n 个节点为一组反转
6.12 实习三面
1.[项目](
)中限流怎么做的
2.令牌桶原理、数据结构??数据结构这个我是真的懵了,后来想可以用一个 volatile 自增字段+阻塞队列实现
3.MySQL 乐观锁悲观锁以及对应的 sql 语句
4.数据库隔离级别
5.dubbo 的好处
[算法](
):
1.删除字符串中 ab,保证最后字符串没有连接的 ab,例 aaabbb
最后,这次面试应该是部门 leader,讲真,这次面试体验真的不太好,整个过程加撕代码只进行了 35min,感觉面试官全程都在看我简历+写面评,基本没在听我说啥,以至于有好几次我说完之后都会有至少 15s 的冷场,哪怕面试官嗯一声给个反馈也好啊??,所以最后这场面试是铁挂了,所以就到了新一轮的面试
6.15 实习一面
1.秒杀优化,压测 QPS
2.Redis 读写分离
3.场景题:Redis 主从部署,在写请求特别多的场景下,如何保证在从节点读到的数据不是脏数据,我当时被这题问懵了,就说对从 Redis 上锁,同步完之后在进行回调,面试官笑了,说你还能改 Redis[源码](
)啊 ??事后问大佬,一个可行解是给数据加上时间戳,然后在代码层面进行时间戳的比较,总之就是有点 MVCC 的味道
4.Redis 是单进程单线程,那为什么 RDB 时候不会阻塞
5.看过 Redis[源码](
)吗——自然没有??
6.MySQL 隔离级别——这里面试官肯定是看我之前的面评了,因为我上一面这个问题回答得不是特别好,所以我觉得,提前批还是会影响秋招的,面试官大概率会看你之前得面评,如果前边面试发挥不好,后边自然就给面试官不太好的印象
7.time wait
8.ICMP 协议
9.操作系统分页和分段的区别
[算法题](
):匹配字符串
这次面试发挥我觉得还行,不过最后面试官问我能来实习多久,我说两三个月,然后。。。。然后就收到了感谢信??,不过那段时间正好提前批开始了嘛,那就字节提前批走起!
6.30 提前批一面
这是我在字节九次面试中唯一一次被问到 java?
1.java GC
2.java 内存模型
3.进程、线程
4.线程切换代价为什么小——除了共享内存外线程切换并不会清空 CPU 和主存之间的缓存
5.线程状态
6.线程什么时候挂起
7.死锁必要条件、如何避免死锁
8.进程间通信
9.OSI 七层模型
10.http 常用方法
11.post 请求返回的 100 状态码是协议规定的还是浏览器规定的
12.MySQL 存储引擎、区别
13.两用引擎优势
14.联合查询
15.查询优化器
16.Redis 基本类型
17.Redis zset 怎么实现
18.Redis 持久化方式
19.全量复制、部分复制
20.复制积压缓冲区
[算法题](
):
1.买卖股票二
2.买卖股票三
7.9 提前批二面
1.缓存作用
2.分级缓存如何保证数据一致性
3.面试官一直深入分级缓存的数据一致性,比如什么时候删除脏数据、Redis 主从部署怎么保证之类的,总之问的挺深,面试官逻辑非常缜密
4.分布式锁的实现、原理
5.序列化反序列化
6.如果自己实现序列化该如何操作,假如有一个 int 类型,你如何序列化为字节流
7.序列化如何支持跨平台
8.TCP 流量控制、拥塞控制
9.TCP 流量控制是通过接收端发送带有接受窗口剩余大小的 ACK 来实现的,那么如果接收端的 TCP 没有 CPU 调度会发送 ACK 吗,会不会因为接受窗口满了并且不能及时发送 ACK 导致数据丢失,这个问题讨论了好久,不得不说,这个面试官真的好
10.数据库隔离级别
11.MVCC
12.InnoDB 索引实现
13.联合索引
14.MySQL 字段类型的长短会对性能有影响吗
15.前缀匹配
[算法题](
):
1.走格子
2.走格子+陷阱
3.走格子,每个格子有血包或者怪物能让自己加血扣血,问走到右下角至少需要多少血量 ,可以从右下到左上的逆向 dp,并且 dp[m][n]=0 作为初始条件,当时觉得面试官想象力真丰富,能想到这么生动的[算法题](
)??不过几天后我居然真在 lc 上看到了这样的每日一题,好像还叫地下城与勇士??
4.如上题条件,给定一个初始血量,判断能否到达右下角
7.13 提前批三面
1.为什么要实现一个 RPC 框架? ? (为什么?当然是要水一个[项目](
)呗??)
2.问什么不用本地调用,而要用微服务? ? (为什么?因为简历上没微服务过不了初筛啊??)
评论