草庐IT

【亲测2022年】网络工程师被问最多的面试笔试题

薄荷学姐 2023-10-02 原文

嗨罗~大家好久不见,主要是薄荷呢主业还是比较繁忙的啦,之前发了一个面试题大家都很喜欢,非常感谢各位大佬对薄荷的喜爱,嘻嘻

然后呢~薄荷调研了身边的朋友和同事,发现我们之前去面试,写的面试题有很多共同的题!!!那么说明什么呢?说明什么呢......你们补充

春招也要马上来啦,大家赶紧码住这些面试题,薄荷先在这里祝小伙伴都找到心仪的工作!

出现过2次-3次的笔试题

介绍一下OSI七层模型,以及各层的作用?

OSI七层模型包括:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

1.应用层的主要作用是:提供一个人机交互的接口,为应用程序提供网络服务

2.表示层的主要功能是:对数据进行不同格式的加密和解密

3.会话层的主要功能是:建立和维护会话

4.传输层的主要功能是:建立维护管理端到端的连接,定义一种传输形式

5.网络层的主要功能是:对数据包进行IP寻址和路由探测

6.数据链路层的主要功能是:将数据包封装成帧,进行物理寻址和差错校验

7.物理层的主要功能是:将数据转化为比特流在传输介质上进行传输

OSI七层模型中每一层的协议数据单元分别是什么?

物理层的PDU是bit。数据链路层的PDU是帧。网络层的PDU是数据包。传输层分为两种,TCP的PDU称为段,UDP的PDU称为数据报。会话层及以上的高层次中,数据传送单位不再单独命名。

TCP三次握手过程,四次挥手过程?交互了哪些报文? TCP三次握手第一个报文?

三次握手

假设网络中两台主机AB之间建立TCP连接。主机A建立传输控制模块TCB,然后想B发送连接请求报文,报文段首部的同步位SYN=1,同时选择一个序列号seq=x。B收到请求后,如果同意建立连接,就向A发送确认报文段,此时确认号ack=x+1同时选择一个序列号seq=y。A收到B的确认后,还要想B发送确认,此时确认好ack=y+1,seq=x+1.这是连接便建立成功了。

四次挥手

当A的数据传送完后,就可以向其TCP发起连接释放了,此后停止再发送数据,主动关闭TCP连接。首先A向B发送一个FIN报文段,报文段首部FIN=1,序列号seq=u,B收到释放连接的报文段后即发出确认报文段,ack=u+1,seq=v。

当B的数据发送完毕后,其应用进程就通知TCP释放连接。B向A发送FIN报文,报文段首部FIN=1,ack=u+1(重复发送上一次已经发送过的确认号),seq=w(w为B最后发送报文段的序列号加1)A在接收到B的连接释放报文后,必须进行确认。A向B发送的确认报文段中报文首部ACK=1,ack=w+1,seq=u+1。

数据在进行二层和三层封装之前,主机需要了解哪些信息?

主机在封装数据包之前,必须要知道目的端IP地址。在封装数据帧之前,必须要知道去往目的网络的路由以及下一跳的MAC地址。

路由器选择最优路由的顺序是什么?

规则一、优选Preference高的路由(数值越小越优先),如果未能选择则进入规则二

规则二、如果路由具有相同的优先级则选择协议内部优先级高的路由,若未能抉择,则进入规则三

规则三、如果路由具有相同优先级,由属于同一协议,则优选Cost值低的路由,如果路由Cost值相同由条件则形成负载分担。

交换机工作原理是什么?

交换机收到一个数据帧,首先会查看它的源MAC,是否有对应的MAC条目,如果有的话则进行更新,查看入接口与表中接口是否相同,如果相同,则刷新计时器,如果不同就重新绑定接口。

如果MAC表中没有对应的MAC条目,则学习进自己的MAC地址表里。然后交换机会查看该数据帧的目的MAC,检查MAC地址表中是否有对应的目的MAC,如果没有对应的目的MAC或目的MAC为广播则进行泛洪转发,如果有对应的目的MAC,则查看转发接口,如果转发接口与入接口相同则将它丢弃,如果转发接口与入接口不同,则直接转发。

基本ACL和高级ACL有什么区别?

ACL分为三种基本类型、基本ACL、高级ACL、二层ACL。基本ACL的编号是2000-2999只能匹配源IP地址等信息,高级ACL的编号是3000-3999可以匹配源IP地址、目的IP地址、源端口、目的端口、协议等,二层ACL的编号是4000-4999,可以匹配源MAC地址、目的MAC地址,以太帧协议类型等。

NAT原理是什么?

将私有地址转换成的公有地址,使得内网能够和外网相互通信

哪种NAT转换允许服务器既能被内部访问又能被外部访问?

NAT服务器。NAT服务器可以实现外部网络访问内部网络。但是需要配置服务器私网IP地址和公网IP地址的相互映射。当路由器收到一个公网主机的请求后,根据报文的目的IP地址和端口号转换成相应的内网表格,转发报文到私网的服务器中。

NAPT有什么功能和特点?

多对一的地址转换。在转换过程中同时转换报文的地址和端口。

FTP的主动模式和被动模式有什么区别?

1、主动FTP:

命令连接:客户端 >1024端口 -> 服务器 21端口

