2021年10月份大厂网络工程师面试笔试题题推荐收藏

Posted 薄荷学姐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年10月份大厂网络工程师面试笔试题题推荐收藏相关的知识,希望对你有一定的参考价值。

目录

大家好,我是薄荷!临近毕业,正值春招风起云涌之际,薄荷其实也偷偷面试了几家实习公司,面试结果还算理想,但是还在纠结之中,(谁让本“成功人士”那么优秀,想要将本人纳入囊中的公司太多了,咳咳,谦虚)。

既然大家都是计算机专业即将就业的同道中人,薄荷也经历了几次的面试,对于面试题还是深有体会的,所以接下来,薄荷就和大家分享一下一些常见的面试题,希望各位网工小伙伴一起找到心仪的工作!

一、通信基础:

1.设计企业网络的基本架构是什么?

答:企业网络的基本架构由三个部分组成,分别是接入层、汇聚层和核心层。
1.接入层的主要设备是接入交换机,用于接入企业终端设备,如PC、AP、IP电话、服务器等

2.汇聚层的主要设备是路由器,用于将内网下层所有设备发送的流量汇聚,实现包括网关配置,VLAN接口配置,不同VLAN间的互通等工作。

3.核心层的主要设备是路由器或高性能的三层核心交换机等,用于快速转发汇聚层上传的数据,通过核心层的网关设备将数据转发至WAN广域网。

2.企业网络中部署千兆以太网时使用哪种传输介质?

答:常见的传输介质包括同轴电缆、双绞线、光纤等。它们在传输速率、传输距离线路的编码方式均有不同之处。因为业务流量巨大,所以企业网络中千兆以太网一般使用光纤作为传输介质。

3.什么是冲突域,什么是广播域?

答:冲突域是在同一个网络上两个比特同时进行传输则会产生冲突;在网络内部数据分组所产生与发生冲突的这样一个区域称为冲突域,所有的共享介质环境都是一个冲突域,在共享介质环境中一定类型的冲突域是正常行为。
广播域,广播域是一个逻辑上的计算机组,该组内的所有计算机都会收到同样的广播信息。

4.CSMA/CD的作用是什么?

答:CSMA/CD的全称是:载波监听多路访问/冲突检测方法。他的主要作用是在共享式物理介质上去检测和避免冲突的机制

总结:先听 后发 边发边听 冲突停止 随机再发
1)终端设备不停地检测共享线路的状态。如果线路空闲,则可以发送数据;如果线路不空闲,则一直等待。
2) 如果有另外一个设备同时发送数据,两个设备发送的数据必然产生冲突,导致线路上的信号混乱。
3) 终端设备检测到这种冲突之后,马上停止发送自己的数据。
4) 终端设备发送一连串干扰脉冲,然后等待一段时间之 后再进行数据发送。

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

答:OSI七层模型包括:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
1.应用层的主要作用是:提供一个人机交互的接口,为应用程序提供网络服务
2.表示层的主要功能是:对数据进行不同格式的加密和解密
3.会话层的主要功能是:建立和维护会话
4.传输层的主要功能是:建立维护管理端到端的连接,定义一种传输形式
5.网络层的主要功能是:对数据包进行IP寻址和路由探测
6.数据链路层的主要功能是:将数据包封装成帧,进行物理寻址和差错校验
7.物理层的主要功能是:将数据转化为比特流在传输介质上进行传输

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

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

7.帧头中的Type和length字段有什么意义(MTU的概念)?

答:数据帧主要分为两种格式、Ethernet_II和IEEE802.3。不同的Type字段值可以用来区别这两种帧的类型,当Type字段值小于等于1500时,帧使用的是IEEE 802.3格式。当Type字段值大于等于1536 时,帧使用的是Ethernet II格式。以太网中大多数的数据帧使用的是Ethernet II格式。

8.最小的帧长度是多少,为什么?

答:以太网数据帧的长度在64-1518字节之间。因为以太网数据帧的Data字段为可变字段,它的长度范围是46~1500字节之间,其他部分的长度固定为18字节。所以最小的帧长度为64字节。

9.IP包的分片功能原理是什么?

答:当网络中要传输的IP报文大小超过了最大传输单位(MTU)就会发生IP分片的情况。分片和重新组装相对于传输层是透明的,因为IP数据包分片之后只有当它到达下一站时才可重新组装。且它是由目的端的IP层来完成的。
IP分片和完整的IP报文具有差不多相同的IP头。报文中的Identification字段用来标识分片数据包再整个数据包中的位置。Flag字段用来标识是否是最后一个数据包。fragment字段分片重组时会用到该字段。表示较长的分组在分片后,某片在原分组中的相对位置。

10.网络层设备如何确定以太网上层协议?

