更新-网络篇-后端/测试/运维-秋招八股文提高篇

在基础问题的提升,涉及了几组问题。
已经第三天更新,慢慢更新。
更新科大讯飞一面web服务器-带解答
科大讯飞一面web服务器-带解答

是的,本文暂时只有网络篇。

八股文plus

1.

1.1 restful的用法是怎样的,说下get 和post的区别和常见场景。
1.2 现在restful你感觉有什么缺点,有些公司只使用post,不使用常规的rest模式,只使用http协议作为api调用方式,这是为什么?
1.3 听说过graphQL吗?有相关的尝试吗?
1.4 了解RPC协议吗,说说看,为什么不直接使用HTTPS协议呢?用WebSocket不行吗?
1.5 gRPC的特点有哪些,为什么会这样设计(解决了什么问题)

2.

  • 现在主流的web协议都是HTTPS了,少数环境还会用HTTP,那么HTTP目前的哪些使用场景仍在使用?
  • HTTPS目前的TLS版本是哪些?
  • 我们知道现在已经有40%的站点开启了HTTP/2,那么HTTP/2为什么比HTTP版本要好?(或者问HTTP/2的优势在哪里?)
  • HTTP/2的队头阻塞听说过没有,说说看。
  • QUIC协议听说过吗?说说看
  • 计算机网络的拥塞控制和流量控制的区别
  • 在丢包率较高的情况下,我们使用了BBR协议,说说他的特点,相比传统的协议最大的改进在哪里。
  • 在游戏,语音和部分媒体流(视频流/直播)环境下,KCP得到的广泛的应用,说说他的特点(这里可能不说kcp,但是会问FEC前项纠错,快速重传,RTO和ACK)
  • HTTP/2和HTTP/3的区别
    • 我们知道Chrome内核的浏览器占有了80%的浏览器份额,那么其推进的HTTP/3已经默认支持了,目前占有率6%,那么HTTP/3相比HTTP/2有哪些改进呢?可以多说几条,毕竟变化比较大。(HTTP/3解决了什么问题)
  • TCP和UDP的区别
    • 为什么改用UDP,用传统的TCP遇到了哪些困难?(这里涉及到TCP的快速重传,目前TCP的快速重传是失败了的。windows目前都没有使用,这里重点说TCP变更困难,涉及操作系统和内核)
  • HTTP/3的0RTT是怎么实现的?

3.

  • 说个简单点的,TCP的三次握手和四次挥手说一下
    • 为什么不用二次握手和三次挥手呢(全双工)
    • TCP的2MSL为什么这样设计
    • eBPF了解吗?现在很火的。

4.

输入URL到显示网页发生了什么?

  • 是的刚才说到了DNS,Chrome的DNS是怎么调用的?调用的DNS服务器采用了哪些技术(AnyCast,LB,分布式,刷新),DNS的基本原理是什么?
  • 目前还有什么其他的调用DNS的方式吗?例如DOH。(这个就是考察各位是否真的用过,一般使用真实的DNS会接触上面的问题)
    • DNS投毒攻击我们开发时候可以考虑用什么方式应对?
  • 说说你对CDN的理解。
  • CDN常见的操作有哪些。(这里挺多公司要你操作CDN的)
    • 阿里云/AWS/Azure/Cloudflare用过吗?说说edge serverless的用途。

