每日后端面试5题 第八天

1.UDP和TCP协议的区别

1.UDP无连接,速度快,安全性低,适合高速传输、实时广播通信等。

2.TCP面向连接,速度慢,安全性高,适合传输质量要求高、大文件等的传输,比如邮件发送等。

(还有:TCP只能是一对一的,UDP支持一对一、一对多、多对一)

(还有:TCP首部开销有20个字节;UDP分组首部开销小,只有8个字节)

2.TCP 的三次握手和四次挥手

三次握手(Three-Way Handshake):

  1. 客户端向服务器发送一个SYN(同步)报文,表示请求建立连接。

  2. 服务器收到SYN报文后,向客户端发送一个SYN+ACK(同步+确认)报文,表示同意建立连接。

  3. 客户端收到SYN+ACK报文后,再向服务器发送一个ACK(确认)报文,表示连接建立成功。

四次挥手(Four-Way Handshake):

  1. 客户端向服务器发送一个FIN(结束)报文,表示要关闭连接。

  2. 服务器收到FIN报文后,向客户端发送一个ACK报文,表示收到关闭请求。

  3. 服务器继续发送数据,当数据发送完毕后,服务器向客户端发送一个FIN报文,表示服务器也准备关闭连接。

  4. 客户端收到FIN报文后,向服务器发送一个ACK报文,表示收到关闭请求。

3.什么是IoC和DI

IoC是控制反转(Inversion of Control ),即将创建对象的控制权反转交给容器(Container)。

DI是依赖注入(Dependency Injection),即通过外部的方式将对象注入到需要的地方。

。他们之间的关系如图:

详细可参考这篇文章什么是IoC 和 DI_ioc和di_不回头~的博客-CSDN博客

4.JWT令牌的作用和组成

用来作为登录验证的标记,防篡改

3部分

头部Header,负载Payload,签名Signature

Header

算法和模型

Payload

存储有关用户的数据

Signature

结合前两部分以及一个密钥生成

5.Maven主要有什么作用

1.依赖管理(管理jar包)

2.构建管理(清理、编译、打包等)

相关推荐
Lee川2 小时前
优雅进化的JavaScript:从ES6+新特性看现代前端开发范式
javascript·面试
Lee川5 小时前
从异步迷雾到优雅流程:JavaScript异步编程与内存管理的现代化之旅
javascript·面试
晴殇i7 小时前
揭秘JavaScript中那些“不冒泡”的DOM事件
前端·javascript·面试
绝无仅有8 小时前
Redis过期删除与内存淘汰策略详解
后端·面试·架构
绝无仅有8 小时前
Redis大Key问题排查与解决方案全解析
后端·面试·架构
AAA梅狸猫9 小时前
Looper.loop() 循环机制
面试
AAA梅狸猫9 小时前
Handler基本概念
面试
Wect9 小时前
浏览器缓存机制
前端·面试·浏览器
掘金安东尼10 小时前
Fun with TypeScript Generics:玩转 TS 泛型
前端·javascript·面试
掘金安东尼10 小时前
Next.js 企业级落地
前端·javascript·面试