2020年04月13日 15:44 · 阅读 30669
Java面试总结汇总,整理了包括Java重点知识,以及常用开源框架,欢迎大家阅读。文章可能有错误的地方,因为个人知识有限,欢迎各位大佬指出!文章持续更新中...... 第一场: 第二场: 网络编程的本质是多台计算机之间的数据交换。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给其他设备,然后接受另外一个设备反馈的数据。现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端(Client),等待其他程序连接的程序被称作服务器(Server)。客户端程序可以在需要的时候启动,而服务器为了能够时刻相应连接,则需要一直启动。
例如以打电话为例,首先拨号的人类似于客户端,接听电话的人必须保持电话畅通类似于服务器。连接一旦建立以后,就客户端和服务器端就可以进行数据传递了,而且两者的身份是等价的。在一些程序中,程序既有客户端功能也有服务器端功能,最常见的软件就是QQ、微信这类软件了。 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。 而TCP层则提供面向应用的可靠(TCP)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。 目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提
出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也 能及时得到服务。 TCP/IP参考模型 TCP/IP四层协议(数据链路层、网络层、传输层、应用层)
1 TCP / UDP1.1 什么是TCP/IP和UDP
1.2 TCP与UDP区别:
1.3 TCP和UDP的应用场景:
1.4 形容一下TCP和UDP
1.5 运行在TCP 或UDP的应用层协议分析。
什么是ARP协议 (Address Resolution Protocol)?
什么是NAT (Network Address Translation, 网络地址转换)?
从输入址到获得页面的过程?
1.6 TCP的三次握手1.6.1 什么是TCP的三次握手
1.6.2 三次握手的具体细节
1.6.3 用现实理解三次握手的具体细节
1.6.4 建立连接可以两次握手吗?为什么?
1.6.5 可以采用四次握手吗?为什么?
1.6.6 第三次握手中,如果客户端的ACK未送达服务器,会怎样?
1.6.7 如果已经建立了连接,但客户端出现了故障怎么办?
1.6.8 初始序列号是什么?
1.7 TCP的四次挥手1.7.1 什么是TCP的四次挥手
1.7.2 四次挥手的具体细节
1.7.3 用现实理解三次握手的具体细节TCP的四次挥手
1.7.4 为什么不能把服务器发送的ACK和FIN合并起来,变成三次挥手(CLOSE_WAIT状态意义是什么)?
1.7.5 如果第二次挥手时服务器的ACK没有送达客户端,会怎样?
1.7.6 客户端TIME_WAIT状态的意义是什么?
2 Socket1 什么是Socket
2 socket属于网络的那个层面
3 Socket通讯的过程
4 TCP协议Socket代码示例:
5 UDP协议Socket代码示例:
6 Socket的常用类
3. HTTP什么是Http协议?
Socket和http的区别和应用场景
什么是http的请求体?
http的响应报文有哪些?
http和https的区别?
HTTPS工作原理
一次完整的HTTP请求所经历几个步骤?
常用HTTP状态码是怎么分类的,有哪些常见的状态码?
Http协议中有那些请求方式
GET方法与POST方法的区别
http版本的对比
什么是对称加密与非对称加密
cookie和session对于HTTP有什么用?
什么是cookie
什么是session
cookie与session区别
cookie和session对于HTTP有什么用?
什么是cookie
什么是session
cookie与session区别
|