Skip to content

Commit f315561

Browse files
committed
面试:为阿里二面准备添加参考答案(计算机网络)
1 parent 43ce883 commit f315561

File tree

3 files changed

+70
-5
lines changed

3 files changed

+70
-5
lines changed

interview/阿里二面准备.md

Lines changed: 70 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -344,23 +344,81 @@
344344
## 计算机网络
345345

346346
1. HTTP 状态码有哪些,一一解释含义
347+
1. 1xx 消息
348+
- 100 服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。
349+
1. 2xx 成功
350+
- 200 OK 请求成功(其后是对GET和POST请求的应答文档。)
351+
1. 3xx 重定向
352+
- 304 Not Modified 未修改的文档。客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
353+
1. 4xx: 客户端错误
354+
- 400 Bad Request 服务器未能理解请求。
355+
- 404 Not Found 服务器无法找到被请求的页面。
356+
1. 5xx: 服务器错误
357+
- 500 Internal Server Error 请求未完成。服务器遇到不可预知的情况。
347358
1. HTTP 请求头有哪些,介绍平时见过的,怎么利用这些信息来进行前后端调试
359+
1. `Host`, 请求的域名
360+
1. `User-Agent`,用户的浏览器版本信息
361+
1. `Accept`,响应的内容类型
362+
1. `Accept-Language`, 接受的语言
363+
1. `Accept-Encoding`, 可接受的编码方式
364+
1. `Cookie`,本地的 Cookie 信息
365+
1. `if-Modified-Since`, 本地有缓存,如果在那之后没有做修改,则可以直接使用本地缓存。
348366
1. TCP 和 UDP 的区别
349-
1. TCP如何保证可靠性
367+
- ![](../res/diff-tcp-udp.png)
368+
1. TCP 如何保证可靠性
369+
1. 累计确认
370+
1. 超时重传
371+
1. 超时间隔加倍
372+
1. 快速重传
350373
1. 拥塞控制与流量控制的区别
374+
- 流量控制是由接收方来控制的,拥塞控制由当前的网络环境来控制。
351375
1. OSI七层模型,每层对应的协议有哪些,每层有何含义
376+
- ![](../res/tcp-ip-model.png)
352377
1. 网络浏览器访问一个网址发生了什么过程
378+
1. 在地址栏输入 URL,并回车
379+
1. 浏览器查询域名的 IP。一般会有以下几个地方:
380+
1. 浏览器缓存
381+
1. 操作系统缓存
382+
1. 路由器缓存
383+
1. 本地 DNS 服务器
384+
1. 如果本地 DNS 服务器上没有的话,它会递归的从根 DNS 服务器、顶级 DNS 服务器、权威 DNS 服务器请求,然后把获取到的 IP 返回给浏览器(DNS 协议基于 UDP)。
385+
1. 浏览器向 web 服务器发送 HTTP 请求
386+
1. HTTP 协议基于 TCP,建立连接需要经过三次握手,并且该连接是长连接,即 `keep-alive`
387+
1. IP 数据包在网络传输中还需要经过域间选路和域内选路。
388+
1. 若长时间接收不到应答,TCP 会进行重传和拥塞控制。
389+
1. BLABLABLA...
390+
1. web 服务器处理请求
391+
1. web 服务器回传一个 HTTP 相应
392+
1. 浏览器接收到以后解析 HTML并显示
393+
1. 浏览器请求嵌入在 HTML 中的对象
394+
1. 最终浏览器呈现一个图文并茂的页面
353395
1. Cookie 和 Session 的区别
396+
1. Session 是存储在服务器端的,Cookie 是存储在客户端的 //TODO
354397
1. HTTP1.0 和 1.1 的区别
398+
- 最主要的区别是 1.1 支持持久连接。Connection 请求头的值为 Keep-Alive 时,客户端通知服务器返回本次请求结果后保持连接;Connection 请求头的值为 close 时,客户端通知服务器返回本次请求结果后关闭连接。
399+
- 1.1 支持断点续传。`RANGE:bytes=XXX` 表示要求服务器从文件 XXX 字节处开始传送
400+
- 还有一些其他的改进,有兴趣可以自行查阅相关资料
355401
1. HTTP 和 HTTPS 的主要区别
402+
- 安全。HTTP 直接与 TCP 通信,而 HTTPS 是先与 SSL(加密) 通信,然后再由 SSL 和 TCP 通信
356403
1. 滑动窗口算法
404+
- 又称回退 N 步(go-back-N),发送方的窗口滑动是由接收方是否已成功收到数据包来决定的。即接收方的窗口向前滑动后发送方的窗口才会向前滑动。//TODO
357405
1. 域名解析详细过程
358-
1. IP地址分为几类,每类都代表什么,私网是哪些
406+
1. IP 地址分为几类,每类都代表什么,私网是哪些
407+
- A:前 1 byte 为网络标识,剩下的是主机标识
408+
- B:前 2 bytes 为网络标识
409+
- C:前 3 bytes 为网络标识
410+
- D:为多播地址,最高位为 1110
411+
- E:特殊 IP。例如 0.0.0.0,127.0.0.1,255.255.255.255 等等
412+
- 私网
413+
- 10.0.0.0/8
414+
- 172.16.0.0/12
415+
- 192.168.0.0/16
359416
1. IP 头组成;
360417
1. 计算机网络中的同步和异步
361-
1. PG 里面用户如何连接到数据库服务器,建立连接的过程,发送了哪些包;是TCP还是UDP,为什么;
362418
1. 发现百度上不去,怎么办
363-
- (先ping www.baidu.com,丢包严重,就是网络不好,不能ping通,则检查dns。面试官问有三个地方可能出错:自己电脑,传输链路,百度服务器,继续答,检查能不能上网,上一下别的网站,能上就说明网没问题(被反问,可能是浏览器被劫持,我补充traceroute可以查看路由转发路径);看我不会,降低难度,问ping是使用什么协议,答icmp,问位于网络哪一层(随口答传输层,发现错了,改口网络层),再问它的上层协议是谁(不知道),再问可以讲下ping时icmp的传输过程吗,具体发送和收到哪些报文(继续被坑,继续不知道));
419+
1. 查看 DNS 解析是否正确。若有错误,删除本地 DNS 缓存
420+
1. 若 DNS 没有问题,使用 traceroute 检测路径,若路径不通则说明网路阻塞,暂时就别上网了
421+
1. traceroute 没有问题,ping 也能通一般就是服务器端出问题了。
364422

