面试是求职的必经之路,也是能力展现的第一道门槛。很多朋友周一面试失败,到周五还不知道失败的原因,不仅耽误了其他面试的发挥,也不利于面经的积累。

另一方面,面试多考察基础知识和理论掌握的熟练程度,计算机网络自然成为了面试官最喜欢考察的内容之一。今天就给大家安排一份「50道计算机网络面试题」,答案都十分详细,每一道都十分经典。

HTTP常用的请求方式,区别和用途?

  • GET: 发送请求,获取服务器数据

  • POST:向URL指定的资源提交数据

  • PUT:向服务器提交数据,以修改数据

  • HEAD:请求页面的首部,获取资源的元信息

  • DELETE:删除服务器上的某些资源。

  • CONNECT:建立连接隧道,用于代理服务器;

  • OPTIONS:列出可对资源实行的请求方法,常用于跨域

  • TRACE:追踪请求-响应的传输路径

从浏览器地址栏输入url到显示主页的过程

  • DNS解析,查找真正的ip地址

  • 与服务器建立TCP连接

  • 发送HTTP请求

  • 服务器处理请求并返回HTTP报文

  • 浏览器解析渲染页面

  • 连接结束

说下计算机网络体系结构

计算机网络体系结构主要有OSI七层模型、TCP/IP四层模型、五层体系结构

OSI七层模型

OSI七层模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。

  • 应用层:网络服务与最终用户的一个接口,协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP

  • 表示层:数据的表示、安全、压缩。

  • 会话层:建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话

  • 传输层:定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层

  • 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP IGMP IP(IPV4 IPV6)

  • 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。

  • 物理层:建立、维护、断开物理连接。

TCP/IP 四层模型

  • 应用层:对应于OSI参考模型的(应用层、表示层、会话层),为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等

  • 传输层:对应OSI的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。定义了TCP和UDP两层协议。

  • 网际层:对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)

  • 网络接口层:与OSI参考模型的数据链路层、物理层对应。它负责监视数据在主机和网络之间的交换。

五层体系结构

  • 应用层:通过应用进程间的交互来完成特定网络应用。对应于OSI参考模型的(应用层、表示层、会话层),应用层协议很多,如域名系统DNS,HTTP协议,支持电子邮件的 SMTP协议等等。我们把应用层交互的数据单元称为报文。

  • 传输层:负责向两台主机进程之间的通信提供通用的数据传输服务。对应OSI参考模型的传输层,协议有传输控制协议 TCP 和 用户数据协议 UDP。

  • 网络层:对应OSI参考模型的的网络层

  • 数据链路层:对应OSI参考模型的的数据链路层

  • 物理层:对应OSI参考模型的的物理层层。在物理层上所传送的数据单位是比特。物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。

对称加密与非对称加密有什么区别?

对称加密:加密和解密使用相同密钥的加密算法

非对称加密:非对称加密算法需要两个密钥(公开密钥和私有密钥)。公钥和私钥是成对存在的,如果用公钥对数据进行加密,只有对应的私钥才能解密

HTTP状态码301和302的区别  

  • 301(永久移动)请求的网页已被永久移动到新位置。服务器返回此响应(作为对GET或HEAD请求的响应)时,会自动将请求者转到新位置

  • 302:(临时移动)服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应GET和HEAD请求的301代码类似,会自动将请求者转到不同的位置。

HTTP状态码301和302的区别:

  • 它们之间关键区别在,资源是否存在有效性

  • 301资源还在只是换了一个位置,返回的是新位置的内容

  • 302资源暂时失效,返回的是一个临时的代替页上

HTTP请求的过程与原理

HTTP是一个基于TCP/IP协议来传递数据的超文本传输协议,传输的数据类型有HTML文件、图片文件等。以访问百度为例子,看一下HTTP的请求过程

  • 客户端进行DNS域名解析,得到对应的IP地址

  • 根据这个IP,找到对应的服务器建立连接(三次握手)

  • 服务器端收到客户端发送的FIN后,TCP协议栈就会自动发送ACK,接着进入CLOSE_AWIT状态

  • 但是如果服务器端不执行socket的close()操作,那么就没法进入LAST_ACK,导致大量连接处于CLOSE_WAIT状态

  • 所以,如果服务器出现了大量CLOSE_WAIT状态,一般是程序bug,或者关闭socket不及时

RARP协议的工作原理?

  • ARP(地址解析协议),是设备通过自己知道的IP地址来获得自己不知道的物理地址的协议

  • RARP(反向地址转换协议)以与ARP相反的方式工作。RARP发出要反向解析的物理地址并希望返回其对应的IP地址,应答包括由能够提供所需信息的RARP服务器发出的IP地址。(应用于无盘机)

RARP工作原理如下:

  • 发送主机发送一个本地的RARP广播,在次广播包中,声明自己的MAC地址并且请求任何收到此请求鞥多RARP服务器分配一个IP地址

  • 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址

  • 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用

  • 如果不存在,RARP服务器对此不做任何的响应

  • 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应,表示初始化失败

