1、static关键字的作用
答:在C语言中,主要定义全局静态变量、局部静态变量、定义静态函数
2、TCP协议首部结构
答:TCP首部固定20字节
源主机、目的主机的端口号各2字节,用于寻找发送端和接收端应用线程
序号、确认号各4字节
剩下的有数据偏移、保留字、URG、ACK、PSH、RST、SYN、FIN、窗口、检验和、紧急指针
3.TCP,UDP的区别,应用场景,实现原理,报文的结构;(实现原理????,我就说了三次握手四次挥手)
答:
TCP,UDP协议都工作在传输层,目标都是在程序之间传输数据,
TCP面向连接(打电话),UDP无连接(写信)
TCP三次握手(建立连接),传输确认(丢包问题、乱序问题,回复ACK),四次挥手(关闭连接请求);稳定可靠
UDP发送数据就是简单的把数据包封装一下,然后从网卡发出去,性能损耗少;速度快
4.http请求和响应报文的内容,实现原理;(依旧懵逼???我把报文内容说了一遍,说了一些请求方法以及状态码)
答:
建立tcp连接
实现原理:客户端发送一段请求报文给服务器,服务器处理请求报文中的信息,并将处理结果放在响应报文中返回给客户端。
http请求的内容:
第一行是包含了请求方法、URL、协议版本;
接下来的多行都是请求首部 Header,每个首部都有一个首部名称,以及对应的值。
一个空行用来分隔首部和内容主体 Body
最后是请求的内容主体
响应报文的内容:
第一行包含协议版本、状态码以及描述,最常见的是 200 OK 表示请求成功了
接下来多行也是首部内容
一个空行分隔首部和内容主体
最后是响应的内容主体
5.交换机,路由器,网关的区别,他们的具体实现原理是什么;(我去,每层都问原理???我说了路由器的路由选择和分组转发,路由表和转发表什么的)
答:
交换机:把数据包发送到正确的位置,交换机中有一张端口与MAC地址的映射关系表(MAC地址表),交换机维护着这张MAC地址表
路由器:路由器有两种端口,LAN口、WAN口,LAN可以有多个,用来接家庭网络设备,比如台式机、手机、笔记本,WAN口只有一个,用来连接到互联网中。如果把WAN口忽略,只关注LAN口,那路由器就是一台交换机;
如果考虑到WAN口,此时引入网关的概念,网关上有两张网卡,分别配置了属于两个子网的ip地址,可以在两个网络之间转发数据包,这样就有了一个连接了两个子网的网络。
发送数据时,首先判断与自己是否属于同一个子网,是直接从网卡发出,否则将数据包的MAC地址改为网关MAC,然后发送给网关,网关拿到数据后根据路由表查询到目的地址属于子网2,网关修改目标MAC地址为计算机b的MAC地址,修改源MAC地址为自己的MAC地址,然后从子网2的网卡发出
根据目标ip判断数据包应该如何发送的行为就叫做路由
6.你对岗位的理解;
答:软件测试开发工程师