文章目录
-
- 一个报文怎么从主机A的应用传到主机B的应用?
-
- 回答
- 面试官可能的追问及回答
- 学过哪些课程
-
- 回答示例
- 面试官追问示例
- 为什么使用滑动窗口
-
- 为什么使用滑动窗口
- 面试官可能的追问
- TCP传输数据会传送到接收方的什么地方
-
- 完整且有深度的回答
- 面试官可能追问的相关有深度问题
- 如何提高网络的传输效率
- 网络的传输好坏有什么判断标准
-
- 网络的传输好坏判断标准
- 面试官追问示例
- 两个主机可以用TCP建立多条链接吗
- 一个报文怎么从主机A的应用传到主机B的应用?一路上用到了哪些协议
-
- 回答
- 面试官追问及回答
- ip层主要做的什么
-
- IP层的主要职责
- 面试官追问示例
- 路由器如何转发报文
-
- 路由器转发报文的过程
- 面试官追问示例
- 如何划分网络
-
- 回答
-
- 1. IP地址的划分
- 2. 网络拓扑结构的划分
- 3. 虚拟局域网(VLAN)的划分
- 面试官追问及回答
-
- 追问1:在划分子网时,如何确定子网掩码的长度?
- 追问2:在星型拓扑结构中,如果中心节点(如交换机)出现故障,如何保证网络的可用性?
- 追问3:VLAN的划分对网络性能有哪些影响?
- 你知道哪些数据结构
-
- 数据结构概述
- 常见的数据结构
- 面试官追问示例
- 如何处理哈希冲突
-
- 一、哈希冲突的基本概念
- 二、哈希冲突的处理方法
-
- 1. 开放定址法(Open Addressing)
- 2. 链地址法(Chaining)
- 3. 再哈希法(Rehashing)
- 三、面试官追问示例
- 操作系统的内存管理是怎么做的
-
- 一、内存分配与回收
- 二、虚拟内存管理
- 三、内存保护
- 面试官追问相关问题:
- std::async()的原理知道吗?是用什么实现的?(协程)
-
- `std::async()` 的原理
- 实现方式
- 面试官追问示例
- 知道异步执行的原理吗
-
- 异步执行原理
- 面试官追问示例
- 如何提高cache命中率
-
- 1. 增大缓存大小
- 2. 优化缓存策略
- 3. 利用数据局部性
- 4. 优化缓存层次结构
- 5. 使用预取技术
- 6. 硬件和软件协同优化
- 面试官追问示例
- 数组指针和指针数组的区别
-
- 数组指针
- 指针数组
- 面试官追问
- 当struct数组的指针+1时,实际增加了多少字节
- static关键字是什么意思
-
- 1. 局部变量中的`static`
- 2. 全局变量中的`static`
- 3. 函数中的`static`
- 4. 类成员中的`static`(针对C++)
- static变量的作用域
-
- 1. 局部作用域中的`static`变量
- 2. 文件作用域中的`static`变量
- 3. 类作用域中的`static`成员(针对C++)
- select和epoll有什么区别
-
- 1. I/O模型
- 2. 文件描述符数量限制
- 3. 触发方式
- 4. 内核实现机制
- 面试官追问示例:
部门1:做存储(底软)
一个报文怎么从主机A的应用传到主机B的应用?
在嵌入式面试中,当面试官提问“一个报文怎么从主机A的应用传到主机B的应用”时,可以从网络协议的层次结构,特别是TCP/IP协议栈的角度来详细阐述这一过程。
回答
一个报文从主机A的应用传到主机B的应用,主要经过以下几个步骤,这些步骤遵循了TCP/IP协议栈的层次结构:
-
应用层:
- 主机A的应用层生成需要发送的数据(即报文)。
- 应用层将数据传递给传输层,并可能指定传输层使用的协议(如TCP或UDP)。
-
传输层:
- 如果选择TCP协议,传输层将执行三次握手以建立与主机B的可靠连接。
- 主机A发送一个SYN报文段给主机B,请求建立连接。
- 主机B收到SYN后,回复一个SYN-ACK报文段,表示同意连接。
- 主机A收到SYN-ACK后,再发送一个ACK报文段,
- 如果选择TCP协议,传输层将执行三次握手以建立与主机B的可靠连接。