华为二面凉凉
今年疫情年,小编在金三银四的时候期间有一段时间是准备去面试一下华为(当时已有Offer想增加一点面试经验),当时觉得自己其他技术栈已经准备的差不多了,听说华为比较注重网络方面,有一段时间是恶补了一下网络方面的知识。果不其然一面就问了许多网络方面的知识与一些其他Java基础知识,一面也就轻松的过了。当时就觉得二面应该也不会太怎么样,就草率的准备了一下就去面试了。一去人家根本没问我技术框架上的内容,一直围绕我的项目讨论,让我手绘我的项目交互图,相关表设计,用到的算法,当时是怎么考虑的,主要还是高可用,高性能方面问的比较多。给我整懵了,然后二面凉凉......
事情已经过去几个月了,现在已经到了金九银十了,大多数人都会觉得网络方面与我们Java程序员无关,了解一点点就行了。其实这是错误的,在此之前我面试的每一家公司基本上或多或少都会问到一些网络方面的问题,虽然平时工作不会直接用到,但是我们做开发的就是这么苦逼,啥都需要懂一点,多数人的短板就是我们与别人拉开差距的地方。想要往更高的方向发展就要让大多数人的短板不成为你的短板,比如计算机基础,数据结构与算法,OS,网络等......下面这13问就是我在前些时间面试被问到过的一些网络方面的面试真题。大家可以大概看一下自己能答出几问来,也可以查漏补缺一下~
网络方面面试真题
- GET和POST的区别
- dns使用的协议
- Cookies和session区别
- TCP粘包和拆包产生的原因
- TCP粘包和拆包的解决策略
- 三次握手
- 四次挥手
- 一次完整的HTTP请求过程
- 讲一下长连接
- TCP如何保证可靠传输?
- URI和URL的区别
- HTTPS和HTTP的区别
- https是如何保证数据传输的安全
看到这13连问是不是有点懵逼,起初我在网上看一些面经时看到网络这一块也是一脸懵逼,但之前疫情被关在家也是花了一段时间去了解了一下网络方面,虽然算不上大牛,但也算是入门了。期间一直参考的两份文档就是协议族跟一份图解服务端网络架构(这份文档写的挺好的,不过我想往网络方面再深入)也就没深入研究。下面我把两份文档一些内容展示出来供大家参考,希望能对大家有些许帮助,总结的不好大佬们也可以评论区指正。
第一份文档
这份文档分为七个部分。
第一部分(引言和底层技术)
介绍了一些网络基本概念和基础技术。虽然这部分内容不包含在TCP/IP协议中,但 TCP/IP协议需要它们的支持。
- 第1章 引言
- 第2章 OSI模型和TCP/IP协议族
- 第3章 底层技术
- 第4章 网络层简介
第二部分(网络层)
讨论了IPv4编址技术、IPv4协议、所有IPv4协议的辅助协议以及单播和多播路由选择协议。
- 第4章 网络层简介
- 第5章IPv4地址
- 第6章IP分组的交付和转发
- 第7章网际协议版本4 (IPv4)
- 第8章地址解析协议 (ARP)
- 第9章网际控制报文协议(ICMP)
- 第10章移动IP
- 第11章单播路由选择协议(RIP、OSPF和BGP)
- 第12章多播和多播路由选择协议
第三部分(运输层)
介绍了运输层的总体概念),然后全面讨论了三个运输层协议:UDP、TCP和SCTP
- 第13章运输层简介
- 第14章用户数据报协议 (UDP)
- 第15章传输控制协议(TCP)
- 第16章 流控制传输协议 (SCTP)
第四部分(应用层)
介绍了应用层的总体概念,包括客户/服务器模式的编程,然后全面讨论了七个应用层协议。专门介绍因特网上的多媒体技术。
- 第17章应用层简介
- 第18章主机配置: DHCP
- 第19章域名系统(DNS)
- 第20章远程登录: TELNET 与SSH
- 第21章文件传送: FTP 和TFTP
- 第22章万维网和HTTP
- 第23章电子邮件: SMTP、POP、IMAP和MIME
- 第24章网络管理 (SNMP)
- 第25章多媒体
第五部分(新一代)
介绍了新一代的I协议、IPv6编址技术、IPv6协议和ICMPv6。
- 第26章IPv6编址
- 第27章IPv6 协议
- 第28章ICMPv6
第六部分(安全性)
讨论了一些不可回避的话题,如加密技术和网络安全以及因特网安全。
- 第29章加密术和网络安全 .
- 第30章因特网安全
这份文档大概就这样展示出来了,当初我在上大学的时候看的是它的第二版,现在它已经更新到第四版了,需要的老哥帮忙转发关注我一下私信【666】即可获取~下面来看第二份文档
第二份文档
这份文档分为6个部分
用467张图表彻底讲透基础技术和设计要点,将网络和服务器的首次完美结合,从实际架构经验出发,为你讲述最接地气的技术。(虽然是那啥人写的书,不过知识不分国界)
目录一览
写在前面
- 网络架构的流程
物理设计
- 物理层的技术
- 物理设计
逻辑设计
- 数据链路层的技术
- 网络层的技术
- 逻辑设计
数据安全设计和负载均衡设计
- 传输层的技术
- 从会话层到应用层的技术
- 数据安全设计与负载均衡设计
高可用性设计
- 冗余技术
- 高可用性设计
管理设计
- 管理技术
- 管理设计
在网络世界里,无论出现怎样的新技术,基础部分都不会有太大的变化,正所谓万变不离其宗,只要掌握好基础部分,那么无论上层运行的是什么技术和设备,我们都能够沉着应对,决不会乱了阵脚。这两份文档就能作为一份好的工作手册,助你学习提升(Java程序员虽然不需要吃透,但多少需要了解一下这方面的知识,技多不压身)。总不能CRUD好些年之后,再去送外卖吧(开个玩笑)
如果你对这两份文档感兴趣,帮忙关注我支持一下,然后评论加转发后即可免费获取