当前位置: 首页 > java >正文

美团后端开发一面

浏览器输入网址到呈现页面过程

DHCP(动态主机配置协议,Dynamic Host Configuration Protocol)是一种网络管理协议,用于自动分配 IP 地址和其他网络配置给计算机和设备。
在这里插入图片描述
应用层DNS解析,传输层TCP连接,网络层IP,数据链路MAC,真实物理层,接收到之后再一层层扒皮。
在这里插入图片描述

TCP连接过程

在这里插入图片描述

tcp报文结构,具体讲讲包含哪些字段及作用?

在这里插入图片描述

16位端口号:告知主机该报文段是来自哪里**(源端口Source Port)以及传给哪个上层协议或应用程序(目的端口Destination Port)**的。

32位序列号seq:一次TCP通信(从TCP连接建立到断开)过程中某一个传输方向上的字节流的每个字节的编号。

32位确认号(acknowledgement number):用作对另一方发送来的TCP报文段的响应。其值是收到的TCP报文段的序号值加1。

4位首部长度(header length):标识该TCP头部有多少个32bit字(4字节)。因为4位最大能标识15,所以TCP头部最长是60字节。

6位标志位包含如下几项:

    URG标志,表示紧急指针(urgent pointer)是否有效。ACK标志,表示确认号是否有效。我们称携带ACK标识的TCP报文段为确认报文段。PSH标志,提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后续数据腾出空间(如果应用程序不将接收到的数据读走,它们就会一直停留在TCP接收缓冲区中)。RST标志,表示要求对方重新建立连接。我们称携带RST标志的TCP报文段为复位报文段。SYN标志,表示请求建立一个连接。我们称携带SYN标志的TCP报文段为同步报文段。FIN标志,表示通知对方本端要关闭连接了。我们称携带FIN标志的TCP报文段为结束报文段。

16位窗口大小(window size):是TCP流量控制的一个手段。这里说的窗口,指的是接收通告窗口(Receiver Window,RWND)。它告诉对方本端的TCP接收缓冲区还能容纳多少字节的数据,这样对方就可以控制发送数据的速度。

16位校验和(TCP check sum):由发送端填充,接收端对TCP报文段执行CRC算法以检验TCP报文段在传输过程中是否损坏。注意,这个校验不仅包括TCP头部,也包括数据部分。这也是TCP可靠传输的一个重要保障。

16位紧急指针(urgent pointer):是一个正的偏移量。它和序号字段的值相加表示最后一个紧急数据的下一字节的序号。因此,确切地说,这个字段是紧急指针相对当前序号的偏移,不妨称之为紧急偏移。TCP的紧急指针是发送端向接收端发送紧急数据的方法。

TCP头部选项:TCP头部的最后一个选项字段(options)是可变长的可选信息。这部分最多包含40字节,因为TCP头部最长是60字节(其中还包含前面讨论的20字节的固定部分)。

报文长度有上限吗

在这里插入图片描述

传输层除了tcp还有别的吗

UDP 然后说了说区别:数据包、无连接、不可靠,以及适用场景

操作系统学过吧,讲讲死锁是什么?如何避免?

在这里插入图片描述

银行家算法有了解过么?具体说下思想?

在这里插入图片描述
在这里插入图片描述

cpu中断执行过程

硬中断与软中断的核心区别在于触发源(硬件 vs. 软件),但处理流程均依赖中断向量表(IDT)和上下文保存/恢复机制。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用户态、内核态

在这里插入图片描述

讲讲mysql和redis区别?

  1. 原理上关系/非关系,结构固定/灵活;
  2. mysql在磁盘中负责持久化;redis在内存中负责缓存,更快;
    在这里插入图片描述

如何定义关系型/非关系型?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关系型数据库的相关规范?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

redis为什么快?

  1. 内存中;
  2. 单线程多路复用;
  3. 数据结构优秀,举了sds和跳表例子;

跳表上层下层节点数1/2的关系是固定的吗?

不是,添加操作是概率性的,而且这个概率也可以调;
跳表查询过程:小就向右大就向下
跳表节点存的是值

http://www.xdnf.cn/news/4235.html

相关文章:

  • 第十五届蓝桥杯单片机国赛-串口解析
  • 前端封装框架依赖管理全攻略:构建轻量可维护的私有框架
  • 关于Java多态简单讲解
  • 【表设计】外键的取舍-分布式中逐渐消失的外键
  • 【firewall-cmd】--的作用以及使用方法
  • FlinkCDC采集MySQL8.4报错
  • 第六节:图像基本操作-像素级操作
  • Windows11下ESP-IDF开发环境搭建【基于Cursor/VS Code插件】
  • 【25软考网工】第五章(7)路由协议、静态与默认路由、路由协议分类
  • 代码随想录训练营第十八天| 150.逆波兰表达式求值 239.滑动窗口最大值 347.前k个高频元素
  • 了解一下OceanBase中的表分区
  • C++:实现线程池
  • 【Spring Boot 注解】@SpringBootApplication
  • 力扣-hot100 (矩阵置零)
  • C++命名空间
  • Windows11下通过Docker安装mysql8.0
  • FPGA----基于ZYNQ 7020实现petalinux文件持久化存储
  • Linux主机时间设置操作指南及时间异常影响
  • LeetCode 解题思路 45(Hot 100)
  • 科普文:丰田凯美瑞三代混动(THS II)技术解析
  • Golang领域Beego框架的中间件开发实战
  • 【Linux】用户与组管理
  • Fastjson 从多层级的JSON数据中获取特定字段的值
  • Transformer中的三种注意力机制
  • 开源模型应用落地-qwen模型小试-Qwen3-8B-推理加速-vLLM-结构化输出(三)
  • Copilot for PPT 可直接用模板创建品牌演示文稿
  • 【Python-Day 10】Python 循环控制流:while 循环详解与 for 循环对比
  • 文件上传/读取/包含漏洞技术说明
  • MySQL中有哪几种锁?
  • 【“星瑞” O6 评测】 — 车辆速度估计