还愿 字节跳动提前批意向书
下午收到意向书,特别感谢牛友的面经。(鞠躬九十度)
由于明天还有面试,星期天再来补上面经。
#字节跳动##提前批##面经##Java工程师#
由于明天还有面试,星期天再来补上面经。
最后希望牛友们offer拿到手软!!!
------------------------分割线----------------------------
面经:一面二面是7.12号面的,三面是7.15号面的,有些让我比较懵逼的问题和问的比较深的问题忘记啦,把还有印象的记下来供牛友们参考。
一面:
1.讲一下你对javaGC的了解
2.介绍下引用计数法、可达性分析法,引用计数法有什么缺点吗
3.讲一下标记整理、标记清除、复制算法的特点和适用场景
4.复制算法的过程是什么?
5.讲一下G1收集器
6.知道fork函数吗?在创建子进程过程中发生了什么?
7. a = fork(); b = fork(); print(a,b); 最后有几个进程?最后的输出是什么?
8.什么是聚簇索引和非聚簇索引?
9.为什么使用B+树建立索引?
10.辅助键索引的叶子结点为什么不直接存储数据的地址?
11.数据库的最左匹配原则?
12.说一下你了解的排序算法和时空复杂度?
13.快排的原理模拟一下
14.代码题:单链表的归并排序
15.反问
二面:
1.问项目问题
2.面试官给了一个sql语句,问怎么建立索引?为什么
3.修改了一下字段,再问怎么建立索引
4.redis的常用数据类型
5.redis中,要在 sorted set中查找a到c之间的数据,时间复杂度是什么
6.代码题:复杂链表的复制,要求时间复杂度O(n),空间复杂度O(1); 剑指原题
7.反问
三面
1.代码题:给你一个数组,把这个数组建立为最小堆?建堆的时间复杂度是多少,如何计算?
2.malloc函数是做什么的
3..如果让你分配和管理内存,你使用什么数据结构和策略
4..操作系统是如果分配内存的?讲一下段页式
5.tcp为什么是可靠的?
6.手动模拟一下滑动窗口?
7.什么是拥塞控制?过程是什么?讲一下
8.cpu的时钟是做什么用的
9..代码题:字母异位词分组(leetcode49)
10.字母异位词分组,不用hash怎么实现
11.反问环节