答:通过数据帧中的TYPE字段来确定上层协议 如果是0X0800则IP协议、如果是0X0806则ARP协议、如果是0x86dd则是IPv6协议

11.终端设备收到数据帧会如何处理?

答:①如果数据帧中的目的MAC地址是的广播地址或侦听组播地址,则接收,进一步处理;
②如果数据帧中的目的MAC地址不是广播也不侦听的组播地址,同时又不是自己的MAC地址,则丢弃;
③如果数据帧中的目的MAC地址是自己的MAC地址,则接收,并利用帧尾的FCS字段进行校验,数据帧是完整的则交由上一层协议,如果不完整则进行其他处理方式

12.IP报文头部中TTL字段的作用是什么? 如果收到TTL为1报文的如何处理?是否会收到TTL为0的报文?

答:如果网络中存在环路,则IP报文可能会在网络中循环而无法到达目的端。TTL字段限定了IP报文的生存时间,保证无法到达目的端的报文最终被丢弃。报文每经过一台设备TTL值减1,收到TTL值为1的数据时会将该IP包TTL值减1后丢弃

13.TCP和UDP有什么区别,应用场景?

答:1.TCP是面向连接的、可靠的传输协议,适用于对安全性和稳定性要求高的数据传输。
2.UDP是面向无连接的,不可靠的传输协议。适用于网络负担重、对传输时延要求低的数据传输。

14.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。

15.TCP的可靠性怎么体现?

答:TCP主要通过以下几种机制来确保传输的可靠性。
1.校验和,校验和需一致才能传输成功。
2.确认应答和序列号。TCP传输的过程中,每次接收到数据后需要对传输方进行确认应答。TCP对传输过程中的每个数据都进行了编号,确保了传输的可靠性。
3.超时重传:当报文发出后在一定的时间内未收到接收方的确认,发送方就会进行重传
4.连接管理:通过三次握手和四次挥手来确保连接的可靠性。
5.流量控制:TCP支持根据接收端的处理能力,来决定发送端的发送速度
6.拥塞控制:TCP引入慢启动机制,先发出少量数据,就像探路一样,先摸清当前的网络拥堵状态后,再决定按照多大的速度传送数据。

16.TCP划窗机制?流量控制?

答:TCP支持根据接收端的处理能力,来决定发送端的发送速度,这个机制叫做流量控制。在TCP报文段首部中有一个16位窗口长度,当接收端接收到发送方的数据后,在应答报文ACK中就将自身缓冲区的剩余大小,放入16窗口大小中。

这个大小随数据传输情况而变,窗口越大,网络吞吐量越高,而一旦接收方发现自身的缓冲区快满了,就将窗口设置为更小的值通知发送方。如果缓冲区满,就将窗口置为0,发送方收到后就不再发送数据,但是需要定期发送一个窗口探测数据段,使接收端把窗口大小告诉发送端。

17.TCP头部中的确认标识位有什么作用?

答:对收到的报文进行确认应答,确保报文已经收到。

18.TCP头部中有哪些标识位参与TCP三次握手?

答:SYN、ACK、FIN

19.常见TCP、UDP端口号有哪些?

答:TCP
BGP:179、ftp 20(数据)21(控制) HTTP80 SSH22
UDP
RIP:520 RIPng:521 DHCP:67(服务器)68(客户端) BFD 3784

20.Arp的工作原理是什么?

答:1.每个主机都会在主机的ARP缓冲区建立一个ARP表

2.当有主机新加入网络,会发送免费ARP报文将主机的IP地址与MAC地址映射关系广播给其他主机

3.网络中的主机接收到免费ARP报文会更新自己的缓冲区,将新的映射关系更新到自己的ARP表中

4.主机需要发送报文,首先检查自己的ARP表是否有对应的IP地址的目的主机MAC地址,有:直接发送数据,没有:向本网段的所有主机发送ARP数据包

5.本网络的所有主机接收到ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,不是:忽略该数据包;是,首先从数据包取出源IP和MAC地址,写入ARP表中,如果已经存在则覆盖,然后将自己的MAC地址写入ARP响应包,告诉源主机自己就是他要寻找的MAC地址

6.源主机收到ARP响应包后,将目的主机的IP地址和MAC地址写入ARP列表中,并利用此信息发送数据,如果源主机一直没收到,则ARP查询失败

21.Arp报头里面有哪些字段,arp请求报头里面的字段有什么特点?

22.什么是arp代理,什么情况下会产生?

答:ARP代理就是通过使用一个主机(通常为router),来作为指定的设备对另一设备作出ARP请求的应答。ARP代理一般发生在网络中不配置网关的情况。

23.什么是免费arp(无故arp)? 网络设备什么时候会产生免费ARP?免费ARP报文字段有什么特点?

