首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
LION---
门头沟学院 Java
关注
已关注
取消关注
@BAT后端川哥:
春招字节飞书一面面经|讲解|0226
继续挑选了一篇牛客上的热门面经给大家做讲解分析,参考回答和学习资料指引,期望对大家有所帮助~本文也是 《热门面经讲解》 系列文章之一,大家可以点个赞关注,我会持续更新面经主要考察点总结::操作系统+计算机网络+redis原贴链接1. OS的虚拟内存解析:如果只是让简单介绍一下虚拟内存,那面试官可能是想引入话题之后再细问,我们可以从虚拟内存是啥,解决什么问题,如何工作等来简单介绍下。参考回答:操作系统的虚拟内存是一种重要的内存管理技术,它的核心思想是利用硬盘空间来扩展物理内存的容量,从而让计算机能够运行更大或更多的程序。具体来说,虚拟内存技术通过将物理内存中的一部分数据与硬盘上的交换文件进行交换,实现了内存的“扩充”。当程序需要访问的数据不在物理内存中时,操作系统会将这部分数据从硬盘的交换文件中读取到物理内存中,以供程序使用。同样地,当物理内存空间不足时,操作系统也会将一部分较少使用或暂时不需要使用的数据交换到硬盘的交换文件中,以释放物理内存空间给需要使用它的程序。学习指引:虚拟内存属于操作系统的重要知识点,属于内存管理的一部分。建议大家整体掌握内存管理。1.博客:小林 coding|图解系统|虚拟内存2.书籍:《现代操作系统原理与实现》|第四章 内存管理 | 虚拟内存2. 直播用udp还是tcp,为什么?udp和tcp的区别:解析:计算机网络属于校招重要专项之一,tcp和udp属于面试重点,需要掌握。参考回答:直播:通常使用UDP(用户数据报协议)而非TCP(传输控制协议),因为UDP具有更低的延迟和更高的实时性,适合流媒体传输。UDP不保证数据包的顺序和可靠性,但减少了因重传和确认导致的延迟。TCP则提供可靠的数据传输服务,确保数据包的顺序和完整性,但可能增加传输延迟。UDP和TCP的主要区别在于可靠性、顺序性和连接性:UDP是无连接的、不可靠的协议,适用于对实时性要求较高的场景;TCP是面向连接的、可靠的协议,适用于需要确保数据完整性的场景。UDP和TCP的区别:1.连接方式:TCP是面向连接的协议,意味着在发送数据之前,需要在发送方和接收方之间建立一条连接。而UDP则是无连接的协议,发送数据之前不需要建立连接,因此可以减少一些额外的开销。2.可靠性:TCP是可靠的协议,通过校验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。而UDP则尽最大努力交付,不保证可靠交付,因此可能会出现数据丢失或重复的情况。3.传输效率:由于TCP需要建立连接、保证数据可靠性和顺序性,所以相对于UDP来说,其传输效率较低。而UDP则由于其简单、无连接的特性,传输效率较高,适用于对高速传输和实时性有较高要求的场景。4.应用场景:TCP协议适用于需要可靠传输的场景,如文件传输、网页浏览等。而UDP协议则更适用于对实时性要求较高的场景,如在线直播、视频会议、实时游戏等。等等....学习指引:博客:小林 coding|图解网络|UDP 和 TCP 有什么区别呢?分别的应用场景是?系统学习:推荐书籍《图解TCP/IP 第5版》|第六章 TCP与UDP;(我有电子版|赠)3. 说出你知道的所有保证线程安全/同步的方法解析:这问题有点突兀,需要结合面试场景来看,或者跟面试官确认好是从语言层面,还是从操作系统层面来回答。这里因为没有提语言,那我们就从操作系统层面来说说。参考回答1.互斥锁(Mutex):互斥锁是最基本的线程同步机制之一。当一个线程需要访问共享资源时,它会先尝试获取互斥锁。如果锁已经被其他线程占用,则该线程会被阻塞,直到锁被释放。只有持有锁的线程才能访问共享资源,从而保证了线程安全。2.信号量(Semaphore):信号量是一个用于控制多个线程对共享资源访问的计数器。与互斥锁不同,信号量允许一定数量的线程同时访问共享资源。当线程需要访问资源时,它会尝试获取信号量;如果信号量的值大于0,则允许访问并将信号量减1;如果信号量的值为0,则线程会被阻塞。3.条件变量(Condition Variable):条件变量常常与互斥锁一起使用,用于实现线程之间的等待-通知机制。线程可以在条件变量上等待,直到满足某个条件;其他线程可以在条件满足时通知等待的线程。条件变量用于解决生产者-消费者问题等多线程同步问题。4.读写锁(Read-Write Lock):读写锁是一种特殊的锁,它允许多个线程同时读取共享资源,但只允许一个线程写入共享资源。这提高了并发性能,因为读取操作通常不会修改数据,所以多个线程可以同时进行读取而不会相互干扰。5.屏障(Barrier):屏障是一种同步机制,用于让一组线程在继续执行之前等待彼此。它确保所有线程都达到某个点后,再一起继续执行。这常用于并行计算中,将任务划分为多个阶段,并确保每个阶段的所有线程都完成后才能进入下一个阶段。6.事件(Event):事件是一种同步机制,用于通知一个或多个线程某个事件已经发生。线程可以等待某个事件发生后再继续执行。事件通常用于实现跨线程的通信和协调。等等学习指引:1.书籍:《现代操作系统原理与实现》|第8章 同步原语4. Tcp为什么挥手是4次?解析:参考回答:学习指引:4. Tcp为什么挥手是4次?解析:TCP三次握手四次挥手系列问题之一,简单且重点掌握。参考回答:需要先描述下:四次挥手双方发 FIN 包的过程,就能理解为什么需要四次了。1.关闭连接时,客户端向服务端发送 FIN 时,仅仅表示客户端不再发送数据了但是还能接收数据。2.服务端收到客户端的 FIN 报文时,先回一个 ACK 应答报文,而服务端可能还有数据需要处理和发送,等服务端不再发送数据时,才发送 FIN 报文给客户端来表示同意现在关闭连接。从上面过程可知,服务端通常需要等待完成数据的发送和处理,所以服务端的 ACK 和 FIN 一般都会分开发送,因此是需要四次挥手。学习指引:先理解三握四挥的过程,然后推荐资料里的系列面试题全部掌握。1.博客:小林coding|图解网络|TCP为什么挥手需要四次5. Https对称加密还是非对称?解析:校招计算机网络又一重要考察点:http相关问题,必须掌握。回到问题本身:采用混合加密,两者相结合参考回答:HTTPS 采用的是对称加密和非对称加密结合的*「混合加密」*方式:在通信建立前采用非对称加密的方式交换「会话秘钥」,后续就不再使用非对称加密。在通信过程中全部使用对称加密的「会话秘钥」的方式加密明文数据。采用「混合加密」的方式的原因:1.对称加密只使用一个密钥,运算速度快,密 钥必须保密,无法做到安全的密钥交换。2.非对称加密使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密,解决了密钥交换问题但速度慢。学习指引:1.博客:小林coding|HTTPS 解决了 HTTP 的哪些问题? 中的第1点有讲解混合加密6. Https的证书讲一下?为什么要有证书?没有证书会怎么样?解析:正常流程:继续上面的Https的问题相关实现细节提问参考回答:数字证书是什么? : 一个数字证书通常包含了:公钥;持有者信息;证书认证机构(CA)的信息;CA 对这份文件的数字签名及使用的算法;证书有效期;还有一些其他额外信息;数字证书的作用: 是用来认证公钥持有者的身份,以防止第三方进行冒充。说简单些,证书就是用来告诉客户端,该服务端是否是合法的,因为只有证书合法,才代表服务端身份是可信的。没有证书会怎么样?:当然就是没办法认证公钥持有者的身份,容易第三方进行冒充。学习指引:更多细节包括:数字证书签发和验证流程等,看这篇够了1。博客: Https RSA握手解析|客户端验证证书7. redis的zset讲一下?解析:redis的对象考察中,zset是一个设计上比较有特点的数据结。尤其是底层用到的跳表,是面试官喜欢考察的点。回答这个问题可以简单讲一下zset的特点,应用场景,底层数据结构就行。引入这个话题,其他的等面试官细问后再回答。参考回答:zset(有序集合)是一种特殊的数据结构,它将元素与分数相关联,并根据分数对元素进行排序. 具有:元素唯一,有序性,分数与元素关联,高效的成员查找,高效的范围查询等特点。典型应用场景:排行榜:zset常用于构建排行榜,其中分数可以表示用户的得分或其他权重值。实时热门数据统计:可以将数据的热度、点击量等作为有序集合的分数,通过不断更新分数来实时统计热门数据。带权重的任务调度:可以将任务的执行时间戳作为有序集合的分数,以实现带权重的任务调度。数据过期策略:可以将数据的过期时间作为有序集合的分数,根据过期时间自动清理数据。底层数据结构:Redis的zset底层通过(压缩列表)或者(hash表+跳跃列表)实现。跳跃列表是一种可以进行对数级别查找的数据结构,通过在每个节点上维护多个指向其他节点的指针,可以快速访问到其他节点。学习指引:除了ZSet本省,其他还需要重点掌握跳表的增删改查流程。包括获取某个元素排行等过程和复杂度分析;博客:zset+跳表:详细分析 该系列教程也推荐作为redis面试的学习资料。系统学习:书籍 《redis设计与实现》|第5章 跳跃表本文也是 《热门面经讲解》 系列文章之一,大家可以点个赞和关注,我会持续更新。如有其他问题,也可咨询我!
点赞 12
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-17 16:22
陕西师范大学 算法工程师
滴滴26届校招挂了,会影响正常批投递吗
rt,看见提前批开了就投了,秒挂了,不知道有咩有影响?
是单身的猕猴桃很优秀:
可以参考高考吧,提前批挂了不影响正常批吧
26届校招投递进展
点赞
评论
收藏
分享
07-17 17:36
蔚来_AI算法应用工程师(准入职员工)
蔚来内推
蔚来汽车AS一面面经7/5面试普通二本,老师推荐给的机会给蔚来投的简历,因此直接进入面试流程帖主有2个基本项目:1.selenium爬虫做招聘词条分析的简单项目2.美赛F奖的一个传统算法与机器学习相结合的音乐流派分析项目。1面:1.常规自我介绍2.介绍一下自己的第2个项目,然后我给面试官讲了为什么构建人际网络我不选择机器学习而是并查集,以及相似度类比用到的余弦相似度与k-means聚类,然后面试官问了一下k-means的原理与底层实现注意的细节,k-means的k值你是怎么定的呢?调参效果如何?余弦相似度介绍下为什么选择,他有什么优势吗?3.看了一下ACM经历,介绍下自己竞赛经历给你带来了什么...
点赞
评论
收藏
分享
05-26 11:54
湖北师范大学 人工智能
应届生现状
头一次见说话这么直白的,终究是我太菜了😂😂😂
流浪的神仙:
无恶意,算法一般好像都得9硕才能干
算法太卷啦
点赞
评论
收藏
分享
07-14 19:37
广西农业职业技术大学 Java
怎么回事的喽
怎么没有面试呀
猫头夜鹰:
图书管理系统能有面试就怪了,放十年前都不行
点赞
评论
收藏
分享
07-17 13:55
门头沟学院 机械工程师
小鹏汽车ai面试记录
第一部分性格测试第二部分智力测试,有点像行测第三部分ai面试1.自我介绍2.为什么选择这个岗位,对岗位和公司的了解3.遇到过什么困难,怎么解决的,这个困难对你之后的生活有什么帮助4.之后有没有遇到过类似的情况5.你认为自己最自豪的成就6.最近有没有学习什么新知识,通过哪些渠道学习的,这个知识对你的学习生活有哪些帮助
查看6道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
20250716 - 百度 - 后端开发 - 一面
7781
2
...
实习,你就这么偷
7138
3
...
为什么有人说 211 以下就进不了大厂了?
4759
4
...
滴滴提前批面经
4627
5
...
关于牛土兵教育割韭菜的事实
4549
6
...
百度提前批后端一面 —— 亚历山大,特批拿下
4019
7
...
实习包装不是吹牛皮,要怎么包装看这里
3827
8
...
滴滴提前批凉经(一面,二面)
2901
9
...
百度提前批
2408
10
...
26届米哈游秋招提前批面经(游戏客户端)已挂
2392
创作者周榜
更多
正在热议
更多
#
校招阶段,学历VS技术哪个更重要?
#
8780次浏览
112人参与
#
顺丰求职进展汇总
#
52739次浏览
283人参与
#
不卡学历的大厂有哪些?
#
15082次浏览
111人参与
#
腾讯音乐求职进展汇总
#
96844次浏览
563人参与
#
没有合适的工作,你会先找个干着,还是考公考研
#
121076次浏览
1145人参与
#
除了主业以外,你还有哪些其他收入?
#
5925次浏览
102人参与
#
实习时,大家都怎么称呼自己的mentor?
#
42843次浏览
270人参与
#
摸鱼被leader发现了怎么办
#
60489次浏览
369人参与
#
视觉/交互/设计招聘信息汇总
#
17923次浏览
612人参与
#
社恐入职新公司如何融入团队
#
10685次浏览
62人参与
#
实习如何「偷」产出?
#
24090次浏览
292人参与
#
风评不好的公司,你会去吗?
#
44723次浏览
320人参与
#
考研可以缓解求职焦虑吗
#
53356次浏览
474人参与
#
职场新人体验
#
13943次浏览
144人参与
#
实习打杂,要跑路吗
#
12052次浏览
156人参与
#
校园里的破防时刻
#
6736次浏览
76人参与
#
金融财经春招备战日记
#
22518次浏览
134人参与
#
求职遇到的搞笑事件
#
121551次浏览
795人参与
#
听到哪句话就代表面试稳了or挂了?
#
175797次浏览
1395人参与
#
软开人,秋招你打算投哪些公司呢
#
107519次浏览
976人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务