数据连接:客户端 &gt;1024端口 <- 服务器 20端口

2、被动FTP:

命令连接:客户端 >1024端口 -&gt; 服务器 21端口

数据连接:客户端 &gt;1024端口 -&gt; 服务器 &gt;1024端口

划重点

OSPF邻接建立过程?(画图说明)

首先要知道OSPF路由器之间的关系:

关于OSPF路由器之间的关系有两个重要的概念,邻居关系和邻接关系。

考虑一种简单的拓扑,两台路由器直连。在双方互联接口上激活OSPF,路由器开始发送及侦听Hello报文。在通过Hello报文发现彼此后,这两台路由器便形成了邻居关系。

邻居关系的建立只是一个开始,后续会进行一系列的报文交互,例如前文提到的DD、LSR、LSU和LS ACK等。当两台路由器LSDB同步完成,并开始独立计算路由时,这两台路由器形成了邻接关系。

如图1:

如图2:

如图3:

如图4:

多选题

(多选)在建立OSPF邻居和邻接关系的过程中,稳定的状态是

A. Exstart

B. Two-way

C. Exchange

D. Full

(多选)以下哪种情况下路由器之间会建立邻接关系

A. 点到点链路上的两台路由器

B. 广播型网络中的DR和BDR

C. NBMA网络中的DRother和DRother

D. 广播型网络中的BDR和DRother

  • 对此次春招,你们有什么看法呢?欢迎评论区留言讨论

  • 最近整理了很多网工学习资料,需要可以直接+关注后“思”即可获取哦!

有关【亲测2022年】网络工程师被问最多的面试笔试题的更多相关文章

  1. ruby - 如何以所有可能的方式将字符串拆分为长度最多为 3 的连续子字符串? - 2

    我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123

  2. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  3. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  4. Hive SQL 五大经典面试题 - 2

    目录第1题连续问题分析:解法:第2题分组问题分析:解法:第3题间隔连续问题分析:解法:第4题打折日期交叉问题分析:解法:第5题同时在线问题分析:解法:第1题连续问题如下数据为蚂蚁森林中用户领取的减少碳排放量iddtlowcarbon10012021-12-1212310022021-12-124510012021-12-134310012021-12-134510012021-12-132310022021-12-144510012021-12-1423010022021-12-154510012021-12-1523.......找出连续3天及以上减少碳排放量在100以上的用户分析:遇到这类

  5. ruby - 最多 n 的组合 - 2

    给定一个数组a,什么是实现其组合直到第n的最佳方法?例如:a=%i[abc]n=2#Expected=>[[],[:a],[:b],[:c],[:a,b],[:b,:c],[:c,:a]] 最佳答案 做如下:a=%w[abc]n=30.upto(n).flat_map{|i|a.combination(i).to_a}#=>[[],["a"],["b"],["c"],["a","b"],#["a","c"],["b","c"],["a","b","c"]] 关于ruby-最多n的组合,我

  6. ruby - 检查网络文件是否存在,而不下载它? - 2

    是否可以在不实际下载文件的情况下检查文件是否存在?我有这么大的(~40mb)文件,例如:http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm这与ruby​​不严格相关,但如果发件人可以设置内容长度就好了。RestClient.get"http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",headers:{"Content-Length"=>100} 最佳答案

  7. ruby - 404 未找到,但可以从网络浏览器正常访问 - 2

    我在这方面尝试了很多URL,在我遇到这个特定的之前,它们似乎都很好:require'rubygems'require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.moxyst.com/fashion/men-clothing/underwear.html"))putsdoc这是结果:/Users/macbookair/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/open-uri.rb:353:in`open_http':404NotFound(OpenURI::HT

  8. arrays - Ruby 可枚举 - 查找最多 n 次匹配元素 - 2

    我有以下数组:arr=[1,3,2,5,2,4,2,2,4,4,2,2,4,2,1,5]我想要一个包含前三个奇数元素的数组。我知道我可以做到:arr.select(&:odd?).take(3)但我想避免遍历整个数组,而是在找到第三个匹配项后返回。我想出了以下解决方案,我相信它可以满足我的要求:my_arr.each_with_object([])do|el,memo|memo但是有没有更简单/惯用的方法来做到这一点? 最佳答案 使用lazyenumerator与Enumerable#lazy:arr.lazy.select(&:o

  9. 深度学习12. CNN经典网络 VGG16 - 2

    深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG

  10. 映宇宙2022年营收63亿元:同比下降三成,毛利率提升4.3个百分点 - 2

    3月26日,映宇宙(HK:03700,即“映客”)发布截至2022年12月31日的2022年度业绩财务报告。财报显示,映宇宙2022年的总营收为63.19亿元,较2021年同期的91.76亿元下降31.1%。2022年,映宇宙的经营亏损为4698.7万元,2021年同期则为净利润4.57亿元;期内亏损(净亏损)为1.68亿元,2021年同期的净利润为4.33亿元;非国际财务报告准则经调整净利润为3.88亿元,2021年同期为4.82亿元,同比下降19.6%。 映宇宙在财报中表示,收入减少主要是由于行业竞争加剧,该集团对旗下产品采取更为谨慎的运营策略以应对市场变化。不过,映宇宙的毛利率则有所提升

随机推荐