面试题刷题演练

1.tcp三次握手

2.tcp实现可靠传输的方法

  1. 数据的确认和重传
  2. 合理分包,排序
  3. 数据的校验

3.tcp的拥塞控制

一、拥塞

1、概念:在某段时间,如果对网络中的某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要发生变化,这种情况叫阻塞

2、拥塞控制:防止过多的数据注入到网络当中,这样可以使网络中的路由器或链路不致过载。(通过拥塞窗口处理网络拥塞现象的一种机制)

        a.前提:网络能够承受现有的网络负荷。

        b.拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低1网络传输性能有关的所有因素。

        c.与流量控制的区别:流量控制往往是指点对点通信量的控制,是个端到端的问题。流量控制所要做的就是控制发送端发送数据的速率,以便使接收端来得及接收。

        d.代价:需要获得网络内部流量分布的信息。在实施拥塞控制之前,还需要在结点之间交换信息和各种命令,以便选择控制的策略和实施控制。这样就产生了额外的开销。拥塞控制还需要将一些资源分配给各个用户单独使用,使得网络资源能更好的实现共享。

3.拥塞控制的几种方法

慢开始     拥塞避免       快重传        快恢复  

4.socket编程实现tcp的过程

创建套接字,绑定套接字,监听套接字,接收连接请求

5.https的原理

6.套接字的好处

文件描述符

7.C++ new delete区别

应该是new和malloc

8.C++内存相关

一般就设计堆区,栈区

9.如何理解C++三大特性

封装继承多态

10.AVL树 特性

平衡二叉树,每一个根节点的左子树的深度和右子树的深度不超过1

11.完全二叉树 有n个结点,求深度

具有n个结点的完全二叉树的深度为「log2n」+1

12.链表的特点

手撕代码 快排

进程和线程的区别

  • 根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位
  • 在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。
  • 所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)
  • 内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值