每天一套面试题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的核心设计目标——提供一对一的、可靠的、基于连接的字节流服务——这个根本目标,同时决定了它必须要有连接建立/释放过程(握手挥手),并且天然无法支持广播/多播。

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

记录刷过的面试真题

全部评论

相关推荐

11-25 15:37
门头沟学院 Java
自我介绍+项目拷打八股:JDK动态代理和CGLib代理的区别是什么?两种代理的优缺点是什么?两种代理的应用场景是什么?高并发场景下,如何安全地更新一个计数器?悲观锁有哪些具体实现的类?乐观锁有哪些具体实现的类?AtomicInteger 是什么?(不会)synchronized、Atomic、Lock 它们的实现方式具体有什么区别?synchronized 有什么优缺点?synchronized 一般在哪些场景下比较适用?Java 里面内存泄漏和内存溢出这两个概念有什么区别?内存泄漏有哪些典型的例子?一般用什么工具去检测出内存泄漏的场景?如何开启内存泄漏检测?通过什么命令或者说是什么工具?实现深拷贝要怎么做?Java 里面创建线程的方式有哪一些?各种创建线程方式的优缺点是什么?线程池的工作原理是什么?描述一下提交任务时,线程池是怎么决定使用核心线程、阻塞队列还是非核心线程的?Spring Boot 的自动配置机制是怎么实现的?@Conditional 注解是如何确保配置是按需加载的?什么是 SQL 注入?怎么去避免 SQL 注入?查看 CPU 的使用情况用什么 Linux 命令?查看内存的使用情况用什么 Linux 命令?查看日志一般用什么 Linux 命令?实时查看日志的话,tail 命令后面要加什么参数?查看日志最后 500 行的命令怎么写?查看某个关键字对应的日志用什么命令?设计模式用的多吗?用了哪些?策略模式和工厂模式是怎么实现的?具体应用场景是什么?什么情况下会使用单例模式?单例模式的使用场景是什么?
发面经攒人品
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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