2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

发布时间:2021-10-13 09:14:11 作者:iii
来源:亿速云 阅读:156

这篇文章主要介绍“2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些”,在日常操作中,相信很多人在2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.先看一天面试的经验

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2.什么是网络编程

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.网络编程中两个主要的问题

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

4.网络协议是什么

在计算机网络要做到井井有条的交换数据,就必须遵守一些事先约定好的规则,比如交换数据的格式、是否需要发送一个应答信息。这些规则被称为网络协议。

5.为什么要对网络协议分层

6.计算机网络体系结构

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

TCP/IP参考模型

TCP/IP四层协议(数据链路层、网络层、传输层、应用层)

1 TCP / UDP

1.1 什么是TCP/IP和UDP

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.2 TCP与UDP区别:

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.3 TCP和UDP的应用场景:

对某些实时性要求比较高的情况使用UDP,比如游戏,媒体通信,实时直播,即使出现传输错误也可以容忍;其它大部分情况下,HTTP都是用TCP,因为要求传输的内容可靠,不出现丢失的情况

1.4 形容一下TCP和UDP

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.5 运行在TCP 或UDP的应用层协议分析。

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.5.1 什么是ARP协议 (Address Resolution Protocol)?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.5.2 什么是NAT (Network Address Translation, 网络地址转换)?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.5.3 从输入址到获得页面的过程?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.6 TCP的三次握手

1.6.1 什么是TCP的三次握手

在网络数据传输中,传输层协议TCP是要建立连接的可靠传输,TCP建立连接的过程,我们称为三次握手。

1.6.2 三次握手的具体细节

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.6.3 用现实理解三次握手的具体细节

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.6.4 建立连接可以两次握手吗?为什么?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.6.5 可以采用四次握手吗?为什么?

这个肯定可以。三次握手都可以保证连接成功了,何况是四次,但是会降低传输的效率。

1.6.6 第三次握手中,如果客户端的ACK未送达服务器,会怎样?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.6.7 如果已经建立了连接,但客户端出现了故障怎么办?

服务器每收到一次客户端的请求后都会重新复位一个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

1.6.8 初始序列号是什么?

TCP连接的一方A,随机选择一个32位的序列号(Sequence Number)作为发送数据的初始序列号(Initial Sequence Number,ISN),比如为1000,以该序列号为原点,对要传送的数据进行编号:1001、1002...三次握手时,把这个初始序列号传送给另一方B,以便在传输数据时,B可以确认什么样的数据编号是合法的;同时在进行数据传输时,A还可以确认B收到的每一个字节,如果A收到了B的确认编号(acknowledge number)是2001,就说明编号为1001-2000的数据已经被B成功接受。

1.7 TCP的四次挥手

1.7.1 什么是TCP的四次挥手

在网络数据传输中,传输层协议断开连接的过程我们称为四次挥手

1.7.2 四次挥手的具体细节

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.7.3 用现实理解三次握手的具体细节TCP的四次挥手

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

1.7.4 为什么不能把服务器发送的ACK和FIN合并起来,变成三次挥手(CLOSE_WAIT状态意义是什么)?

因为服务器收到客户端断开连接的请求时,可能还有一些数据没有发完,这时先回复ACK,表示接收到了断开连接的请求。等到数据发完之后再发FIN,断开服务器到客户端的数据传送。

1.7.5 如果第二次挥手时服务器的ACK没有送达客户端,会怎样?

客户端没有收到ACK确认,会重新发送FIN请求。

1.7.6 客户端TIME_WAIT状态的意义是什么?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2 Socket

2.1 什么是Socket

2.2 socket属于网络的那个层面

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2.3 Socket通讯的过程

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2.4 TCP协议Socket代码示例:

先运行服务端,在运行客户端 ,

  1. 服务端:

package com.test.io; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.OutputStream;

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2.5 UDP协议Socket代码示例:

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2.6 Socket的常用类

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3. HTTP

3.1什么是Http协议?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.2 Socket和http的区别和应用场景

3.3 什么是http的请求体?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.4 http的响应报文有哪些?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.5 http和https的区别?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.6 HTTPS工作原理

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.7 一次完整的HTTP请求所经历几个步骤?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.8 常用HTTP状态码是怎么分类的,有哪些常见的状态码?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.9 Http协议中有那些请求方式

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.10 GET方法与POST方法的区别

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.11 http版本的对比

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.12 什么是对称加密与非对称加密

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

3.13 cookie和session对于HTTP有什么用?

2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些

到此,关于“2021最新版TCP,UDP,Socket,Http的网络编程面试题有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. socket网络编程之TCP、UDP
  2. TCP、UDP、HTTP、SOCKET之间的区别

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

tcp java http

上一篇:常见Bean拷贝框架的性能有哪些区别

下一篇:php.ini配置文件的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》