每天一套面试题Day36-八股高频(17)

链接题目来自牛客p8

我的每日一套面试题专栏,每天更新一起打卡

由于课设六级期末都要搞,加之以及背的需要复习,八股近一个月每天数量会视情况而定。

84.请你说说Java中重载和重写的区别。

alt 这里的参数列表不同指的是参数类型,数量,顺序(参数类型的顺序)至少有一项不同。

85.为什么需要四次挥手

四次挥手是由TCP连接的全双工特性和半关闭状态决定的。

  1. 全双工:连接有A->B和B->A两个独立通道,需要各自关闭。
  2. 核心过程:主动关闭方(如客户端)先发FIN关闭自己的发送通道;被动关闭方先回ACK确认,然后在自己数据发送完毕后,再发FIN关闭自己的发送通道;最后主动方回ACK确认。
  3. 为什么是四次:被动方的ACKFIN通常无法合并发送。因为ACK是协议栈立即回复的,而FIN需要等待应用层所有数据发送完毕,两者存在时间差,这就产生了“半关闭”状态。
  4. 对比握手:三次握手时,服务端的SYNACK都是针对连接建立的,可以同时发出,所以能合并。

86.UDP 和 TCP 的应用场景

牛客的图片 alt 由于TCP要做到可靠,有序号,超时重传,ACK,三次握手,四次挥手等,于是实时性不得不妥协。 所以可靠就选TCP,FTP文件传输协议,HTTP,HTTPS,实时就选UDP,比如语音视频游戏等低延时场景。 如果你既想要可靠又想要实时,那么UDP上层再封装,比如QUIC TCP的核心设计目标——提供一对一的、可靠的、基于连接的字节流服务——这个根本目标,同时决定了它必须要有连接建立/释放过程(握手挥手),并且天然无法支持广播/多播。

#面试真题#
每日一套面试真题 文章被收录于专栏

记录刷过的面试真题

全部评论
继续练!
点赞 回复 分享
发布于 12-25 16:34 湖南

相关推荐

12-24 20:44
武汉大学 Java
点赞 评论 收藏
分享
12-24 20:52
武汉大学 Java
点赞 评论 收藏
分享
12-07 06:30
门头沟学院 Java
1.面试官简单介绍业务,接受转go吗?2.算法题1(可被三整除的最大和)(写的贪心,然后被问复杂度,是否可以再优化,我回答应该可以,尝试用动态规划)3.算法题2(数组中重复的数据)4.实习介绍5.实习中的难点6.还有其他难点吗?7.线程池用是数据分片处理还是导出?8.如果说文件很大,有几个G,使用你这个方案可行吗,有没有进行测试?9.websocket和http 长轮询的区别10.催单提醒,除了使用websocket还考虑过其他方案吗?11.如果现在用户量激增,websocket会有什么问题?12.服务端该怎么解决这种问题?13.缓存店铺信息在redis中怎么设计的,使用的什么数据结构?14.一个热门菜品访问量特别高,要怎么解决?15.如何拆分,分别使用什么数据结构?16.如何保证 redis和数据库中的数据一致性?17.先更新数据库,再删缓存:脏读概率很低展开讲讲18.RabbitMQ怎么实现超时订单自动取消的?19.你是怎么保证这个消息不丢失的?20.持久化是怎么做的,在什么时候做持久化?21.如果rabbitmg容机了,导致消息丢失如何兜底?(要具体方案)22.你还有其他什么想要说的吗,展现你的技术或者亮点?(优惠券秒杀23.为什么会出现库存超卖,举个例子具体介绍24.cas操作,用库存代替版本号具体过程25.cas为什么不能保证一人一单?26.synchronized悲观锁,在实际生产环境中有用吗27.下单的具体过程,最终是怎样设计来保证库存不超卖和一人一单的?
查看27道真题和解析
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

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