字节抖音直播一面,二面面经

最近又被字节捞了,这次是抖音部门。就写个面经,给大家提供一点参考。
楼主面试的语言是Java,问题大部分也是以Java为主


一面:60min左右
1.volatile的作用
(1)多线程下的可见性保证
(2)double long类型操作的原子化
(3)避免指令重排
2.volatile指令重排有什么好处?举一个具体的例子
解决多线程环境下,指令的错误执行?(不清楚)
例子:DCL懒汉式的单例,变量必须用volatile修饰,不然双检锁判定可能失效
3.JVM垃圾回收的基本流程:
答:CMS的基本回收方式:初始标记 - 并发标记 - 重新标记 - 并发清除 + 产生内存碎片,结合Serial Old达到清除
4.为什么初识标记阶段要STW
答:不知道。。。
5.常见的GC Root有哪些:
答:线程类、类加载器,模板类。(还有JNI Local JNI Gloabal和JVM持有的对象)
6.各种垃圾回收算法分别在哪些区,是怎么应用的:
答:分代的基本处理方式之类的。(引申答了一些)
7.MySQL方面:有哪些索引?
答:主要分类是B+树索引和哈希索引。
8.B+树有哪些特点?和红黑树对比有什么优势?
答:B+树的高度一般控制在3~5层,主要是为了避免磁盘的读取次数过多,非叶子节点不存数据,数据都在叶子结点保存。并且叶子结点间通过一个指针连接。
红黑树的索引时间复杂度稳定在O(logn),但是在硬盘读取的条件下,会导致读取的数据较多(磁盘读取的基本单位为扇区),而根据空间局部性原理,需要的数据
它周边的数据也可能读取到,因此使用B+树更好。

题:先序遍历和后序遍历还原二叉树, LeetCode105.

二面:60min
1.主要是问了很多项目相关的东西
2.问的问题记不住了。。。

题:缺失的第一个最小正整数。leetcode 41

#字节跳动##面经##Java工程师##校招#
全部评论
老哥,三面过了吗?
1 回复 分享
发布于 2021-01-15 03:09
老哥几年经验?
点赞 回复 分享
发布于 2021-01-08 16:31
被捞了是什么意思?
点赞 回复 分享
发布于 2021-01-09 12:32
同问base哪里?
点赞 回复 分享
发布于 2021-01-09 15:09
二面什么时候通知的?隔了一面多少天
点赞 回复 分享
发布于 2021-01-13 17:48

相关推荐

9 79 评论
分享
牛客网
牛客企业服务