首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客719615532号
广州大学 软件测试
关注
已关注
取消关注
大佬
@蒋豆芽:
字节后端实习一面凉经之解答
原帖:https://www.nowcoder.com/feed/main/detail/bc32e9d012e5449e911cb5cd40b720fa1、脏读、不可重复读、幻读是怎么产生的脏读就是,比如两个事务都在操作同一个表,A事务修改了C字段的值没有提交该事务;而B事务也在读取C字段的值,就在这时A事务发生了失败回滚,那么C字段的值返回原来的值,所以B事务发生了脏读。整个过程结束,数据库没有发生任何改变,B事务却读到了奇怪的值,这就是脏读。解决办法是行级共享锁。不可重复读就是,比如两个事务都在操作同一个表,A事务先读取了C字段的值后继续操作下一个字段;而B事务在这个时候修改了C字段的值。A事务再读取C字段的值,发现同一个事务下,竟然前后两次读取不一样,这就很怪异了,这就是不可重复读。解决办法是对事务进行加锁。幻读就是,比如两个事务都在操作同一个表,A事务先读取了表的行数;而B事务在这个时候为表格新插入了一行数据。A事务再读取表的行数,发现竟多了一行,这就很怪异了,这就是幻读。解决办法是对表进行加锁。2、数据数索引数据结构哈希表、红黑树、B树、B+树3、为什么不用哈希表哈希表的优点是查询和更新的速度非常快,时间复杂度为O(1),即常数时间。但是,哈希表的缺点是需要额外的存储空间来存储数组,而且当键的数量过多时,哈希函数可能会出现冲突,导致多个键映射到同一个索引上,影响查询和更新的速度。因此,在使用哈希表时需要考虑哈希函数的设计,以及如何解决哈希冲突的问题。4、除开区间查找B+树还有什么优势B+树只有叶子节点存储数据(B+数中有两个头指针:一个指向根节点,另一个指向关键字最小的叶节点),叶子节点包含了这棵树的所有数据,所有的叶子结点使用链表相连,便于区间查找和遍历,所有非叶节点起到索引作用。B+树中查找,无论查找是否成功,每次都是一条从根节点到叶节点的路径,查找时间复杂度稳定。B+树的叶子节点通过链表相连,所以B+树范围查找比B树效率高。 B树和B+树的共同优点 考虑磁盘IO的影响,它相对于内存来说是很慢的。数据库索引是存储在磁盘上的,当数据量大时,就不能把整个索引全部加载到内存了,只能逐一加载每一个磁盘页(对应索引树的节点)。所以我们要减少IO次数,对于树来说,IO次数就是树的高度,而“矮胖”就是b树和B+树的特征之一,m的大小取决于磁盘页的大小。5、跳表跳表(Skip List)是一种基于并联的、随机化的数据结构,可以用来实现有序的数据集合。它的基本思想是在链表的基础上,增加多级索引,从而提高数据的查找效率。在一般情况下,它的查找、插入、删除等操作的时间复杂度都为O(log n)。跳表的核心是索引,它通过维护多级有序链表来实现。每一级索引是原始链表的一部分节点组成,每一级索引的元素数量都比它下一级索引的元素数量少一半。最上面一级索引只有两个节点,第二级索引有四个节点,以此类推。通过这种方式,跳表在空间复杂度和时间复杂度之间做到了平衡。跳表的查找过程与二分查找类似,先在最高级的索引中查找目标节点,然后通过下降到更低一级的索引再次查找,直到在最底层的索引中找到目标节点或者查找到整个跳表中都没有这个节点。由于跳表的结构不依赖于节点的分布情况,所以它可以用来代替平衡树,实现更高效的查找操作。6、http tcp ip 分别在哪一层具体来说,它们在OSI七层模型和TCP/IP四层模型中的位置如下:OSI七层模型:HTTP:应用层(第七层)TCP:传输层(第四层)IP:网络层(第三层)TCP/IP四层模型:HTTP:应用层TCP:传输层IP:网络层7、tcp首部字段有哪些TCP 首部字段主要包括以下几个部分:源端口(Source Port):占用 2 字节,表示源端口号;目的端口(Destination Port):占用 2 字节,表示目的端口号;序列号(Sequence Number):占用 4 字节,表示报文段中第一个字节的序列号;确认号(Acknowledgment Number):占用 4 字节,只有 ACK 标志位为 1 时才有效,表示接收到的序列号为 ack_num -1 的数据;首部长度(Header Length):占用 4 比特,表示首部长度,用于指示接收端首部的长度,以便在紧接着首部后的数据中定位有效数据的起始位置;保留(Reserved):占用 3 比特,保留为今后使用,目前必须设置为 0;标志位(Flags):占用 9 比特,包含以下 9 个标志位:URG(Urgent):紧急指针(urgent pointer)是否有效;ACK(Acknowledgement):确认序号是否有效;PSH(Push):是否尽快将数据推送给应用层;RST(Reset):重置连接;SYN(Synchronize):同步序号,用于建立连接;FIN(Finish):结束连接;Reserved(Reserved):保留;NS(Nonce Sum):ECN 的 nonce 信息;窗口大小(Window Size):占用 2 字节,表示接收端可以接收的数据量;校验和(Checksum):占用 2 字节,用于检测首部和数据的传输是否有误;紧急指针(Urgent Pointer):占用 2 字节,只有 URG 标志位为 1 时才有效,表示紧急数据的位置;选项(Options):可选,占用 0 到 40 字节,用于在首部中添加一些选项信息。8、进程跟线程的区别进程(Process)和线程(Thread)是操作系统中的概念,是计算机中的基本执行单位。它们的主要区别如下:进程是资源分配的最小单位,线程是程序执行的最小单位;每个进程都有独立的内存空间,而线程共享所属进程的内存空间;进程间通信需要使用进程间通信的机制,如管道、消息队列等,而线程可以直接访问所属进程的共享内存空间;进程的创建和销毁都需要操作系统的介入,而线程的创建和销毁可以由所属进程自己控制;进程上下文切换需要保存和恢复进程的所有状态,而线程的上下文切换只需要保存和恢复部分状态。9、线程有自己的哪些东西每个线程拥有自己的栈段和寄存器组。10、追问栈里有什么我理解栈里存的是局部变量11、Redis两种持久化的比较Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上。redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。RDB是定期将数据写入磁盘,当redis出现故障时,有一部分内存数据肯定会丢失。而AOF是以日志的方式追加,数据丢失会少很多。对于同一份数据来说,AOF 日志文件通常比 RDB 数据快照文件更大,数据恢复慢一些。不要仅仅使用 RDB,因为那样会导致你丢失很多数据也不要仅仅使用 AOF,因为那样有两个问题,第一,你通过 AOF 做冷备,没有 RDB 做冷备,来的恢复速度更快; 第二,RDB 每次简单粗暴生成数据快照,更加健壮,可以避免 AOF 这种复杂的备份和恢复机制的 bug。redis 支持同时开启开启两种持久化方式,我们可以综合使用 AOF 和 RDB 两种持久化机制,用 AOF 来保证数据不丢失,作为数据恢复的第一选择; 用 RDB 来做不同程度的冷备,在 AOF 文件都丢失或损坏不可用的时候,还可以使用 RDB 来进行快速的数据恢复。以上答案均来自本人专栏:机器学习面试题汇总与解析(蒋豆芽面试题总结)欢迎大家围观:https://blog.nowcoder.net/jiangwenbo
点赞 21
评论 5
C++求职圈
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
01-14 20:42
大连理工大学 前端工程师
百度一面总结
📍面试公司:百度🕐面试时间:2026.1.14💻面试岗位:Web前端开发实习生❓面试问题:面试总共一小时左右,首先自我介绍,然后开始让我挑着简历一个项目进行具体的介绍,下一步就是她提问我来回答,问的都是简历里面写的项目经历,涉及到的具体技术并没有过多的探究,只是让我说了项目的某些部分的搭建过程,后面三十分钟就是考代码。和我之前看到的百度一面贴子不同,我看别人分享的都是许多的基础知识题,我还特意准备了,前端八股以及大家分享的前端代码题,但是我这个并不是,整个过程毫无前端八股的提问,后面代码是数组的操作,让用JS写,但是我之前准备的力扣hot100并没有过多关注js的写法,后面面试完搜索一下...
查看5道真题和解析
点赞
评论
收藏
分享
01-16 20:54
门头沟学院 嵌入式软件工程师
嵌入式八股文UART常考题目
在嵌入式系统开发领域,UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)几乎是每一个嵌入式工程师必须掌握的基础通信模块。它作为微控制器与外部设备进行串行通信的桥梁,承担着数据收发的重要职责。在实际工程中,无论是调试串口打印信息、与传感器通信,还是与上位机进行数据交互,UART都是最常用、最直接的通信手段之一。对于初学者而言,UART不仅仅是硬件接口的概念,更涉及到数据帧结构、波特率配置、寄存器操作、中断机制等多方面的知识点。而对于面试或者笔试来说,UART相关题目几乎是嵌入式八股文中的必考内容。掌握UART相关知识,能够帮助工...
点赞
评论
收藏
分享
2025-12-30 17:58
Conservatoire National Supérieur Musique et Dance de Lyon Java
大佬们,我这简历是有什么问题吗,为什么投日常实习一个面都没有
全都在筛选中,已经麻了😭
喵_coding:
项目太烂了外卖+点评啊 而且寒假实习差不多到时候了 hc没多少了 要实在想要找那只能投投大厂试试了
点赞
评论
收藏
分享
01-17 15:25
已编辑
上海财经大学 Java
27届大模型应用开发简历求拷打
我知道自己很菜……求轻喷😭😭😭一直觉得项目特别水,有没有大佬指点一下应该怎么修改,或者怎么找一个有含金量的项目
简历中的项目经历要怎么写
点赞
评论
收藏
分享
01-18 10:12
蚌埠坦克学院 嵌入式软件开发
嵌入式新机会:机器人行业
近年来,机器人产业迎来爆发式增长,智能制造、物流搬运、服务机器人、无人配送、医疗康复等领域对机器人技术的需求不断扩大。作为嵌入式方向的从业者或即将进入行业的学生,机器人无疑是一个极具前景的“新机会”。机器人不仅需要硬件控制、实时系统、通信协议等嵌入式基础,还涉及传感器融合、运动控制、视觉识别、算法优化等多学科交叉内容,因此对嵌入式工程师的能力要求更高,但也意味着更广阔的发展空间。机器人行业的核心竞争力在于系统整合能力。一个机器人项目通常包含底层驱动、实时控制、上位机通信、传感器数据处理、路径规划与运动控制等模块。嵌入式工程师在机器人方向的优势在于对底层系统的理解更深、更能把控性能与稳定性。因此...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
【评论得现金💰】26年度牛客评论活动起航!(试运行)
5456
2
...
AI 军火库
3239
3
...
第二期「创作模范」名单揭晓!速来围观
2961
4
...
腾讯后端日常实习二面(已OC)+一点随笔
2591
5
...
实习久了,感觉人也麻木了
2113
6
...
字节校招landing实感
1657
7
...
二十多岁非常不快乐
1639
8
...
五类prompt 快速去掉AI感!
1594
9
...
有赞前端 一、二、hr面
1547
10
...
27双非,焦虑的睡不着觉了
1518
创作者周榜
更多
正在热议
更多
#
你最近因为什么迷茫?
#
17902次浏览
239人参与
#
你有哪些缓解焦虑的方法?
#
47003次浏览
885人参与
#
上班以后,你还有哪些坚持的爱好?
#
2570次浏览
68人参与
#
实习怎么做才有更好的产出
#
4085次浏览
103人参与
#
领导做过最不靠谱的事
#
6364次浏览
105人参与
#
AI coding的好用工具分享
#
6163次浏览
133人参与
#
实习生工资多少才算正常?
#
5545次浏览
103人参与
#
找工作以来,你最看不惯__
#
4365次浏览
97人参与
#
你给AI提过哪些离谱的需求?
#
2504次浏览
83人参与
#
你都在哪些场所面过试?
#
6146次浏览
100人参与
#
工作压力大怎么缓解
#
132951次浏览
1152人参与
#
哪些公司开春招了?
#
2683次浏览
37人参与
#
一起聊字节
#
241234次浏览
1017人参与
#
非技术er求职现状
#
130086次浏览
785人参与
#
求职低谷期你是怎么度过的
#
27664次浏览
325人参与
#
研究所笔面经互助
#
110676次浏览
567人参与
#
你觉得第一学历对求职有影响吗?
#
222626次浏览
1232人参与
#
AMA
#
12192次浏览
47人参与
#
秋招有哪些公司要求提前实习
#
103498次浏览
548人参与
#
实习离职怎么跟领导说
#
74534次浏览
408人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务