面试


### 1. 从浏览器输入 URL 的所有流程

1. 浏览器解析 URL,提取出协议、主机名、端口号和路径等信息。
2. 浏览器通过 DNS 解析获取主机名对应的 IP 地址。
3. 浏览器向服务器发起 TCP 连接请求(三次握手)。
4. 服务器响应 TCP 连接请求(三次握手)。
5. 浏览器发送 HTTP 请求到服务器。
6. 服务器接收到 HTTP 请求,处理并返回 HTTP 响应。
7. 浏览器解析并渲染 HTML、CSS、JavaScript 等资源。
8. 页面加载完成,浏览器关闭 TCP 连接(四次挥手)。

### 2. TCP 为什么需要三次握手,为什么不是两次或者四次

TCP 为了建立可靠的连接,采用了三次握手的过程:

- 第一次握手:客户端向服务器发送 SYN 报文,表示请求连接。
- 第二次握手:服务器收到 SYN 报文后,回复一个 SYN+ACK 报文,表示同意建立连接。
- 第三次握手:客户端收到服务器的 SYN+ACK 报文后,回复一个 ACK 报文,表示连接建立成功。

这样设计的目的是为了防止已失效的连接请求报文段突然又传送到了服务端,从而产生错误。

### 3. TIME_WAIT 状态是什么

TIME_WAIT 是 TCP 连接关闭后的一种状态,表示连接已经关闭,但是为了确保网络中的所有数据包都被正确处理,TCP 协议要求在关闭连接后等待一段时间(两倍的最大报文传输时间),这个时间称为 TIME_WAIT 状态。

### 4. HTTP 和 HTTPS,HTTPS 加密过程

HTTP 是超文本传输协议,数据传输不加密;而 HTTPS 是在 HTTP 的基础上加入 SSL/TLS 加密层,实现数据传输的加密和安全。

HTTPS 加密过程:
1. 客户端发起 HTTPS 请求。
2. 服务器返回包含公钥的数字证书。
3. 客户端验证数字证书的合法性,并提取出服务器的公钥。
4. 客户端生成一个随机的对称密钥,用服务器的公钥加密后发送给服务器。
5. 服务器使用私钥解密客户端发送的数据,获取对称密钥。
6. 客户端和服务器双方都拥有了相同的对称密钥,之后的通信都使用这个密钥进行加密和解密。

### 5. 常用状态码以及含义

常见的 HTTP 状态码包括:

- 200 OK:请求成功。
- 404 Not Found:请求的资源不存在。
- 500 Internal Server Error:服务器内部错误。
- 302 Found:临时重定向。
- 401 Unauthorized:未授权访问。
- 403 Forbidden:禁止访问。

这些状态码用于指示客户端请求的处理结果或服务器端的状态。
全部评论
找到春招offer了吗?试试自动驾驶行业否
点赞 回复 分享
发布于 2024-04-14 11:42 广东
有点像团子的题
点赞 回复 分享
发布于 2024-04-12 10:38 广东

相关推荐

机械打工仔:不管啥专业,找工作改简历的第一课先把你那排版改了,简历上不要写个人简历四个字,找你要简历的谁不知道这个是简历?而且还占那么多空间,直接把自己名字和基础信息写上面,整体字体大一些。 还有这种经典两页简历一页大空白,导出PDF的时候多了一页几乎全是白的你自己看着不难受吗随手的事为啥不能改掉呢,这是态度问题,你试想一下你是HR你打开简历看到格式都没调整过会是什么感受?你自己都不重视你的简历,HR更不会在意。 然后内容你那个做两年咖啡就别往里写了,简历在精不在多,你在往你的简历里打字的时候就要想好这东西对你要找的工作有没有帮助。自我评价写一行就行了,不如给专业技能单开一栏。核心课程均分90这个真别写了,把你上过的有用的专业课列出来也行。有很多地方废话很多的精炼一下,比如你校内项目第一个写的那些,全然没有重点。 好好修改一下,我看你内容也挺优秀的,别被一个随便做的简历耽误了,我一个同专业的打工人看了都揪心更别说一天看几百份简历的HR
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
2
23
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务