字节crm后端一面

字节crm后端一面

2026-2-9

1数组和链表有什么区别?两者在什么场景下适用?

2数组和链表的空间大小变化有没有什么区别?

3数组和链表的访问方式是什么?说说随机访问或者它们的访问的复杂度。

4哈希表的平均查找时间复杂度是多少?

5哈希表是如何实现的?

6哈希表的冲突解决是怎么解决的?

7了解一致性哈希吗?它是怎么实现的?和传统哈希的区别是什么?

8你知道 LRU 缓存是什么意思吗?说说这个缓存策略。

9针对于 LRU 缓存策略,实现的话用什么数据结构?

10解释一下什么是进程,什么是线程。

11介绍一下进程切换和线程切换。

12知道什么是对象锁,什么是类锁?

13利用 synchronized 来实现实例锁和静态锁,具体是怎么实现的?

14介绍一下什么是 CAS?它的原理是什么?

15synchronized 是可重入锁吗?

16什么是死锁呢?

17如何避免死锁呢?

18算法题:给定无重复数组,元素可重复使用,找出和为目标值的所有组合(如目标 6),说说解题思路及实现。 力扣的组合总和

19MySQL 的 ACID 是什么?

20MySQL 的四种隔离级别是什么?

21什么是最左前缀原则?

22介绍一下索引下推。

23介绍一下缓存穿透以及缓存穿透的处理。

24介绍一下布隆过滤器的原理。

主包:第一次面字节,一面全是八股,有一些不太会就尽力去扯后续需要加强,还有一道算法。一眼dfs回溯,但是好久没写了,最后磨磨唧唧写了大概40min还有bug,摆了。最后10min又问了点八股。反问说其实算法思路是对的,但是实现上会有一些问题,这方面需要注意一下。

后续:1h后约二面,这也能过,好神奇。

全部评论

相关推荐

最近我老琢磨一件事,就是人的想法到底是怎么进步的。我们总想让自己开窍,想事的方法能上一个台阶。可等我好像真摸到点边儿了,才发现问题也跟着来了——不是好事吗?还真不是。问题出在哪儿呢?就是你想事的方法变了,可你脑子里那些老知识、老经验,反而成了麻烦。我有个特别明显的例子。去面试的时候,聊到一些深层的东西,我能把新想明白的那些道理说得挺透。可面试官一转话题,问到个以前我背得滚瓜烂熟的基础问题,我嘴比脑子快,张嘴就把老一套答案给背出来了。那一瞬间我就特别清楚,我身上有两套东西。一套是刚搭起来的新架子,看得更远。另一套是用了好多年的老地基,扎实、顺手,根本不用想。一碰到事,老地基抢着冒出来,新架子压根使不上劲。这事让我想明白一个理儿——你想事的方法升级了,光往里加新东西没用。你得用这套新方法,把过去那些老知识、老经验,全都重新捋一遍。老知识本身没错,可原来那套理解它的方式过时了。你得把它放到新架子里,重新看它是个什么位置,跟别的东西是什么关系。让它从你这套新方法里再长出来一回,才算真正是你的。不然它就是颗雷,不知道什么时候蹦出来,把你刚搭好的东西炸回原形。这事肯定难受。就像练肌肉,想长劲儿,就得先把旧的纤维撕开,让它疼,让它长。你得跟自己最舒服的那套想法对着干,把那些张口就来的东西咽回去,忍着新老混在一起的那种别扭。但要是怕难受,不下这手呢?那些老想法就会一直拦着你。你想往高处走一步,它们就拽你一步,怎么也甩不掉。想明白这个,就算开了个头。
牛客解忧铺
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务