PDF展示

50道经典计算机网络面试题梳理相关推荐

  1. 50道经典计算机网络面试题

    50道经典计算机网络面试题 1. 说说HTTP常用的状态码及其含义? 思路: 这道面试题主要考察候选人,是否掌握HTTP状态码这个基础知识点. 不管是不是面试需要,我们都要知道,日常开发中的这几个状态 ...

  2. 2W字!梳理50道经典计算机网络面试题(收藏版)

    前言 金九银十即将来临啦,我梳理了50道计算机网络面试题,每一道题目都特别经典,大厂也非常喜欢问.相信大家看完,会有新的收获滴~ 1. 说说HTTP常用的状态码及其含义? 思路: 这道面试题主要考察候 ...

  3. 1.6W字!梳理50道经典计算机网络面试题(收藏版)

    前言 金九银十马上要到了,整理了50道计算机网络面试题,每一道都非常的经典,大厂也非常喜欢问.希望大家看完后,都能找到理想的offer哈~ 公众号:捡田螺的小男孩 1. HTTP 常用的请求方式,区别 ...

  4. 2W字梳理50道经典计算机网络面试题(值得收藏)

    1. 说说HTTP常用的状态码及其含义? 思路: 这道面试题主要考察候选人,是否掌握HTTP状态码这个基础知识点. 不管是不是面试需要,我们都要知道,日常开发中的这几个状态码的含义哈: 2. HTTP ...

  5. 50道经典计算机网络面试题,你答得上几个?(二)

    16. 说说DNS的解析过程? 思路: 这道题考察的知识点是DNS域名解析,http请求的过程,是涉及到DNS域名解析的,这道面试题也挺经典的,大家可以看下<图解HTTP>那本书哈. ★ ...

  6. 【面试】50道经典计算机网络面试题

    1. HTTP 常用的请求方式,区别和用途? GET: 发送请求,获取服务器数据 POST:向 URL 指定的资源提交数据 PUT:向服务器提交数据,以修改数据 HEAD: 请求页面的首部,获取资源的 ...

  7. 【Vue面试专题】50+道经典Vue面试题详解!

    目录 前言 相关学习资源 01-Vue组件之间通信方式有哪些 02-v-if和v-for哪个优先级更高? 03-能说一说双向绑定使用和原理吗? 04-Vue中如何扩展一个组件 05-子组件可以直接改变 ...

  8. 50道经典机器学习面试题

    来自:百度安全验证 1.请简要介绍下SVM. SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同 ...

  9. 50 道 经典 Spring 面试题

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java ...

  10. 71道经典Android面试题和答案,重要知识点都包含了

    更多源码下载,请关注微信公众号:互联网技术分享 面试题 1.        下列哪些语句关于内存回收的说明是正确的? (b ) A. 程序员必须创建一个线程来释放内存   B.内存回收程序负责释放无用 ...

最新文章

  1. Mybatis之批量更新操作
  2. 大学计算机技术类社团/组织——社团官方网站
  3. JAVAWEB入门之Servlet的注解配置
  4. 中秋节公司发了这个(结尾分享红包)
  5. Android Studio中的APK分析器
  6. ppt课堂流程图_4个超实用的PPT制作技巧:开学提升备课质量,资深老师都在用
  7. Java多线程(一)——多线程实现方法和生命周期
  8. 辨异 —— 数学基本概念
  9. ASP.NET开发框架之HIPPO技术内幕(三)--数据库连接
  10. opera官方教程-前台
  11. Windows下cuDNN7.6.4下载安装详细步骤
  12. OpenGL天空盒skybox
  13. js日期减去日期算出剩余的天数
  14. JS中的单引号和双引号
  15. python counter怎么用_Counter的基本用法
  16. EXTJS资源库管理平台 2013.5.26-在线制作头像
  17. CSS3 的动画应用
  18. 知来路方知去处。坎坷已过,一马平川后必看的经典!——2018最新倾斜摄影建模与无人机航拍影像处理完美配置解决方案!
  19. Psins代码解析之静基座仿真(test_SINS_static.m)傅科、修拉周期水平通道误差传播(test_SINS_static_verify.m)
  20. ios解锁动态图片_很想知道iPhone上锁屏上动态壁纸的技巧

热门文章

  1. 继承ActionSupport实现Action
  2. QQ头像无法加载,显示初始默认头像的解决方法
  3. 色斑图制作及后端无人值守自动出图kriging.js+chrome+html2canvas.js+DOS+BIGEMAP超低成本实现气象要素色斑图
  4. 人工智能教学解决方案
  5. MIUI刷第三方rec教程(回退系统)
  6. 明华读卡器 循环读卡 初始卡号
  7. 计算机管理界面截图,电脑网页页面太长怎么截图网页界面滚动截图的三种方法...
  8. 【蓝牙】设备管理器找不到蓝牙
  9. Talib技术因子详解(十)
  10. 【麦子学院 彭亮 机器学习】3.2决策树应用(准备篇)