365423
## 分布式/集群等高级主题
366424

@@ -456,4 +514,11 @@
456514
1. [数据库事务隔离级别](http://singo107.iteye.com/blog/1175084)
457515
1. [什么是慢查询?](http://www.jianshu.com/p/7529a0fbf088)
458516
1. [mysql int(3)与int(11)的区别](http://blog.sina.com.cn/s/blog_610997850100wjrm.html)
459-
1. [Chapter 16 Alternative Storage Engines](https://dev.mysql.com/doc/refman/5.7/en/storage-engines.html)
517+
1. [Chapter 16 Alternative Storage Engines](https://dev.mysql.com/doc/refman/5.7/en/storage-engines.html)
518+
1. [HTTP 状态消息](http://www.w3school.com.cn/tags/html_ref_httpmessages.asp)
519+
1. [List of HTTP header fields](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields)
520+
1. [TCP和UDP之间的区别 ](http://feinibuke.blog.51cto.com/1724260/340272)
521+
1. [What really happens when you navigate to a URL](http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/)
522+
1. [在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?](https://www.zhihu.com/question/34873227)
523+
1. [session与cookie的区别与联系](http://www.jianshu.com/p/4ce62bcbfb82)
524+
1. [面试时如何优雅的谈论HTTP/1.0/1.1/2.0](http://www.jianshu.com/p/52d86558ca57)

res/diff-tcp-udp.png

6.12 KB
Loading

res/tcp-ip-model.png

96.2 KB
Loading

0 commit comments

Comments
 (0)