7.2面试

1.tcp/ip四层模型是什么

应用层、运输层、网际层、物理层
网络接口层,网际层,传输层、应用层
tcp/ip四层协议模型是对osi七层网络协议模型的简化,其中在tcp/ip参考模型中去掉了osi中的会话层和表示层(合并为应用层),把ois中的物理层和数据链路层合并为了网络接口层,所以tcp/ip四层协议,由下往上依次为网络接口层、网际层、传输层、应用层;
其中网络接口层本层兼顾了物理层和数据链路层的功能,实际上tcp/ip参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网际层一个接口,以便在其上传递ip分组,由于这一层未被定义,所以具体实现的方法随着网络类型的不同而不同;
网际层:是整个tcp/ip协议栈的核心。它的功能是把分组发往目标网络或主机。同时,为了尽快的发送分组,可能需要沿着不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层对分组重新进行排序。网际层定义了分组的格式和协议,即ip协议。网际层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互联的任务。除此之外,网际层还需要完成拥塞控制的功能;
传输层:在tcp/ip模型中,传输层的功能主要是使源端主机和目标主机上的对等实体可以进行会话。在传输层中定义了两种服务质量不同的协议:即传输控制协议(tcp协议)和用户数据报协议(udp协议)。tcp协议是一个面向连接的、可靠的协议,它将一台主机的字节流无差错的发往另一台主机。在发送端,它负责把上层传送下来的字节流分成报文段并传输给下层,在接收端,它负责把收到的报文重组后递交给上层。tcp协议还要端到端的流量控制,避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。udp是一个不可靠的、无连接的协议。主要适用于不需要对报文进行排序和流量控制的场合;
应用层:应用层是在用户空间实现的,如http,https,ftp,telnet协议等。

2.说一说C++ 和 C 中 struct 的区别以及和 class 的区别

c中结构体是自定义的一个单元,无法添加成员函数,也没有访问权限控制这个概念
c++中可以加入成员函数,是一种模板,于class区别主要是struct默认是public,class默认是private。
此外,如果没有多态和虚拟继承,在C++中,struct和class的存取效率完全相同!简单的说就是,存取class的data member和非virtual function效率和struct完全相同!不管该data member是定义在基类还是派生类的。

如果不是为了和C兼容,C++中就不会有struct关键字。因此建议是:如果不需要与C兼容或传递参数给C程序,不要在C++中用struct。

注意class的data member在内存中的布局可不一定是data member的申明次序。C++只保证处于同一个access section的data member按照申明次序排列。
c++和cstruct区别是c++中可以继承

3.STL 中 resize() 和 reserve() 的区别

容器的扩容不是动态进行的,而是整数倍进行的
比如我先给你长度8的空间,等你用完了,再给你8的空间
而不是给你1 2 3 4 5 6 7 8 9 10这样的空间,是整块整块的给

resize()是用来改变容器存储多少个值,reserve()是设置容器还能存多少个值
https://blog.csdn.net/wuxiecsdn/article/details/114580798?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-2-114580798-blog-72637767.pc_relevant_aa2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-2-114580798-blog-72637767.pc_relevant_aa2&utm_relevant_index=4

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值