JAVA面经复习(二)

本系列针对目前的JAVA面试常见问题整理了作者认为相对正确的答案,如有答案不恰当的地方,欢迎指出。

问:http请求报文
答:http请求报文指的是由客户端发出的http请求,报文格式主要有报文首部空行报文主体组成,其格式如下:

问:http 301 302状态码
答:301(Moved Permanently)指的是当前页面的资源被移动到了新的url,服务器返回新的url,客户端再次转到新的url访问静态页面;302(Found)指的是当前访问的资源可能暂时被移动到了另外的url上,用户以后还是需要采用当前url访问资源。

问:http协议 端口
答:我们想要和任何一个网络设备通过网络建立连接,首先要找到它的IP地址。但一个网络设备可能有多个服务,我们要知道和哪个服务进行沟通,就先确定好端口,这个端口号就是某一个服务的通道。

问:端口属于哪一层
答:传输层,因为TCP/IP协议也属于传输层。

问:端口 一共有多少个
答:TCP端口共为16位数,因此2^16为65536个,具体端口号为0-65535。

问:7层网络模型
答:OSI 7层网络模型分别为物理层,数据链路层,传输层,网络层,会话层,表示层,应用层;与TCP/IP的5层模型相比,多了会话层和表示层。

问:数据链路层协议
答:停止-等待协议,即发送一帧就等待服务器返回一个确认信息;选择-重传协议,相较上一种协议多了超时重传的机制;后退N帧协议,即连续发送N帧,若确认帧与当前发送的帧不符合,表示对应服务器端没有接收到后面的帧,则重新从对应确认帧的数据再开始发送。

问:ipv6 是多少位
答:IPV6将IPV4的32位扩展到了128位,共计3.4*10^38个IP。

问:c类地址哪些是保留地址
答:保留地址是指用作自身内部网络通信使用的IP地址,保留地址的范围如下:
a类网 10.0.0.0~10.255.255.255
b类网 172.16.0.0~172.31.255.255
c类网 192.168.0.0~192.168.255.255

问:网络号全 0 全 1 主机号全 0 全1 分别什么含义
答:主机号全0,表示本机;主机号全1,表示广播消息给所有主机。
网络号全0,表示在本网络上的某台主机;网络号全1,只在本网络上进行广播转发。

问:事务隔离级别?
答:未提交读;提交读;可重复读;可序列化。

问:mysql默认级别?
答:可重复读

问:b+树 与 哈希索引的辨析
答:B+树指的平衡的多叉树,其检索数据的效率比较平均,为O(logn);而哈希索引则是最好情况下为O(1),但由于产生冲突,实际时间会比O(1)要大。同时哈希索引没办法对某一范围数据进行检索。

问:SpringAop
答:SpringAOP指新的一种编程思想,即面向切面编程,其通过对业务中反复多次出现的共同代码进行整合,相当于对代码业务进行切分,从而将重复的部分集中到一起,来减少开发过程中的重复性。

问:redis 对象 和 底层数据结构
答:redis对象包括String,Set,Hash,List,ZSet;

问:redis持久化机制
答:redis作为缓存为了避免数据丢失,所以Redis提供了持久化机制。RDB持久化,将某个时间点上Redis中的数据保存到一个RDB文件中。AOF持久化则是通过保存Redis服务器所执行的写命令来记录数据库数据。更多细节可以参照"讲讲你理解的Redis的持久化机制(RDB、AOF)"

参考文献

快手 效率工程 1面+2面
图解HTTP学习笔记(三)—HTTP报文
HTTP 中的 301、302、303、307、308 响应状态码
Http 的端口是什么?
数据链路层 基本数据链路协议