首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
Kitebin
深圳大学 C++
发布于广东
关注
已关注
取消关注
@可拟雀在大厂:
字节跳动后端暑期实习最新面经解析:回归基础,方为大道
嗨~我是可拟雀,一个后端开发工程师,毕业于某985大学,目前供职于bat某大厂核心部门后端。每天分享最新面经答案,希望在大环境不好的当下能帮到你,让你多积累面试经验。******************************一面 1h1. 布隆过滤器原理答:布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,它利用位数组和一系列哈希函数,以较小的空间代价和较大的概率来检测一个元素是否属于某个集合。其核心原理如下:位数组:布隆过滤器使用一个位数组作为底层存储结构。每个位都可以是0或1,表示该位置是否被“占用”。哈希函数:布隆过滤器使用多个独立的哈希函数。当向过滤器中添加一个元素时,这些哈希函数会计算出多个索引值,并将位数组中对应的位设置为1。添加元素:对于每个待添加的元素,布隆过滤器会利用所有的哈希函数计算出多个索引值,并将这些索引对应的位数组中的位置设为1。查询元素:为了判断一个元素是否存在于集合中,布隆过滤器同样会利用哈希函数计算出多个索引值,并检查这些索引对应的位是否都为1。如果所有位都为1,那么过滤器认为该元素可能存在(但可能存在误报,即实际上元素并不在集合中)。如果有任何一位为0,那么过滤器可以确定该元素一定不存在。需要注意的是,布隆过滤器存在以下特点:误报率:由于哈希冲突的存在,布隆过滤器可能会错误地认为某个不在集合中的元素是存在的,这称为误报或假阳性。但布隆过滤器不会误报不存在的元素为存在,即不存在假阴性。误报率可以通过增加位数组的大小或使用更多的哈希函数来降低。不支持删除:布隆过滤器不支持从集合中删除元素。一旦一个元素被添加到过滤器中,其对应的位就会被设置为1,并且无法再被撤销。尝试删除元素可能会导致其他元素的误报率增加。尽管存在这些限制,但布隆过滤器因其高效的空间利用率和快速的查询速度,在许多场景中都得到了广泛应用,如缓存穿透、垃圾邮件过滤、网页黑名单系统等。2. 回表、覆盖索引?答:回表:回表是数据库中一种查询优化方式,通常出现在使用非聚集索引进行查询的场景中。非聚集索引与数据行分开存储,它包含一个指向数据行的指针。当使用非聚集索引进行查询时,数据库引擎首先通过该索引找到匹配的行,然后使用行指针到表中查找相应的行数据。这个额外的查找操作就被称为“回表”。回表操作的代价较高,因为它需要额外的IO操作,增加了查询的开销,特别是在大型数据表中这种开销更为明显。为了优化查询性能,可以考虑将经常需要查询的列包含在非聚集索引中,这样数据库引擎在索引中就能找到所需的所有信息,无需再进行回表操作。但需要注意的是,回表操作并不适用于使用聚集索引的查询,因为聚集索引包含了整个表的数据,查询时无需再回到表中查找数据。覆盖索引:覆盖索引是一个包含了查询语句所需的所有数据的索引。它不仅能够提供索引的搜索能力,还可以完全覆盖查询需求,避免了回表操作。在覆盖索引中,索引本身包含了查询语句中涉及的所有字段,因此数据库引擎可以仅通过索引就获取到所需的所有信息,无需再额外去查找数据行。这减少了I/O消耗,提高了查询效率。覆盖索引是数据库性能优化的一个重要策略,但在使用过程中需要根据具体场景权衡选择,以达到更好的性能优化效果。3. 无序数组的中位数?4. 差分题目?5. UDP 实现和 TCP 实现?答:连接性:UDP是无连接的协议,它不需要在传输数据之前建立连接。发送端只需将数据封装在UDP数据报中,然后发送给接收端。与此不同,TCP是面向连接的协议,在发送数据之前,需要先通过三次握手协议建立连接,确保数据传输的正确性。可靠性:TCP协议保证数据传输的可靠性,它通过一系列机制(如确认应答、超时重传等)确保数据能够准确、有序地到达接收端。而UDP协议则不保证数据的可靠性,它只负责将数据发送出去,不关注数据是否到达接收端,也不保证数据的顺序性。传输效率:UDP协议通常具有更高的传输效率,因为它不需要进行连接建立和断开等额外操作,且没有复杂的流量控制和拥塞控制机制。TCP协议虽然保证了数据的可靠性,但也因此引入了更多的开销,导致传输效率相对较低。报文大小:UDP的报文首部只有8个字节大小,而TCP的报文首部有20个字节。这也在一定程度上影响了两种协议的传输效率和应用场景。应用场景:由于UDP协议的高效性和无连接特性,它常被用于实时性要求较高、对数据传输可靠性要求不高的场景,如视频流传输、实时游戏等。而TCP协议则更适用于需要确保数据传输可靠性和顺序性的场景,如文件传输、网页浏览等。6. LRU 和 LFU 的区别和实现答:LRU(Least Recently Used)和LFU(Least Frequently Used)是两种常见的缓存置换算法,它们的主要区别在于评估缓存对象被替换的标准不同。LRU算法主要基于时间局部性原理,即如果一个数据在最近一段时间被访问过,那么将来被访问的可能性也很大。因此,LRU算法会淘汰最长时间未被使用的页面或数据。在LRU中,通常会使用一个双向链表来维护缓存数据的使用顺序,链表的头部表示最新使用的数据,尾部表示最旧的数据。每当有数据被访问时,该数据就会被移到链表的头部。当缓存已满且需要插入新数据时,LRU会从链表尾部选择最久未被使用的数据进行替换。而LFU算法则主要基于频率局部性原理,即如果一个数据在最近一段时间被访问的次数很多,那么将来被访问的可能性也很大。因此,LFU算法会淘汰一定时期内被访问次数最少的页面或数据。LFU的每个数据块都有一个引用计数,当数据被访问时,其引用计数就会增加。所有数据块按照引用计数排序,具有相同引用计数的数据块则按照时间排序。当需要淘汰数据时,LFU会将已经排序的列表最后的数据块删除。在实现上,LRU和LFU都需要维护一个数据结构来跟踪缓存中每个数据的使用情况。对于LRU,这通常是一个双向链表,而对于LFU,则需要一个能够记录引用计数的数据结构,如哈希表或优先队列。这两种算法在实现时都需要考虑如何高效地插入、查找和删除数据,以及如何在缓存满时选择合适的数据进行替换。7. 虚拟内存?虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。虚拟内存的工作原理是将进程使用的内存分为多个页面(通常为4KB或8KB),每个页面都有一个唯一的虚拟地址。当进程需要访问某个页面时,操作系统会检查该页面是否已经在物理内存中,如果已经在内存中,则直接访问该页面;如果不在内存中,则操作系统会将该页面从磁盘上的虚拟内存中读取到内存中,并将其映射到进程的虚拟地址空间中。虚拟内存不仅仅是简单地存放进程的一部分并且与内存可以互相交换,它还涉及到许多复杂的机制和算法,例如页面置换算法、页面预读技术、页面共享技术等,以提高系统的性能和效率。同时,虚拟内存也是操作系统中非常重要的一部分,它为多任务操作系统的正常运行提供了必要的支持。8.os分页算法?答:OS分页算法是操作系统中用于管理内存的一种重要机制。分页的基本方法是将地址空间等分成某一个固定大小的页,每一页大小由硬件或操作系统来决定。进程的逻辑地址空间被分成若干个大小相等的页面,而物理内存空间也被分成与页大小相等的物理块或页框。当为进程分配内存时,以块为单位将进程中的页面装入物理内存中的块。在分页机制下,物理内存空间是有限的,当所有物理页面都被占用时,操作系统需要选择某些页面进行置换,以便为新的页面腾出空间。这就涉及到了页面置换算法。常见的页面置换算法包括FIFO(先进先出)算法、最佳置换算法和LRU(最近最少使用)算法等。FIFO算法按照页面调入内存的先后顺序进行置换,最先调入内存的页面先被替换出去。最佳置换算法选择在未来最长时间内不再被访问的页面进行替换。LRU算法则选择最近最少使用的页面进行替换。9. 函数调用与栈答:函数调用与栈的关系主要体现在函数调用的执行过程中。栈(Stack)是一种数据结构,它遵循后进先出(LIFO,Last In First Out)的原则,即最后进入栈的元素将最先被移除。在程序执行过程中,函数调用栈(或称为执行栈)用于存储函数调用时的相关信息,以确保函数能够正确地执行和返回。当一个函数被调用时,以下操作通常会在函数调用栈上发生:压栈(Push):函数调用者的下一条指令地址(即返回地址)被压入栈中。这样,当函数执行完毕后,程序可以返回到正确的位置继续执行。函数的参数(如果有的话)也会被压入栈中,供函数内部使用。函数的局部变量和运行时所需的其他信息也可能在栈上分配空间。函数执行:函数在栈顶开始执行。它可以访问其参数(从栈中读取)和局部变量(也在栈上分配)。函数执行期间,可能会进行更多的函数调用,这些新的调用同样会压入栈中。返回(Return):当函数执行完毕并准备返回时,它会从栈顶弹出,返回到之前保存的返回地址继续执行。在返回过程中,函数可能返回一个值,这个值通常会被放置在某个特定的寄存器中,或者在某些情况下也可能被压入栈中,等待调用者读取。清理栈:随着函数的返回,其相关的栈帧(包括局部变量、参数和返回地址)会被从栈中弹出,释放空间。通过栈来管理函数调用,确保了程序能够正确地追踪函数的调用顺序和返回路径。如果栈空间不足(即发生栈溢出),程序通常会崩溃,因为无法为新的函数调用分配空间。栈溢出是一个常见的编程错误,尤其是在递归函数没有正确的终止条件,或者函数内部申请了过多的局部变量时。10. lc 394 字符串解码11. 岛屿数量总结:可以看出,校招的时候一线大厂都不会过于强调对框架和语言的考察,反而是计算机网络,计算机组成和操作系统,数据库这些计算机专业课基础。原文出处
点赞 9
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 00:07
华南理工大学 演员/配音/模特
被猿辅导挂了简历,但我想说...
我真麻了鸭,真的被拒麻了,猿辅导直接简历挂,🐀🐀属实是不知何去何从了。投递简历到现在,每一次都铩羽而归,互联网真的不能给🐀🐀一个机会吗?对猿辅导祛魅了。
投递猿辅导等公司10个岗位
点赞
评论
收藏
分享
07-26 14:23
深圳大学 运营
财务实习极限二选一
👋个人背景:双非会计26届👏offer1:深圳努比亚公司,百人规模,是中兴通讯的子公司,主营3c数码业务,工作内容是费用报销,合同审核,后续可能接触报表。去公司面谈后感觉公司氛围还不错,据说正式工离职率很低,不过不一定有转正机会。每月前三天如果是周末就要加班,只能调休。💯offer2:珠海东电化公司,是有千人规模的外企,主营电子元件制造,工作内容是固定资产,废料回收,成本核算,据说偏管理会计,工作需要处理英文邮件,每周两次实地盘点。感觉管理很规范,面试官很专业,但是从面试官的描述来看大概率没有转正机会。🌱目前我是打算参加秋招直接就业的,实习还是以锻炼能力为主,也想通过实习在秋招找到更好...
如果可以选,你最想去哪家...
点赞
评论
收藏
分享
07-18 22:55
海南大学 Java
大佬们帮忙看一下简历,27届怕hr觉得太年轻了改成26届可以嘛
投了多少份简历才上岸
点赞
评论
收藏
分享
07-20 02:09
南宁师范大学 Java
我是双非二本的,现在找实习好像已经找不到了,要不要直接准备秋招,但是我没有实习经历,可以包装实习经历吗,求大佬给一点建议
DKS233:
(1)专业技能:Java8也太旧了,最少也要了解到JDK17吧,可以参考现在SpringBoot支持的Java最低版本,熟悉mysql基本理论具体指啥,是锁这种具体原理还是分库分表这些业务场景,spring这些专业词汇,大小写要写对(全篇简历都有这个问题,显得不严谨),熟悉使用框架进行业务开发就别写了,如果要写,起码要写到框架原理部分吧,比如aop,启动原理什么的,springcloud具体指哪些模块呢,写清楚,网关还是鉴权还是什么,“改造”没必要写吧,你直接说用springcloud开发的不就行了(2)项目经历:首先格式就有大问题,时间怎么能换行呢,调整一下,响应速度那个,如果指的是将部分数据从其他数据库转到redis的提升就别写了,因为这个不算难点,redis可以写写分布式这些,比如容灾怎么实现的,数据库同步怎么做的
点赞
评论
收藏
分享
昨天 11:14
门头沟学院 产品经理
觉得研发高人一等的这辈子有了
时过境迁,孝子也是距离参与最近工作也已经一个月了。天下英雄如过江之鲫,在孝子的工作环境里得到了充分验证。先后参与了,NEO与研发专班培训,途中也工作了两周,为学校中的技术与企业级技术的代差而感觉震惊,也被部分看似优秀的人所感叹。感受到了一个现象,可能只是偶然。NEO中,有来自销售的同事、有来自技术服务的同事、有来自二线研发的同事。气氛被销售为主的同事带动得非常热情洋溢,一周下来,几乎没有任何不和和冷场,在有需要人挺身而出的时候,总有人会揽下职责,做某些人眼中的”出丑者“。但是,当以销售为主的同事们承担责任,就算没有获得很好的成果,或者说出丑了,大家也会钦佩其勇气,为他的失败鼓励,为他的成功开心...
Java抽象带篮子:
只会在算法✌🏻面前觉得低人一等😃
牛客激励计划
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批,三面被推迟一周,喜提秋招第一凉
5405
2
...
虾皮秋招一面
3025
3
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
2504
4
...
百度提前批 三面
2047
5
...
7.30百度提前批一面
1886
6
...
小鹏offer
1413
7
...
上班一周,工资还没拿,先欠公司两千
1314
8
...
百度7.30二面
1279
9
...
最强本科✌
1194
10
...
大学四年,我感觉我像个“孤勇者”
1187
创作者周榜
更多
正在热议
更多
#
简历上的经历如何包装
#
28156次浏览
800人参与
#
秋招被确诊为……
#
163341次浏览
742人参与
#
中兴秋招
#
205073次浏览
2289人参与
#
工作中哪个瞬间让你想离职
#
62934次浏览
567人参与
#
你最希望上岸的公司是?
#
134945次浏览
705人参与
#
和同事相处最忌讳的是__
#
23767次浏览
242人参与
#
2022毕业即失业取暖地
#
102634次浏览
662人参与
#
2022毕业生求职现身说法
#
89204次浏览
700人参与
#
虾皮求职进展汇总
#
248856次浏览
1836人参与
#
你最近一次加班是什么时候?
#
70966次浏览
350人参与
#
26届的你,投了哪些公司?
#
42431次浏览
476人参与
#
投格力的你,拿到offer了吗?
#
86348次浏览
582人参与
#
你遇到最难的面试题目是_
#
16285次浏览
198人参与
#
你的秋招第一面感觉怎么样
#
76671次浏览
591人参与
#
我对___祛魅了
#
46731次浏览
427人参与
#
地平线求职进展汇总
#
52619次浏览
369人参与
#
研究所VS国企,该如何选
#
194753次浏览
1819人参与
#
柠檬微趣工作体验
#
6653次浏览
40人参与
#
如果校招重来我最想改变的是
#
271733次浏览
2849人参与
#
你跟室友的关系怎么样?
#
6884次浏览
106人参与
#
你最讨厌面试问你什么?
#
27566次浏览
307人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务