字节跳动后端开发提前批-已意向
拿到意向一周了,还是很开心,字节的流程确实很快,下面把三次面试问到的问题做了一个整理。
一面:
1.进程和线程
1.进程和线程
2.进程的通信
3.数组和链表
4.在链表中间插入一个节点时间复杂度是多少On,链表插入节点的平均复杂度On(1+2+…+n)/ n
5.冒泡 快排 归并 最坏时间复杂度和平均时间复杂度,稳定性是什么意思,是否稳定
6.无序数组中寻找第k大个元素,讲思路从最简单开始直到最优。第一,直接排序找,问sort的底层实现是啥 _插入快排归并。第二,使用优先队列,指定k大小是什么堆 _小根堆。第三,使用快排思想,找索引为len-k的元素,此时时间复杂度是 _On
7.java基础,判断true false
8.为什么重写equals要重写hashcode方法
9.hashmap为什么要是2的n次幂
10.算法题力扣143重排链表
3.数组和链表
4.在链表中间插入一个节点时间复杂度是多少On,链表插入节点的平均复杂度On(1+2+…+n)/ n
5.冒泡 快排 归并 最坏时间复杂度和平均时间复杂度,稳定性是什么意思,是否稳定
6.无序数组中寻找第k大个元素,讲思路从最简单开始直到最优。第一,直接排序找,问sort的底层实现是啥 _插入快排归并。第二,使用优先队列,指定k大小是什么堆 _小根堆。第三,使用快排思想,找索引为len-k的元素,此时时间复杂度是 _On
7.java基础,判断true false
8.为什么重写equals要重写hashcode方法
9.hashmap为什么要是2的n次幂
10.算法题力扣143重排链表
二面:
1.数据库存储引擎以及它们的区别
2.innodb的索引是什么,b和b+树的区别,为什么b+树更矮,将某个值放入b+树的节点,树结构会不会发生变化?
3.非聚簇索引和聚簇索引,聚簇索引的节点是用什么数据结构的?
4.进程的地址空间是啥,它是属于进程的资源吗?
5.协程,为什么要有协程,线程已经是独立调度的基本单位了,为什么还要有协程?
6.虚拟内存是什么
7.堆和栈的区别,堆怎么存储的,在操作系统里堆和栈怎么体现,堆和栈里面分别存放什么信息?
8.算法题:二叉搜索树转为双向链表,空间复杂度O1,如果不使用全局变量怎么做
1.数据库存储引擎以及它们的区别
2.innodb的索引是什么,b和b+树的区别,为什么b+树更矮,将某个值放入b+树的节点,树结构会不会发生变化?
3.非聚簇索引和聚簇索引,聚簇索引的节点是用什么数据结构的?
4.进程的地址空间是啥,它是属于进程的资源吗?
5.协程,为什么要有协程,线程已经是独立调度的基本单位了,为什么还要有协程?
6.虚拟内存是什么
7.堆和栈的区别,堆怎么存储的,在操作系统里堆和栈怎么体现,堆和栈里面分别存放什么信息?
8.算法题:二叉搜索树转为双向链表,空间复杂度O1,如果不使用全局变量怎么做
操作系统一度问到奔溃。。第二天上午hr告诉说通过了。
三面:
1.哈希表为什么查询,插入时间复杂度O(1)
2.hashmap在jdk1.7在多线程下会发生什么,1.8下会发生吗
3.算法题:一个链表奇数位节点为升序,偶数位节点为降序,将链表转换为整体升序。
4.redis中有哪些数据结构
5.zset怎么实现的?
6.跳表怎么做的,如果插入一个值,跳表怎么做,如何裂变,如果让你自己实现这个,你会怎么做,什么情况下会发生裂变等等。
直接问麻了。。。过了一天hr告诉通过了终面。
真的开心。周五告诉我三面通过,等待offer审批,周一下午就发了意向。效率还是蛮高的,祝大家都能多拿offer,加油加油!
#字节跳动提前批面试##面经##校招##字节跳动##Java工程师#