24.网络设备在什么情况下会发送ARP Request?

25.什么是ICMP协议,ICMP重定向的原理是什么?

26.Tracert的原理是什么? traceroute(Linux的命令)?

27.Ping使用的是哪两类ICMP消息?

28.当网络设备收到TTL值为0的IP报文时,会如何操作?

二、通信过程

29.子网掩码的作用是什么?

30.网关的作用是什么?

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

32.当数据帧发送到非目的主机时,非目的主机将会如何处理?

33.传输层如何能够准确的将数据交给特定应用?

34.当两台主机同时访问服务器的HTTP服务,该服务器如何区分数据属于哪个会话?

详细内容太多啦~答案可私我

三、路由部分

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

36.路由加表原则?

37.Preference字段在路由表中代表什么含义?

38.路由条目以出接口配置和下一跳配置有什么区别?

39.用静态路由如何实现两条链路的主备效果?

40.介绍一下RIP协议?

41.RIPv1和RIPv2有什么不同?

42.RIP防环机制有哪些?原理?

43.RIP的路由跳数是在什么时候增加的?

44.介绍一下OSPF?

45.对比OSPF与ISIS这两种动态路由协议?

46.OSPF有哪些报文?分别有什么用?(后续的OSPF专题进行更新)

47.OSPF邻接建立过程?(画图说明,后续OSPF专题进行更新)

48.选举DR/BDR的好处?

49.DR/BDR的选举规则?

50.ospf划分区域有什么好处?

详细内容太多啦~答案可私我

四、交换技术

51.交换机工作原理是什么?

55.二层冗余环境会引发什么问题?

53.生成树STP工作原理是什么?

54.什么是vlan,vlan的划分方式有哪些?

详细内容太多啦~答案可私我

五、流量控制、地址转换

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

56.前缀列表的过滤规则是什么?前缀列表和ACL有什么不同?

57.NAT原理是什么?

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

59.NAPT有什么功能和特点?

详细内容太多啦~答案可私我

六、网络管理技术

60.DHCP的工作原理是什么?

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

总结

如果基本能回答出来面试成功的几率将会大大增加,不过对面试者而言,想要稳操胜券,不仅仅要掌握这些常见的技术,还有几个常见的温馨提示!

1、面试前要基本了解我们所要面试的公司,这可是面试官见证你决心的关键!
2、确定好面试的岗位,根据能力和性格找到最贴合自己的岗位
3、注重理论和实践的提升,公司需要的是能给团体带来利益的人,有能力者才会被优先选择
4、保持良好的作息和整齐的形象,面试时切勿紧张,也不要给人邋里邋遢的感官

2019 美团面试笔试题 (含面试题解析)

本人3年开发经验、18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴、今日头条、滴滴等公司offer,岗位是Java后端开发,最终选择去了阿里巴巴。

面试了很多家公司,感觉大部分公司考察的点都差不多,所以将自己的心得记下来,希望能给正在找或者准备找工作的朋友提供一点帮助。另外,目前在阿里也做面试官的工作,身份从求职者变为面试官,看问题的很多角度也不一样,所以下文中既有求职者的视角,也有面试官的视角

面试流程

??先说下面试流程,一般大公司都有3-4轮技术面,1轮的HR面。就阿里而言,我共经历了4轮技术面,前两轮主要是问基础和项目实现,第3轮是交叉面,两个面试官,主要是问项目实现和拓展。第4轮是部门老大面,主要就问一些架构、技术和业务的理解、个人发展比较抽象的东西了。

要注意的点

  • 简历一到两页为最佳,将项目经历写2-3个左右就差不多了,一定要写最有亮点的项目
  • 工作经历的起始时间要写清楚,另外大公司都有背调,不要合并或省略一些比较短的工作经历,影响的可能不只是这次面试,而是之后可能都无法进这家公司
  • 博客没什么好文章,github没好项目就不要写在简历中了
  • 对于面试官的问题,想清楚再回答,如果觉得需要的时间可能比较长,可以跟面试官说我思考下、我整理下思路之类的

  • 面试的过程中注意语速和吐字,本人在做面试官后,发现很多人说话语速很快,或吐字不清,导致原本会的问题也会让面试官觉得你没答到点上(尤其是电话面)

  • 面试完后不要直接问面试结果

技术考察

总的来说,技术相关的考察主要分为两大块,一是基础,二是经验。

基础包括java基础、数据库、中间件等,来自于日常的积累和面试前的准备。

经验包括以往做过的项目、解决的问题、以及一些场景题(比如你的项目如果流量大了十倍如何保证可用)。

??本文主要说一些大概的问题,整体的进阶的技术点比较多,下面放了下链接,如果失效就可以进群获取,有些是我自己总结的,有些是收(抄)集(袭)了别人的。

