加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

知名互联网公司校招 Java 开发岗面试知识点解析

发布时间:2020-12-31 22:32:07 所属栏目:运营 来源:网络整理
导读:副标题#e# 天之道,损有余而补不足,是故虚胜实,不足胜有余。 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向。在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点。 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高

8) 新的包 java.time 包

  1. 包含了所有关于日期、时间、时区、持续时间和时钟操作的类;
  2. 这些类都是不可变的、线程安全的。
小结:Java8 的一些新特性,面试官一般情况下不要求你有多么精通,主要是看看你有没有一些了解。

(六)网络协议相关

网络协议方面,考察最多的包括服务器和客户端在三次握手、四次挥手过程中的状态变化;还有网络拥塞控制,及其解决办法等。

1)三次握手、四次挥手示意图:

知名互联网公司校招 Java 开发岗面试知识点解析

总共有四种状态:主动建立连接、主动断开连接、被动建立连和被动断开连接

两两组合还是 4 种组合:

  1. 主动建立连接、主动断开连接会经历的状态:SYNC_SENT——ESTABLISHED—-FIN_WAIT_1—-FIN_WAIT_2—-TIME_WAIT
  2. 主动建立连接、被动断开连接会经历的状态:SYNC_SENT——ESTABLISHED—-CLOSE_WAIT—-LAST_ACK
  3. 被动建立连接、主动断开连接会经历的状态:LISTEN—-SYN_RCVD—-ESTABLISHED—-FIN_WAIT_1—-FIN_WAIT_2—-TIME_WAIT
  4. 被动建立连接、被动断开连接会经历的状态:LISTEN—-SYN_RCVD—-ESTABLISHED—-CLOSE_WAIT—-LAST_ACK

2)滑动窗口机制

由发送方和接收方在三次握手阶段,互相将自己的最大可接收的数据量告诉对方。也就是自己的数据接收缓冲池的大小。这样对方可以根据已发送的数据量来计算是否可以接着发送。

在处理过程中,当接收缓冲池的大小发生变化时,要给对方发送更新窗口大小的通知。

3)拥塞避免机制

拥塞:对资源的需求超过了可用的资源。若网络中许多资源同时供应不足,网络的性能就要明显变坏,整个网络的吞吐量随之负荷的增大而下降。

拥塞控制:防止过多的数据注入到网络中,使得网络中的路由器或链路不致过载。

拥塞控制方法:

  • 慢开始 + 拥塞避免;
  • 快重传 + 快恢复。

知名互联网公司校招 Java 开发岗面试知识点解析

4)浏览器中输入:“www.xxx.com” 之后都发生了什么?请详细阐述。

解析:经典的网络协议问题。

答:

  1. 由域名→IP 地址寻找 IP 地址的过程依次经过了浏览器缓存、系统缓存、hosts 文件、路由器缓存、 递归搜索根域名服务器。
  2. 建立 TCP/IP 连接(三次握手具体过程)
  3. 由浏览器发送一个 HTTP 请求
  4. 经过路由器的转发,通过服务器的防火墙,该 HTTP 请求到达了服务器
  5. 服务器处理该 HTTP 请求,返回一个 HTML 文件
  6. 浏览器解析该 HTML 文件,并且显示在浏览器端
  7. 这里需要注意:
  • HTTP 协议是一种基于 TCP/IP 的应用层协议,进行 HTTP 数据请求必须先建立 TCP/IP 连接
  • 可以这样理解:HTTP 是轿车,提供了封装或者显示数据的具体形式;Socket 是发动机,提供了网络通信的能力。
  • 两个计算机之间的交流无非是两个端口之间的数据通信,具体的数据会以什么样的形式展现是以不同的应用层协议来定义的。

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!