【字节跳动2020面经】

说明:以下面经是来自一位2020年面试字节跳动的朋友的面试题
链接:
https://blog.csdn.net/a159357445566/article/details/110128543

这位朋友总共进行了三面,因为第二面(凉凉),所以又捞了一面(再凉),看看下面这位朋友的面经,是否你可以运筹帷幄呢?

在这里插入图片描述

一面

时长:1h 07m
1、 Integer 和 int 的区别,平时编程中什么时候使用 Integer,什么时候使用 int?

2、new Integer(1); 会不会从缓存当中取?

3、List 中为什么只能使用 Integer,不能使用 int?

4、int i = 1; 这样的基本类型可能会存在于jvm的哪些区域?

5、jvm 如何判断对象可以被回收?

6、jvm 如何判断对象已经死亡,两种方法的判断流程是怎样的,哪个效率高?

7、GCRoots 的对象有哪些?本地方法栈中的对象为什么可以作为GCRoots,怎么连接到 Java 对象的?

8、mysql 的主键索引和非主键索引有什么区别?

9、如果一条SQL语句执行的很慢,怎么优化?

10、为什么用b+树?

11、写个题,给定一个数组 [1,2,3] 和一个值 x,数字可以重复选取,输出所有和等于 x 的结果。

12、介绍一下秒杀系统,mysql 中存了什么?redis中存了什么?rocketmq干嘛用的?

13、它是来一个请求就下单吗?

14、如果两个用户在两个不同的机器上登录进行秒杀,那该用户能同时下单同一件商品两次吗?

15、反问

二面

时长:1h0 5m
1、问了项目,rpc架构说一下

2、服务提供方有节点挂了怎么办?

3、服务调用方怎么知道服务不可用了?

4、怎么实现的类似本地调用?

5、你的rpc可以支持多语言吗?

6、介绍下NIO

7、NIO中Channel的作用

8、cap解释下,p是什么?

9、zk的分布式算法zab

1.、如果选举的时候zxid都相同呢?

11、mysql为什么没有使用hash索引?

12、为什么没有用二叉树、二叉平衡树?

13、索引的匹配原则知道吗?

14、欧拉图知道吗?不知道

15、算法题:

最长上升子序列长度。

一面(捞)

1、知识导航平台介绍下。

2、注意力机制是什么?

3、秒杀系统需要考虑哪些问题?

4、秒杀大闸具体怎么实现的?

5、Redis 为什么可以保证线程安全?

6、有多个集群怎么办?

7、多个线程同时读到你的库存数据怎么解决办?

8、为什么线程多的时候要使用锁而不是CAS?

9、Netty 的零拷贝怎么实现的?
10、写题:
已知二叉树的先序遍历序列,输出它的中序遍历序列。比如先序;ABC##D#E###,输出中序CBDEA。#表示空节点,中序输出不需要#。

我们可以看到这位朋友的面试重点就是:java算法+数据结构+集合+框架+多线程 还有就是项目,如何实现高并发等,当然这几个大点也是现在大厂面试的重点,望诸君一起加油,希望这篇面经对您有多帮助!

猜你喜欢

转载自blog.csdn.net/qq_44682003/article/details/110466601