集合

  • 集合分为两大块:java.util包下的非线程安全集合和java.util.concurrent下的线程安全集合。

List

  • ArrayList与LinkedList的实现和区别

Map

  • HashMap:了解其数据结构、hash冲突如何解决(链表和红黑树)、扩容时机、扩容时避免rehash的优化

  • LinkedHashMap:了解基本原理、哪两种有序、如何用它实现LRU

  • TreeMap:了解数据结构、了解其key对象为什么必须要实现Compare接口、如何用它实现一致性哈希

Set

  • Set基本上都是由对应的map实现,简单看看就好

常见问题

  • hashmap如何解决hash冲突,为什么hashmap中的链表需要转成红黑树?
  • hashmap什么时候会触发扩容?
  • jdk1.8之前并发操作hashmap时为什么会有死循环的问题?
  • hashmap扩容时每个entry需要再计算一次hash吗?
  • hashmap的数组长度为什么要保证是2的幂?
  • 如何用LinkedHashMap实现LRU?
  • 如何用TreeMap实现一致性hash?

中间件、存储、以及其他框架

Spring

  • bean的生命周期、循环依赖问题、spring cloud(如项目中有用过)、AOP的实现、spring事务传播

常见问题

  • java动态代理和cglib动态代理的区别(经常结合spring一起问所以就放这里了)
  • spring中bean的生命周期是怎样的?
  • 属性注入和构造器注入哪种会有循环依赖的问题?
Dubbo(或其他Rpc框架)

了解一个常用RPC框架如Dubbo的实现:服务发现、路由、异步调用、限流降级、失败重试

常见问题

  • Dubbo如何做负载均衡?
  • Dubbo如何做限流降级?
  • Dubbo如何优雅的下线服务?
  • Dubbo如何实现异步调用的?

RocketMq(或其他消息中间件)

  • 了解一个常用消息中间件如RocketMq的实现:如何保证高可用和高吞吐、消息顺序、重复消费、事务消息、延迟消息、死信队列

常见问题

  • RocketMq如何保证高可用的?
  • RocketMq如何保证高吞吐的?
  • RocketMq的消息是有序的吗?
  • RocketMq的消息局部顺序是如何保证的?
  • RocketMq事务消息的实现机制?
  • RocketMq会有重复消费的问题吗?如何解决?
  • RocketMq支持什么级别的延迟消息?如何实现的?
  • RocketMq是推模型还是拉模型?
  • Consumer的负载均衡是怎么样的?

Redis(或其他缓存系统)

  • redis工作模型、redis持久化、redis过期淘汰机制、redis分布式集群的常见形式、分布式锁、缓存击穿、缓存雪崩、缓存一致性问题

常见问题

  • redis性能为什么高?
  • 单线程的redis如何利用多核cpu机器?
  • redis的缓存淘汰策略?
  • redis如何持久化数据?
  • redis有哪几种数据结构?
  • redis集群有哪几种形式?
  • 有海量key和value都比较小的数据,在redis中如何存储才更省内存?
  • 如何保证redis和DB中的数据一致性?
  • 如何解决缓存穿透和缓存雪崩?
  • 如何用redis实现分布式锁?
  • Mysql
  • 事务隔离级别、锁、索引的数据结构、聚簇索引和非聚簇索引、最左匹配原则、查询优化(explain等命令)
  • 推荐文章:
    -- http://hedengcheng.com/?p=771
    -- https://tech.meituan.com/2014/06/30/mysql-index.html
    -- http://hbasefly.com/2017/08/19/mysql-transaction/

常见问题

  • Mysql(innondb 下同) 有哪几种事务隔离级别?
  • 不同事务隔离级别分别会加哪些锁?
  • mysql的行锁、表锁、间隙锁、意向锁分别是做什么的?
  • 说说什么是最左匹配?
  • 如何优化慢查询?
  • mysql索引为什么用的是b+ tree而不是b tree、红黑树
  • 分库分表如何选择分表键
  • 分库分表的情况下,查询时一般是如何做排序的?

zk

  • zk大致原理(可以了解下原理相近的Raft算法)、zk实现分布式锁、zk做集群master选举

常见问题

  • 如何用zk实现分布式锁,与redis分布式锁有和优缺点

以上是关于2021年10月份大厂网络工程师面试笔试题题推荐收藏的主要内容,如果未能解决你的问题,请参考以下文章

java面试笔试题逻辑题,大厂面试题汇总

java培训机构排名前十,持续更新大厂面试笔试题

2021年最新PHP 面试笔试题汇总

从零开始系统化学Java,持续更新大厂面试笔试题

2019 美团面试笔试题 (含面试题解析)

2019 开创java面试笔试题 (含面试题解析)