5.

  • 说说常见的网络攻击方式(DDos和CC(Flood,ACK,SYN,UDP)

    • 说说常见的渗透方式(XSS,CSRF,SQL注入),WAF***就是防止这个的。
  • 如何解决

  • 常见的对称加密算法有哪些,非对称加密呢?(这是基础哟)

  • 欧欧,HTTPS的加密流程能说出多少?(证书是干甚的,)(先非对称握手,再转对称)

6.

虽然不想问,但是确实是目前在用的。

  • 说说你对ipv6的了解吧。
  • 因为现在工信部要求对ipv6的升级改造,所以很多app都是支持ipv6的。部分网站也是支持了,也有些大型web网站不支持。
    • 传统的TCP/IP协议用的是MAC加上ARP,为此带来了很多网络攻击方式,所以在目前以ipv6联网的情况下,通过了什么样的方式解决了这一问题?(NDP邻居协议)
    • ipv6的地址生成是如何生成的?
    • ipv6回退到ipv4的流程。
    • ipv6的dhcpv6协议和SLAAC协议。
    • ipv6使得传统的扫ip段ip端口的方式成为了过去式,但是现在还有没有扫ip的方式去扫ipv6呢?(非重点,一般不问)

7.cookies和session的区别

  • 没有cookies可以吗?因为国外有些数字法案规定了用户可以拒绝使用cookies,那么禁用cookies再使用session的话如何使用。

8,说说零信任网络,这个概念已经快10年,目前有很多公司在开发相关项目。
这个只有部分业界公司会问,仅供参考。


题目解答

3.1.1 restful的用法是怎样的,说下get 和post的区别和常见场景。

  • RESTFUL 是一种API的表现风格,REST中文是表征状态转移,就是将增删改查动作转换为GET,POST,PUT,DELETE请求,同时将需要操作的对象转换到一个URL上。
  • 区别和场景参见 网络篇,这里不做赘述。

3.1.2 现在restful你感觉有什么优缺点,有些公司只使用post,不使用常规的rest模式,只使用http协议作为api调用方式,这是为什么?

rest模式使得用户调用API,了解API上更加方便,易于通过swagger等文档生成工具自动生成文档,通过约定的方式降低用户的使用成本。

但是约定接口的方式会带来可猜测和攻击面范围的扩大,使得安全机制较差。同时在复杂环境下,HTTP的动词较少,不太适合映射。此外,在一些需要会话保持的情况下,HTTP不太适合,然而大多数的REST都是用的HTTP。

一般公司内部的环境或者部分对外API会只使用post,将操作动词写入json中,后端解析相关json,这样可以规避黑客探测,同时post在整个过程中不会有太多的痕迹,因为记录requestBody的功能比较少。例如日志一般不记录。同时post没有长度限制,可以传递一些图片而无需使用文件服务器。等等。

3.1.3 听说过graphQL吗?有相关的尝试吗?

这个一般只有在简历中写到量使用或者了解才会问,因为目前graphQL只在部分环境下使用。

一种是前端需要更多的数据库权限,而且开发速度有要求,这样直接把操作数据库的权限放到前端。

前端需要更多时间调整代码,并注意查询和操作数据库的可用性。

3.1.4 了解RPC协议吗,说说看,为什么不直接使用HTTPS协议呢?用WebSocket不行吗?

RPC 远程方法调用,在各个后端组件的相互调用中常见。常见的有java的 dubbo,多语言的gRPC,Facebook的thrift。

RPC有着xxxx的特点,在内部场景和SDK书写中常用。(这个在后端开发中问的很多,视情况单开一章)

其实gRPC底层用的就是HTTPS协议,说明RPC也是可以使用HTTPS的,但是通过一些改进可以更好适配RPC需求。最大的改进是Protobuf,序列化和反序列化极大地增强了其性能。部分RPC的特性如压缩,认证都部分使用HTTP/2的协议内容。

可以使用websocket,对应的协议栈是HTTP,在常见的消息交换时比较适合,但是RPC有其他的功能更加适配服务之间的信息交换。

3.1.5 gRPC的特点有哪些,为什么会这样设计(解决了什么问题)

这个要单开一章讲解,也可以找相关的资料哟,这是面试常问的RPC特点题。


更新了第三天内容。

2.1 现在主流的web协议都是HTTPS了,少数环境还会用HTTP,那么HTTP目前的哪些使用场景仍在使用?

2.1 HTTP在部分监控场景,部分状态上报等场景还在使用,包括部分内网环境。

2.2 HTTPS目前的TLS版本是哪些?

2.2 HTTPS目前更新到了TLS1.3了,早期TLS1.2使用比例更多,SSL由于目前的安全问题已经不适用了。TLS目前还是常见的先非对称加密上证书,然后传输建立后转对称加密。

2.3 我们知道现在已经有40%的站点开启了HTTP/2,那么HTTP/2为什么比HTTP版本要好?(或者问HTTP/2的优势在哪里?)

2.3 HTTP/2 解决了队头阻塞(部分),通过多路复用。允许使用多个TCP链接。增加了序列化和更改了压缩问题。并且websocket方便推送和长连接。

​ 就是解决了HTTP的队头阻塞,但是没有解决TCP的队头阻塞。

2.4 HTTP/2的队头阻塞听说过没有,说说看。

2.4 兄弟们直接看这里

2.5 QUIC协议听说过吗?说说看

2.5 看Quic内容上面的有解释。

2.6 计算机网络的拥塞控制和流量控制的区别

2.6 计算机基础,自己看计算机网络去。。

2.7 在丢包率较高的情况下,我们使用了BBR协议,说说他的特点,相比传统的协议最大的改进在哪里。

2.7 BBR最大的改进是由丢包率为主的有限状态机转为了由带宽时延积,(物理时延和带宽瓶颈)控制的状态机,走了两轮。参见这个链接[状态机,了解]

!! 注意这个写在简历上说了解了下大致的源码或者原理。一般不写不问。问的原因是HTTP/3时代,需要在协议中实现拥塞控制,现在所以可能会问相关问题。

2.8 在游戏,语音和部分媒体流(视频流/直播)环境下,KCP得到的广泛的应用,说说他的特点(这里可能不说kcp,但是会问FEC前项纠错,快速重传,RTO和ACK)

2.8 FEC偏向通信和存储,注意,传统后端可能没必要问。或者部分用到的公司问

2.9 HTTP/2和HTTP/3的区别

2.9 没有找到比较好的内容,网上多搜搜。。。

2.10 同上。


兄弟们,写完这些时间已经到一点半了,没有时间写相关的解答了。这个也不是给各位拿来背的,当然要背也是可以的,回答完基础问题后多一嘴我还了解了/研究了xxx,并做了小实验,或者调试成功了。(主要就是挑一部分背)

后期会慢慢更新答案,前提是各位要收藏啊,不然就错过了。

PS:那就点亮下面的小心心然后再点个赞呗,一键三连啊。

#秋招##2023秋招##面经##面试八股文##面试题目#
全部评论
这。。。现在的应届生要到这种程度吗
点赞 回复 分享
发布于 2022-08-27 13:58 江西
学到了,希望能用上!
点赞 回复 分享
发布于 2022-08-22 10:22 江苏

相关推荐

05-15 21:07
已编辑
门头沟学院 C++
当下就业形势极其严峻,本人目前在211大学读研,还有一个月毕业,历经千辛万苦,目前有1个专业对口的offer(主要和我导师有关,我一个专硕,却被强制要求发sci二区论文,不给做项目不给实习,坑死我了)。以下分享本人的实用经验,希望为高年级大学生指引一条正确的道路。由于这些经验都是本人经过大量实践和思考得出的,所以直接给出结论以节约时间。1.你需要重塑你的学生思维:读书归根结底是为了工作,而工作取决于市场需求而非个人能力!需求第一,能力第二!学历如果不能适应市场需求,哪怕是清华北大也没用!2.读研实现就业回报的平衡已被打破,往年对读研的认知不再适用!因为读研有高性价比的前提是市场需求不降低,但近几年的市场需求却持续大幅降低!考研/读研缓解就业的功能在急剧下降,不再具有高性价比!反而本科毕业就就业的性价比在上升,甚至在某些情况下比读研好的多,所以当下考研读研必须慎重再慎重!3.考研必须是从双非院校考到985院校才能实现高性价比!其他任何一种情况,除了必须读研的专业,不要考研!赶紧去找工作,不要犹豫!4.研究生分为学硕和专硕,读学硕就不要有硕士毕业就工作的想法,最好一口气读完博士,出来当老师或去科研院所工作。如果你考上了985的专硕,也别以为就能有好工作,得看你学的是否和工作有关!除非你的目标岗位条件中有论文要求,否则强烈建议:如果你的学院强制要求你发学术论文,否则不给毕业,请立刻退学找工作,不要犹豫!如果是你的导师强制要求你发论文,请立刻换导师!换不了也退学再找工作,不要犹豫!注意这里说的是专硕,不理解的同学请好好想想第一点。5.当下找工作必须想清楚具体岗位再找,不要瞎投简历!比如程序员岗位,这是外行的认知,但作为计算机专业的学生,你必须落实到Java/C++/Python程序员,总之,你必须确定具体的方向再投简历,如果简历没啥可写,那就先学技能,学技能也是学具体的方向,不要什么都学一点,没用。6.强烈建议大三/研二去实习,实习也是按具体岗位找,不要乱找,具体见上一点。注意,如果研究生所做项目内容和目标实习内容相近,可以不实习。实习的时候就可以准备秋招了(笔面试),请尽可能在秋招上岸,秋招的重要性远大于春招!7.找工作要线上线下火力全开,不要局限于学校的招聘会。线上,要下载至少两个求职app,比如boos直聘,智联招聘,猎聘,国聘,线上区域选择取决于你以后想在哪块发展,比如本省,长三角,慎重全国投。线下,要去至少两个大学的招聘会,大学招聘会时间可从该大学的就业信息网上查询。注意,招聘会不是宣讲会,宣讲会场次太多但是每次都是一个公司,建议以招聘会为主,宣讲会为辅。8.线下招聘会速通方法:直接收集投递渠道:二维码/邮箱/宣传册,当然前提是看准岗位。尽量别坐在位置上投简历,因为线上投也是一样的。按这个方法,一个下午看完两个招聘会应该没问题,收集完回去慢慢投即可。9.对于面试打扮,干净整齐就行。面试时要保持微笑和尊重,眼睛要尽量盯着面试官,不要乱看别处,要适当夸企业,夸自己的专业能力。如果提到校园活动之类的,可以造假,面试官不会去查。遇到知识盲区不要说我不知道,打个擦边球(相似知识)或提供个思路。面试官如果说你缺乏项目经验,你要说你基础理论扎实,自学能力强,如果贵单位给你机会,你很快能上手之类的。还有最好增加礼貌用语,比如一直用您称呼面试官,面试开始时说您好,结束时说谢谢。10.面试一般不超过两轮,如果有两轮,第一轮是技术面,第二轮是综合面,技术面就好好准备技术,综合面就多说/编造些软能力,比如校园活动,做志愿者,业余爱好等,然后一定表现得要彬彬有礼,有自信。如果问到职业规划,建议说1-3年如何,3-5年如何,比如1-3年熟悉业务成为合格的初级工程师,3-5年精通技能成为技术骨干。11.外包公司性价比不高,要放到最后考虑。专业不对口的岗位慎重投简历,放到最后考虑。如果你投的简历多了,可能有自称是猎聘公司的人打电话给你,说可以培训,培训完再交钱,这种不算诈骗,但是坑钱,性价比极低,也要放到最后考虑。总之,外包,专业不对口,猎聘公司培训都要放到最后考虑。如果你是研究生,千万别考虑猎聘公司的培训,因为在那里培训的都是本科生甚至大专生,你去了,那么研究生等于白读。12.考公考编是一条很好,甚至是最好的出路,也建议从大三/研二开始准备。如果觉得考公太难就考编,考编难度比考公低很多,尤其是考县级的事业编。不要嫌事业编工资不高,一个铁饭碗属性就吊打很多企业了,而且还有双休不加班制度,性价比不用怀疑。13.毕业后两年内不交社保即不工作还算应届生,如果毕业后工作了再读研,到研三时还是应届生。部分省份规定大学生毕业后交社保,报考公务员/事业单位时仍可按照应届身份报考,如果你符合这个规定,那么工作后再考公考编也是很好的。最后是最容易忽略的一点,考公考编和校招慎重同时进行!因为现在各行各业竞争都很激烈,要求比以前高,而人的精力是有限的,如果都准备最后可能一事无成!所以要么放弃校招,专注于考公考编,要么放弃考公考编,专注校招。或者在拿到一个offer后再考编制,留个底牌。         
点赞 评论 收藏
分享
评论
27
239
分享

创作者周榜

更多
牛客网
牛客企业服务