首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
每日面经精选
浙江大学 运营
关注
已关注
取消关注
#计算机网络面经#
👈点击话题查看更多同类面经干货!每日面经精选,为你发掘牛客干货!
@Jeff_Lui:
计算机网络常见面试题
精华
计算机网络常见面试题 浏览器输入网址之后发生了什么 DNS域名解析 HTTP协议生成请求报文 TCP协议将请求报文分割成报文段,进行可靠传输 IP协议进行分组转发 TCP协议重组请求报文 HTTP协议对请求进行处理 网络体系(OSI七层、TCP/IP四层、五层) TCP/IP协议各层的作用 应用层:应用层的任务是通过应用进程之间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程是指主机中正在与运行的程序。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议有很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,等等。 传输层:传输层的任务是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。主要有TCP协议和UDP协议。 网络层:网络层的任务是为分组交换网上的不同主机提供通信服务。在发送数据的时候,网络层把运输层产生的报文段或者用户数据报封装成分组或包进行传送。主要使用IP协议。 网络接口层:操作系统中的设备驱动和计算机对应的网络接口,它们一起处理与传输媒介的物理接口细节。主要有ARP协议和RARP协议。 应用层 HTTP和HTTPS的区别 端口 :HTTP的URL由“http://”起始且默认使用端口80,而HTTPS的UR由“https://”起始且默认使用端口443。 安全性和资源消耗: HTTP协议运行在TCP之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。HTTPS是运行在SSL/TLS之上的HTTP协议,SSL/TLS 运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。所以说,HTTP 安全性没有 HTTPS高,但是 HTTPS 比HTTP耗费更多服务器资源。 对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等; 非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等。 HTTPS的加密过程 证书验证,客户端发送一个证书请求个服务器端,服务器端返回证书,客户端对证书进行验证。 交换密钥,使用非对称加密,客户端使用公钥进行加密,服务器端使用密钥解密。 交换数据,使用对称加密的方式对数据进行加密,然后进行传输。 HTTP1.0和HTPP1.1的区别 缓存处理:在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。 带宽优化及网络连接的使用:HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接。 错误通知的管理:在HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。 Host头处理:在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名(hostname)。但随着虚拟主机技术的发展,在一台物理服务器上可以存在多个虚拟主机(Multi-homed Web Servers),并且它们共享一个IP地址。HTTP1.1的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误(400 Bad Request)。 长连接:HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启Connection: keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点。 长连接和短连接的区别 HTTP2.0与HTTP1.x的区别 新的二进制格式(Binary Format):HTTP1.x的解析是基于文本。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮 多路复用(MultiPlexing):即连接共享,即每一个request都是是用作连接共享机制的。一个request对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的混杂在一起,接收方可以根据request的 id将request再归属到各自不同的服务端请求里面。 header压缩:HTTP1.x的header带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。 服务端推送(server push):同SPDY一样,HTTP2.0也具有server push功能。 HTTP协议中的GET和POST方式的区别 参数位置:GET方法参数位置包含在URL,POST方法参数包含在请求主体 参数长度:GET方法的URL长度有限度,POST长度没有限制 参数编码:GET方法参数编码是ASCII码,POST没有限制 TCP数据包:GET方法产生一个TCP数据包,把首部和数据一起发送,POST方法产生两个TCP数据包,先发首部,服务器响应后再发数据 HTTP的报文结构 HTTP协议有那些请求 HTTP的状态码 答: HTTP的首部字段 答: 通用首部字段(General Header Fields) 请求首部字段(Request Header Fields) 响应首部字段(Respond Header Fields) 实体首部字段(Entity Header Fields) Session和Cookie的区别 答: 储存位置:Cookie是客户端会话技术,数据保存在客户端,Session是服务器端会话技术,数据保存在服务器端。 存储容量:Cookie一般<=4KB,Session无限制。 跨域支持:Cookie支持跨域,Session不支持。 Cookie的知识点: 概念: 客户端会话技术,将数据保存在客户端 使用步骤: 创建Cookie对象,绑定数据 new Cookie(Cookie cookie) 发送Cookie对象 response.addCookie(Cookie cookie) 获取Cookie,拿到数据 Cookie[] request.getCookies() 实现原理: 基于响应头的set-cookie和请求头cookie实现 细节: 一次可不可以发送多少个Cookie 可以,可以创建多个Cookie对象,使用response调用多次addCookie方法发送多个Cookie Cookie在浏览器中保存多长时间 默认情况下,当浏览器关闭,Cookie数据被销毁 持久化存储: setMaxAge(int seconds) 正数:将Cookie数据写到硬盘的文件中,持久化存储 负数:默认情况 0:删除Cookie Cookie能不能存中文 在tomcat 8之前不能存储,tomcat 8之后可以 Cookie的共享问题: 假设在一个tomcat服务器,部署了多个项目,那么在这些项目中Cookie能不能共享 默认情况下不能共享 setPath(String path):设置Cookie的取值范围,默认情况下,设置当前虚拟目录,如果要共享,可以将path设置为“/” 不同的tomcat服务器间Cookie的共享问题 setDomain(String path):如果设置一级域名相同,那么多个服务器之间Cookie可以共享 Cookie的特点和作用 特点: Cookie储存数据在客户端浏览器 浏览器对于单个Cookie的大小有限制(4KB)以及对于同一域名下的总Cookie数量也有限制(20个) 作用: Cookie一般用于存储少量的不太敏感的数据 在不登陆的情况下,完成服务器对客户端的身份识别 如何设计API的安全性 Token授权机制、时间戳超时机制、签名机制、拒绝重复调用 HTTP攻击有哪些 跨站脚本攻击(XSS)、Dos攻击、SQL注入攻击、OS命令注入攻击、HTTP头部攻击、目录攻击、开放重定向攻击 HTTP和WebSocket的联系和区别,什么情况下用WebSocket 答:HTTP1.x是半双工通信,客户端请求服务器响应,是无状态的,如果要实现实时通讯需要长轮询或者长连接的方式,这两种方式带来资源浪费。WebSocket是HTML5以后基于TCP协议应用层的一种全双工实时通讯协议。客户端和服务端可以进行信息的相互传递。它是借Http请求产生握手,在Http的头部会包含WebSocket协议的请求,所以握手之后,协议进行一个升级,转成TCP协议进行交流。WebSocket可以应用于聊天和即时信息 WebSocket通信流程 答: 建立socket通信,包括客户端和服务器端创建套接字(socket方法),服务器端绑定端口(bind方法),建立监听(listen方法),客户端创建连接(connect方法)。 TCP三次握手建立连接 客户端服务器端收发数据(send方法、recv方法),读写数据(read方法、write方法)。 TCP四次挥手关闭连接 关闭socket(close方法) Socket编程主要大的步骤 创建套接字(socket方法) 客户端建立连接(connect方法),服务器端绑定端口(bind),建立监听(listen方法) 写入数据(write方法),发送数据(send方法),接收数据(recv方法)读取数据(read方法) 关闭连接(close方法) socket常见读写错误 EAGAIN的错误:一般是对非阻塞端口读写产生的错误。 EINTR:errno=4,错误描述Interrupted system call,操作也应该继续。 ECONNABORTED,错误描述software caused connection abort,即“软件引起的连接中止 ECONNRESET 不在TCP_SYN_SENT状态收到的rst,connection reset by peer,即“对方复位连接”,这种情况一般发生在服务进程较客户进程提前终止。 EPIPE ,错误被描述为“broken pipe”,即“管道破裂”,这种情况一般发生在客户进程不理会(或未及时处理)Socket 错误 ECONNREFUSED在TCP_SYN_SENT状态收到的rst,一般说明对方没有对应的监听服务。 ETIMEDOUT,错误被描述为“connect time out”,即“连接超时”,这种情况一般发生在服务器主机崩溃。 EHOSTTUNREACH ENETUNREACH,no route to host(软错)路由上引发了一个目的地不可达的ICMP错误 其中(1)(3),客户端会进行定时多次重试,一定次数后才返回错误。 DHCP原理 域名系统DNS FTP的两种模式 传输层 TCP三次握手和四次挥手的图 三次握手 四次挥手 第三次握手可以发送数据了吗 不能,需要三次握手成功之后才开始发送数据 TCP连接唯一性如何保证 对TCP而言在三次握手时的SYN标志会使用上一个ISN值,这个值是使用32位计数器,内由0-4294967295,每一次连接容都会分配到一个ISN值,连接双方对这个值会记录共识,假如这个值不一,就说明了这个连接已超时或无效甚至是被人恶意攻击冒充连接。 为什么要有TIME_WAIT 我是服务端你是TIME_WAIT客户端,我给你发了一段数据,我的seq是100,你应该回我ack多少(假设已经建立了三次握手,现在给你发了一段数据) 建立连接:Ack号 = Seq号 + 1 传输数据:Ack号 = Seq号 + 传递的字节数 + 1 TCP和UDP的区别 答: 连接:UDP是无连接的,发送数据之前无需建立连接,发送数据结束后也无需释放连接。TCP是面向连接的,在发送数据之前需要通过三次握手建立连接,发送数据结束后需要通过四次挥手释放连接。 交付:UDP使用尽最大努力交付,即不保证可靠交付,主机不需要维持复杂的连接状态表。TCP提供可靠交付,即通过TCP连接传送的数据,无差错、不丢失、不重复,并且按序到达。 数据:UDP是面向报文的,UDP对于应用层交下来的报文,添加首部后就向下交给IP层,既不合并,也不拆分,一次交付一个完整的报文。TCP是面向字节流的,虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据看出成一连串无结构的字节流。TCP不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小关系。 通信双方:UDP支持一对一、一对多、多对一、多对多的交互通信。TCP连接是点对点(一对一),每一条TCP连接只能有两个端点。 拥塞:UDP没有拥塞控制,网络的拥塞不会使源主机的发送速率降低。TCP通过慢开始、拥塞避免、快重传、快恢复等算法进行拥塞控制。 首部:UDP首开销小,只有8个字节。TCP首部是20个字节。 TCP可靠连接的实现 答: 滑动窗口 选择确认 超时重传 TCP的流量控制 TCP拥塞控制的方法 慢开始 拥塞避免 快重传 快恢复 TCP三次握手和四次挥手时客户端和服务端的状态 答:参考上面两个图 常见端口和对应服务 答: 网络层 子网的划分 答: 交换机和路由器的区别 答: 工作层次:交换机主要工作在数据链路层,路由器主要工作在网络层 转发依据:交换机转发依据的对象是MAC地址,路由器转发依据的对象是IP地址 功能:交换机功能较简单,只是将主机连接起来组件局域网,路由器可以将局域网连接起来,还能分割广播域,还能提供防火墙 如果不想要一个ip,如何释放,如何重新获取一个ip 子网掩码的最大长度 30位,子网掩码将某个IP地址划分成网络地址和主机地址两部分,在一个网段中,有2个地址是被固定占用的,一个是网段地址,一个是网段内广播地址,其他是主机可用的地址,至少一个,不然就没有意义了。也就是说,被掩码所分的网段至少要包含3个地址。 MAC表、路由表、ARP表的字段 答: MAC表 路由表 ARP表 ARP协议的作用 答:将IP地址转换为物理地址 ARP协议的工作原理 首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。 当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP地址。 当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。 源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。 广播发送ARP请求,单播发送ARP响应。 IPV6地址的基本类型 单播(unicast):单播就是传统的点对点通信。 多播(multicast):多播是一点对多点的通信,数据报发送到一组计算机中的每一个。IPV6没有广播的术语,而是将广播看作多播的一个特例。 任播(anycast):这是IPV6增加的一种类型。任播的终点是一组计算机,但是数据包只交付给其中一个,通常是距离最近的一个。 IPV6的首部 路由选择协议 内部网关协议RIP(Routing Information Protocol):RIP是一种分布式的基于距离向量的路由选择协议。 内部网关协议OPSF(Open Shortest Path First):OSPF是使用分布式的链路状态协议。 外部网关协议BGP(Border Gateway Protocol):边界网关协议。 IO多路复用 select epoll epoll和select的区别
点赞 89
评论 25
计算机网络面经
全部评论
推荐
最新
楼层
还没有回复哦~
相关推荐
11-18 11:40
南京农业大学 市场
聊聊入职海康一周体验
刚入职的时候,真是有点水逆。这里对信息安全特别重视,上网都得申请权限,搞得我花了两天时间才把软件装好。不过,作息还算规律。上班时间是9:00到17:30,中间有两个小时的午休,能出园区透透气。我目前是到点就下班,听说正式员工一般晚上7、8点才走。关于休息日,大小周或者双休看部门,但实习生是双休,挺不错的。配套设施也很全,食堂的饭菜味道还不错,跟大学食堂差不多,价格也不贵。每栋楼都有健身房,不过人多得很;楼下还有瑞星和711,挺方便的。办公用品自助柜也很贴心,用工卡就能取。待遇方面还行,外地的同学可以选择租房补贴或者公司宿舍,减轻了不少经济压力。
海康威视工作强度 82人发布
点赞
评论
收藏
分享
昨天 15:45
哈尔滨理工大学 C++
投机取巧
自从看了竞赛的学长投机取巧做题,每天只想着怎么才能少输两行代码。过滤多余的空格。一篇文章中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。#include <iostream>#include<string>using namespace std;int main() { string s; while(cin>>s) cout<<s<<" ";}
点赞
评论
收藏
分享
11-15 19:28
已编辑
蚌埠坦克学院 硬件开发
新凯来不愧是华为的外包
经典典中典笑死我了怎么能这么好笑
999大成功:
他也太搞笑了吧
点赞
评论
收藏
分享
10-30 17:07
University of California Riverside UE4
某些HR能不能有点职业素养
朋友圈挂人骂人巨婴😅😅
我已成为0offer的糕手:
别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞
评论
收藏
分享
11-20 09:10
电子科技大学 前端工程师
腾讯校招新人入职体验
工作节奏上,入职一个半月后,事情开始多了起来。从最开始负责的小项目,到现在独立开发整个项目。工作时间大概是上午10点到12点,下午2点到5点半或者6点,大家都不想太卷,也不想太水。工作内容主要是坐在工位上写代码,需求大部分来自我的mentor。现在我在做一些提效工具,慢慢也开始参与到对外的业务中。工作压力嘛,基本上没有,部门氛围很轻松,没什么营收压力,项目也不急着上线。最近参加了不少公司活动,比如公益节、司庆活动等等,还是蛮有意思的,大家一起玩,氛围还可以
腾讯成长空间 449人发布
点赞
评论
收藏
分享
点赞成功,聊一聊 >
4
收藏
评论
分享
回复帖子
提到的真题
返回内容
招聘动态
查看更多
字节跳动
2025校园招聘
快手Star
2025届招聘
快手
销售类投递专区
全站热榜
1
...
双非本科四年的总结
1.6W
2
...
sagima的阎良出差日记
1.3W
3
...
给正在秋招中枯燥的大家找个乐子听听吧,不被理解真的心寒
1.1W
4
...
简历这样写真的很难挂
9302
5
...
请大家警惕“总包”骗局!
5931
6
...
大哥爆发了?
3916
7
...
秋招可以暂告一个段落啦
3704
8
...
忙完了工作,又要毕业论文……
3528
9
...
领导让我以后别叫他哥
3368
10
...
有奖征集|我想知道,你在秋招中最难忘的一个瞬间
3185
正在热议
#
25届秋招总结
#
279764次浏览
2424人参与
#
如果实习可以转正,你会不会放弃秋招
#
206143次浏览
2807人参与
#
北方华创开奖
#
24592次浏览
263人参与
#
地方国企笔面经互助
#
3282次浏览
7人参与
#
学历or实习经历,哪个更重要
#
47536次浏览
368人参与
#
选完offer后,你后悔学本专业吗
#
16782次浏览
120人参与
#
如何一边实习一边秋招
#
989304次浏览
12623人参与
#
软开人,秋招你打算投哪些公司呢
#
41695次浏览
534人参与
#
数据人的面试交流地
#
436432次浏览
7812人参与
#
0offer是寒冬太冷还是我太菜
#
893151次浏览
7966人参与
#
得物求职进展汇总
#
64949次浏览
674人参与
#
求职遇到的搞笑事件
#
69043次浏览
571人参与
#
你觉得专业和学校哪个对薪资影响最大
#
28970次浏览
215人参与
#
查收我的offer竞争力报告
#
21335次浏览
263人参与
#
你最想要的公司福利是?
#
43543次浏览
161人参与
#
没有实习经历,还有机会进大厂吗
#
809146次浏览
13886人参与
#
来聊聊机械薪资天花板是哪家
#
67533次浏览
460人参与
#
当你面对裁员会如何?
#
26538次浏览
156人参与
#
一觉醒来,我觉醒了超级打工人系统
#
3657次浏览
38人参与
#
应届生被毁约被毁意向了怎么办
#
28863次浏览
247人参与
#
面试体验感最好的是哪家?
#
84217次浏览
822人参与
牛客网
牛客企业服务