字节后端二面、三面
二面
时间大概在一个小时左右,问了一些一面中没有问到的问题,记忆中有如下
- 自我介绍
- 自己平时有去学一些新技术吗,比如现在比较火的AI大模型这些
- 直接问一些基础,数据结构的树都有哪些?详细介绍一下,红黑树、AVL树,平衡二叉搜索树对比和优劣 + 疯狂追问
- 二叉搜索树的最坏时间复杂度是多少?O(n)退化成链表,二叉搜索树和红黑树的对比?二叉搜索树有什么缺点
- 数据库索引的作用是什么?
- 如果辅助索引已经查到了这个数据的话,会怎么办呢?索引覆盖
- 为什么索引要用B+树而不是其他的树?B+树有什么优点
- 事务为什么要分到不同的隔离级别?
- 什么时候用sql?什么时候用redis?
- Redis的过期删除策略?定期删除,惰性删除,LRU删除,然后追问LRU删除时的具体实现过程?
- Redis都支持哪些数据结果?
- 布隆过滤器的原理是什么?具体是怎么做的?
- 两道代码题,第一道反转字符串
- 第二道滑动窗口解决字符串中的如果现在有一个m个不重复字符的数组,例如[a, b, c, d],然后还有一个长度为n的字符串,现在需要去这个字符串中找出由m个不重复字符组成的连续字串,并返回其字串首地址,如果没有找到则返回-1
三面
三面问我的是设计题,时间也在一个小时左右,就是基于几个问题然后追问
自我介绍之后
1、问第一个问题是设计一个算法,要求输入一个数组,求这个数组中位数,要求性能尽可能高
2、各种排序算法的比较,追问一些指标和实现细节,比如快排
3、堆是什么?有什么作用?top k问题,具体怎么实现,代码怎么写,思路
4、假设有32个重量不同的物体,用一个天平,怎么找出最重的一个物品,设计一个方案?
5、怎么同时找出最重的和次重的?
6、手撕是找波谷
如果有朋友用得上的,仅作参考