[C++面试高频]C++基础(八)

1.你知道有哪些数据库,说一说。

常用的关系型数据库

ORracle,MySQL,SQL Server,ACCESS数据库。

MySQL:采用C和C++语言编写,支持多操作系统,体积小,速度快,成本低,开源,适合中小型网站开发。

SQL Server:性价比高,易操作,但只能在windows上运行,没有开放性,多用户时性能差。

2.Redis是干嘛的?

是一个高效缓存的数据库,是一种键值对形式的存储系统,属于非关系型数据库。

3.二叉树与B树的区别

二叉树常用来实现二叉查找树(用于搜索和动态排序)和二叉堆(快速获取集合最值)。

B树是平衡查找树,能对存储数据进行O(logn)的时间复杂度插入,查找和删除。

4.TCP与UDP的区别

①TCP需要建立一对一稳定的连接,UDP无连接。

②TCP一对一,UDP可以一对一,一对多,多对多。

③TCP传输可靠,有序列号,确认应答,超时重传等保证;UDP不保证可靠传输,尽最大努力交付。

④TCP头部是20字节,UDP是8字节。

⑤TCP开销大,UDP灵活,开销小。

⑥TCP提供可靠的服务,适用于通讯质量要求高的场景;UDP传输效率高,适用于高速传输和实时性要求的场景。

5.UDP如何实现可靠性传输?

加入TCP可靠机制。

①序列号,确认应答,超时重传

发送方发送数据,接收方需要确认序列号,序列号说明了它下一次接收数据的序列号。若发送方一直没有接收到确认应答,则数据可能丢失,或确认应答丢失,接收方会等待一段时间重新传送。

②窗口控制

TCP会利用窗口提高传输速度,在一个窗口大小内,不一定要等到应答才能发送下一段数据,窗口大小就是无需确认等待而可以继续发送数据的最大值。

③拥塞控制

如果窗口很大,发送端连续发送大量数据,可能造成网络拥堵,为防止拥堵采用拥塞控制。主要是增大窗口。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值