首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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++求职圈
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
今天 16:07
中原科技学院 数据运营
想问问大家我这个简历行不行呀,接到面试好少,目前就拿到过三四个面试,好焦虑,专升本学历
点赞
评论
收藏
分享
01-19 19:43
门头沟学院 Java
给我直接生成完整代码
离谱需求大揭秘家人们,今天必须来跟你们唠唠我给 AI 提过的一个超级离谱的需求,现在想起来都觉得自己当时胆子太大了!事情是这样的,之前我在做一个项目,这个项目已经维护了好长一段时间,代码那叫一个混乱,新老代码混在一起,简直就是一锅大杂烩 。项目里新的代码用的是 mybatis,加解密还比较好处理,可以通过 mybatis 的拦截器拦截来实现。但老代码就麻烦了,它是直接调用 xml 文件去执行 sql,这就意味着我得手动在 sql 执行之前对参数进行加解密。要是你遇到这种情况,你会怎么做呢?当时年少轻狂的我,做了一个现在想起来都想抽自己的决定 —— 我直接一股脑把整个项目代码扔给 AI,让它帮我...
你给AI提过哪些离谱的需...
点赞
评论
收藏
分享
01-13 16:57
重庆大学 Java
27届找实习交流
27届找实习,现在是投了一周左右,没啥厂理我,几个大厂要了简历但也没后续,心里想去公司感受一下业务,但是没找到有点难受,看了牛肉哥包括其他一些大佬的建议都是直接剑指暑期,再多背背八股,熟悉熟悉算法,然后项目每个地方都要能讲透,想来牛客找找相同目标的同学交流交流!
点赞
评论
收藏
分享
昨天 21:52
西安电子科技大学 Java
字节暑期实习
暑期实习这个有必要面试吗,到底是运维还是开发呀
点赞
评论
收藏
分享
01-19 10:50
饿了么_后端研发工程师(准入职员工)
春秋航空内推,春秋航空内推码
春秋✈️ 综合管理类培训生 初试面经搜遍全网没有面经,趁着下午刚面完出一波攒攒秋招人品,希望对uu们有帮助在上海线下面的,半小时左右一波人,是群面哦~记得打印两份简历带上流程:1、自我介绍2、对春秋航空成本管控方面的理解(同组uu答的都好全面,完全没有什么补充hhhh)3、有关财务方面的实习经历介绍,谈谈自己参与的工作、对岗位的理解、对工作提效的想法之类的4、什么渠道投递的简历5、自己的实习投递的渠道是什么6、横向多岗位实习较垂直实习的优劣势(本人实习岗位比较杂hhh)7、对未来的规划,是否想好要做财务方面8、例行反问总体而言,面试官们都非常好,超级温柔~春秋航空2026届秋招启动~ 【我们是...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
备战春招,网申一键填写工具,发布了!!!
3.1W
2
...
32岁程序员猝死,底薪3千要24h待岗
5637
3
...
【官方活动】牛客新春计划:给陌生人的一封信
5435
4
...
实习产出如何包装?
5234
5
...
27双非非科班4段实习从字节tt到腾讯wxg
5215
6
...
我爸对计算机行业的看法,是否准确?
3988
7
...
专科工作一年后的心里话
2903
8
...
第一次被同事气笑了
2849
9
...
阶段性的迷茫不过是人生正在“换挡”
2527
10
...
实习摸鱼但很焦虑
2272
创作者周榜
更多
正在热议
更多
#
哪些公司开春招了?
#
7881次浏览
112人参与
#
运营人的第一份offer应该如何选
#
213581次浏览
1252人参与
#
上班以后,你还有哪些坚持的爱好?
#
5988次浏览
164人参与
#
工作压力大怎么缓解
#
136729次浏览
1225人参与
#
你都在哪些场所面过试?
#
16649次浏览
209人参与
#
找工作以来,你最看不惯__
#
10704次浏览
258人参与
#
AI coding的好用工具分享
#
14798次浏览
321人参与
#
实习怎么做才有更好的产出
#
9939次浏览
196人参与
#
实习教会我的事
#
51198次浏览
399人参与
#
你最近因为什么迷茫?
#
30209次浏览
443人参与
#
实习生工资多少才算正常?
#
10814次浏览
187人参与
#
非技术2024笔面经
#
458574次浏览
4930人参与
#
你给AI提过哪些离谱的需求?
#
5021次浏览
154人参与
#
职场破防瞬间
#
359094次浏览
2835人参与
#
找工作,行业重要还是岗位重要?
#
94143次浏览
1832人参与
#
华为工作体验
#
288284次浏览
1367人参与
#
你想跟着什么样领导?
#
47236次浏览
235人参与
#
聊聊你的职场新体验
#
313996次浏览
1848人参与
#
拼多多工作体验
#
44133次浏览
283人参与
#
领导做过最不靠谱的事
#
10180次浏览
189人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务