面试之网络总结

网络相关的知识点比较多,也比较细。如果提及的话,需要对其细节有较为深入的理解才能自如回答。

TCP/IP协议族和ISO的OSI七层体系的区别?
待添加

TCP与UDP的区别?
TCP是有连接的字节流协议,UDP是无连接的数据报协议。因为发送数据之前需要建立连接,而UDP不需要建立连接,所以TCP是可靠的而UDP是不可靠的。TCP为了保持尽最大可能交付数据,采取的功能包括确认、超时重传、流量控制、拥塞控制等机制。

TCP头部、UDP头部、IP头部的数据有哪些,各自占多少字节?
TCP头部包括原端口、目的端口、序列号、确认号、标志位、窗口大小等字段,总共20字节。UDP头部包括源端口、目的端口等字段,总共8字节。IP头部包括源IP、目的IP、标志、片偏移等字段,总共20字节。具体参考:IP、TCP、UDP首部详解

TCP建立连接的三次握手的过程?
三次握手开始时,客户端处于CLOSE状态,服务端处于LISTEN状态。客户端发送(第一次)SYN报文后进入SYN_SEND状态,服务端收到SYN报文后,返回SYN+ACK报文(第二次),然后进行SYN_RECV状态。客户端收到SYN+ACK报文后,返回ACK报文(第三次),进入ESTABLISHED状态,服务端收到ACK报文,也进入ESTABLISHED状态。连接建立。

为什么TCP建立连接需要三次握手?
三次握手是建立连接、知晓双方发送、接受功能完整的最小次数。
相当于A和B打电话,电话接通之后,A先说:我是A,你听得到我吗? B回答:我是B,我听得到你,你听得到我吗?A最后回答:我也听得到你。

TCP关闭连接的四次挥手的过程?
任意一方都可以主动发起关闭连接,通常是客户端发起关闭。
关闭连接之前,双方都处于ESTABLISHED状态。客户端发送FIN报文,进入FIN_WAIT_1状态,服务端收到FIN报文,返回ACK报文,进入CLOSE_WAIT状态。客户端收到ACK报文,进入FIN_WAIT_2状态。TCP是全双工服务,客户端服务端都是可以发送数据的。这相当于只是关闭了客户端发送数据功能,服务端依旧可以发送数据。当服务端的数据也无数据需要发送,就需要关闭它的发送功能,服务端发送FIN报文,进入LAST_ACK状态。客户端收到FIN报文,返回ACK报文,进入TIME_WAIT状态,经过2MSL时间后,进入CLOSE状态。服务器收到ACK报文后,进入CLOSE状态。

为什么TCP建立连接只需要三次握手,关闭连接却需要四次挥手?
三次握手的第二次,即服务端发送SYN+ACK报文,实际效果是将ACK报文和SYN报文合二为一。
关闭连接需要四次,是因为TCP的全双工性质。关闭一方写,不影响另一边继续写,两边写是不会相互影响的。关闭一方需要发送FIN报文和返回ACK报文,另一方同样需要,因此关闭连接是四次挥手。

关闭连接时,客户端处于TIME_WAIT状态时,为什么需要等待2MSL时间后才能关闭?
保证全双工的TCP连接正确关闭,同时保证当前连接中迷走报文不会影响到下一个连接。
客户端在TIME_WAIT状态保持2MSL时间,如果服务端未收到客户端发送的ACK报文。在超时后服务端会重新发送FIN报文,客户端依旧处于TIME_WAIT状态,可以对其再次回复ACK报文。

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值