首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客633802380号
门头沟学院 Java
发布于江苏
关注
已关注
取消关注
@Fintech砖:
【28】C++岗位求职面试八股文第二十八篇(计算机网络)
系列文章目录第一篇:语言基础第二篇:设计模式第三篇:数据库第四篇:计算机网络第五篇:操作系统第六篇:LInux第七篇:数据结构第八篇:智力题[81] HTTP 常见的响应状态码及其含义1XX : 信息类状态码(表示接收请求状态处理)2XX : 成功状态码(表示请求正常处理完毕)3XX : 重定向(表示需要进行附加操作,已完成请求)4XX : 客户端错误(表示服务器无法处理请求)5XX : 服务器错误状态码(表示服务器处理请求的时候出错)200 ok204 no content301 永久重定向302 临时重定向304 缓存重定向400 : Bad Request 请求报文中存在语法错误(当错误方式时,需修改请求的内容后,再次发送请求)。403 : Forbidden 对请求资源的访问被服务器拒绝了。404 : Not Found服务器上无法找到请求的资源。500 : Internal Server Error 服务器端在执行请求时发生了错误。503 : Service Unavailable 服务器暂时处于超负载或者是正在进行停机维护,现在无法处理请求。[82]HTTP请求的常用方法1.GET方法GET方法用于使用给定的URI从给定服务器中检索信息,即从指定资源中请求数据。使用GET方法的请求应该只是检索数据,并且不应对数据产生其他影响。2.POST方法向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。3.HEAD方法向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回,仅传输状态行和标题部分。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。4.PUT方法PUT方法用于将数据发送到服务器以创建或更新资源,它可以用上传的内容替换目标资源中的所有当前内容。即向指定资源位置上传其最新内容。5.DELETE方法DELETE方法用来删除指定的资源,它会删除URI给出的目标资源的所有当前内容。6.CONNECT方法HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。7.OPTIONS方法允许客户端查看服务器的性能。8.TRACE方法回显服务器收到的请求,主要用于测试或诊断。[83]说说 GET请求和 POST请求的区别GET请求在URL中传送的参数是有长度限制的,而POST没有。GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。GET参数通过URL传递,POST放在Request body中。GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。GET请求只能进行url编码,而POST支持多种编码方式。GET请求会被浏览器主动cache,而POST不会,除非手动设置。GET产生的URL地址可以被Bookmark,而POST不可以。GET在浏览器回退时是无害的,而POST会再次提交请求。[84]说说 Cookie 和 Session 的关系和区别是什么Cookie与Session都是会话的一种方式。服务端通过为该用户创建Cookie/Session来获取这些信息。cookie数据存放在客户的浏览器上,session数据放在服务器上。cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE。单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。[85]http优化[86]简述 HTTPS 的加密与认证过程加密客户端先向服务器端索要公钥,然后⽤公钥加密信息,服务器收到密⽂后,⽤⾃⼰的私钥解密1.客户端在浏览器中输入一个https网址,然后连接到server的443端口 采用https协议的server必须有一套数字证书(一套公钥和密钥) 首先server将证书(公钥)传送到客户端 客户端解析证书,验证成功,则生成一个随机数(私钥),并用证书将该随机数加密后传回server .server用密钥解密后,获得这个随机值,然后将要传输的信息和私钥通过某种算法混合在一起(加密)传到客户端 客户端用之前的生成的随机数(私钥)解密服务器端传来的信息2.首先浏览器会从内置的证书列表中索引,找到服务器下发证书对应的机构,如果没有找到,此时就会提示用户该证书是不是由权威机构颁发,是不可信任的。如果查到了对应的机构,则取出该机构颁发的公钥。用机构的证书公钥解密得到证书的内容和证书签名,内容包括网站的网址、网站的公钥、证书的有效期等。浏览器会先验证证书签名的合法性。签名通过后,浏览器验证证书记录的网址是否和当前网址是一致的,不一致会提示用户。如果网址一致会检查证书有效期,证书过期了也会提示用户。这些都通过认证时,浏览器就可以安全使用证书中的网站公钥了。[87]http请求全过程[88]⽹络层(IP)与数据链路层(MAC)有什么关系呢?[89]IPv6⾸部成为固定⻓度的 40 字节,ipv6共128位Arp协议在网络层IP 中还包括 ICMP 协议和 ARP 协议。ICMP ⽤于告知⽹络包传送过程中产⽣的错误以及各种控制信息ARP ⽤于根据 IP 地址查询相应的以太⽹ MAC 地址[91]本地socket通信链接socket进程通信与网络通信使用的是统一套接口,只是地址结构与某些参数不同。int socket(int domain, int type, int protocol);domain 参数指定协议族,对于本地套接字来说,其值须被置为 AF_UNIX 枚举值int connect(int socket, const struct sockaddr *address, size_t address_len);address表示当前客户端的本地地址,是一个 struct sockaddr_un 类型的变量[92]打开⼀个⽹⻚使⽤到了哪些其他协议(6个协议)[93]Nagle 算法与延迟确认Nagle算法就是为了尽可能发送⼤块数据,避免⽹络中充斥着许多⼩数据块。。任意时刻,最多只能有⼀个未被确认的⼩段。所谓“⼩段”,指的是⼩于MSS尺⼨的数据块,所 谓“未被确认”,是指⼀个数据块发送出去后,没有收到对⽅发送的ACK,确认该数据已收到Nagle算法意味着延迟发,[94]延迟确认接收⽅收到数据包后,如果暂时没有数据要发给对端,它可以等⼀段时再确认(Linux上默认 是40ms)。如果这段时间刚好有数据要传给对端,ACK就随着数据传输,⽽不需要单独发送 ⼀次ACK。如果超过时间还没有数据要发送,也发送ACK,避免对端以为丢包不能延迟的场景: 乱序包、接收到了⼤于⼀个 窗⼝⼤⼩的报⽂,且需要调整窗⼝⼤⼩⼀般情况下,Nagle算法和延迟确认不能⼀起使⽤,Nagle算法意味着延迟发,延迟确认意味着延迟接收,就会造成更⼤的延迟,会产⽣性能问题[95]ICMP:IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因, 所以引⼊了ICMP协议。作⽤: 1. 确认IP包是否成功到达⽬标地址2. 通知在发送过程中IP包被丢弃的原因类别: 1. ⼀类是通知出错原因 2. ⼀类是⽤于诊断查询 应⽤: ping命令[96]ping命令:功能: 1. 能验证⽹络的连通性 2. 会统计响应时间和TTL(IP包中的Time To Live,⽣存周期)过程: 1. ping命令会先发送⼀个 ICMP Echo Request给对端 Internet控制报文协议2. 对端接收到之后, 会返回⼀个ICMP Echo Reply3. 若没有返回,就是超时了,会认为指定的⽹络地址不存在traceroute功能:打印出 可执⾏程序主机,⼀直到⽬标主机之前经历多少路由器Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者[97]路由转发原理当一个数据来到路由器,路由器将基于数据包中的目标IP地址,查看本地的路由表。之后,若表中存在记录,则将无条件按照表中的记录进行转发;若表中不存在记录,则路由器将直接丢弃该数据包[98]应用层协议有哪些·:DNS域名系统(基于传输层的UDP协议,端口号为53);2、FTP文件传输协议;3、Telnet远程终端协议;4、HTTP超文本传送协议;5、SMTP电子邮件协议;6、POP3邮件读取协议;7、SNMP简单网络管理协议;8、TFTP简单文件传送协议针对窃听(混合加密)、篡改(摘要算法)、伪造(服务器公钥放到数字证书)[99]http http1.0 http1.1 https http2 http3http优点:「简单、灵活和易于扩展、应⽤⼴泛和跨平台」缺点:⽆状态、明⽂传输,不安全http1.0:每次请求需要新建一个连接http1.1: 长连接、管道网络传输(同时发送请求)、队头阻塞http2:(TLS1.2版本,四次握手)基于https,头部压缩HPACK、二进制格式、数据流stream、多路复用(解决对头阻塞)、一旦丢包,阻塞所有请求、服务器主动推送http3:(TLS1.3版本,三次握手)UDP Qpack stream QUIC保证可靠传输[100]对称加密与非对称加密的区别是什么区别:1、对称加密中加密和解密使用的秘钥是同一个;非对称加密中采用两个密钥,一般使用公钥进行加密,私钥进行解密(客户端处用服务器公钥加密;服务端处用服务器私钥解密)。2、对称加密解密的速度比较快,非对称加密和解密花费的时间长、速度相对较慢。3、对称加密的安全性相对较低,非对称加密的安全性较高[101]http1.1优化缓存 压缩 代理服务器重定向 合并资源再发送 按需访问资源[102]Tcpdump抓包[103]PingPing 包中有⼀个字段叫做 TTL ( Time To Live ,⽣存周期),它的值随着每经过⼀次路由器就会减 1,直到减到 0 时该 IP 包会被丢弃。 此时,路由器将会发送⼀个 ICMP 超时消息给发送端主机,并通知该包已被丢弃。Ping成功并不一定就代表TCP/IP配置正确,有可能还要执行大量的本地主机与远程主机的数据包交换,才能确信TCP/IP配置的正确性。如果执行ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,ping成功只保证当前主机与目的主机间存在一条连通的物理路径[104]网络模型[105]网络协议栈应⽤程序需要通过系统调⽤,来跟 Socket 层进⾏数据交互;Socket 层的下⾯就是传输层、⽹络层和⽹络接⼝层;最下⾯的⼀层,则是⽹卡驱动程序和硬件⽹卡设备;[续]C++岗位求职面试八股文第二十九篇(操作系统)更多关于算法题解、软件开发面经、机器学习算法面经、各企业面试问题记录,关注Fintech砖,持续更新中。https://www.nowcoder.com/users/873777317企业面试记录专栏https://www.nowcoder.com/creation/manager/columnDetail/0YBWnm机器学习面经专栏https://www.nowcoder.com/creation/manager/columnDetail/j8nNy0软件开发面经专栏https://www.nowcoder.com/creation/manager/columnDetail/0aXKaM更多校园招聘常见面试问题(开发、算法、编程题目)参见CSDN博客:http://t.csdn.cn/V4qbH欢迎关注、收藏、点赞后进行问题咨询及秋招建议
点赞 5
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
01-22 13:26
清华大学 Java
加班真的很不爽的
加班真的很不爽,这话一点都不夸张。白天写不完的需求,被推到深夜;本该属于生活的时间,被一句“紧急一下”悄悄拿走。人坐在工位上,代码还在跑,身体却早就开始报警。这几年,经常能看到“某某程序员因长期加班出事了”的消息。标题冰冷,几行字带过,却是一个人透支健康、压缩人生后的全部结果。需求会迭代,版本会更新,但倒下的人,没法重启。最讽刺的是,加班常被包装成“奋斗”“责任感”,可身体并不理解这些词。它只记得熬过的夜、错过的饭点和被忽视的疲惫。等问题真正出现时,项目还在继续,工位很快会被填上。工作很重要,但不该用命来换。能拒绝的加班就拒绝,能白天解决的事别拖到深夜。代码可以慢慢写,人生却没有回滚键。
找工作以来,你最看不惯_...
点赞
评论
收藏
分享
01-23 12:44
已编辑
哈尔滨工业大学 游戏后端
27届暑期实习秋招全时间线
本篇内容是写给27届同学的,核心就是把26年校招的整体时间节点和节奏先推一遍,然后告诉大家不同基础、不同处境的同学,应该怎么卡点准备、怎么做选择,尽量把自己能力范围内最好的offer拿到手。篇幅会比较长,但基本都是能直接照着做的东西。26年和25年大概会有哪些变化26年的暑期实习大概率还没全面开启,但基本也就下个月的事了。按去年的节奏推,去年是1月29日过年,然后字节2/20开、腾讯2/25开、美团2/26开、阿里3/2开,今年过年2月17了,晚了半个月,同理推断的话应该是3月5日左右大范围开启,但是按照越来越早的趋势 保不准2月底就有企业开了,(过完年不到两周就开始了)笔试节奏去年是三月初集...
点赞
评论
收藏
分享
01-22 21:52
西安电子科技大学 Java
字节暑期实习
暑期实习这个有必要面试吗,到底是运维还是开发呀
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
J人永远闲不下来于是去提前实习
2585
2
...
mentor视角下的优秀实习生
2390
3
...
拥抱AI,程序员的最后出路
2127
4
...
大厂提前实习对AI开发的新感悟
2017
5
...
牛客吐槽大会 | 有槽不吐,留着过年?吐完领现金红包,痛快!
1815
6
...
努力挣钱的意义具象化了
1806
7
...
真正会被取代的,是你心里面的幻觉
1621
8
...
去独角兽做龙头还是去大厂做凤尾
1550
9
...
我身材再曼妙,也没有我的工资好笑!
1501
10
...
马斯克最新炸裂采访,AI会带走一半工作岗位,普通人将何去何从?
1383
创作者周榜
更多
正在热议
更多
#
牛客吐槽大会
#
3208次浏览
69人参与
#
机械人你知道哪些单休企业
#
83121次浏览
415人参与
#
今年春招是金一银二嘛?
#
8762次浏览
119人参与
#
参加完秋招的机械人,还参加春招吗?
#
103763次浏览
686人参与
#
1月小结:你过的开心吗?
#
1979次浏览
52人参与
#
抛开难度不谈,你最想去哪家公司?
#
4753次浏览
118人参与
#
为什么有人零实习也能进大厂?
#
5393次浏览
132人参与
#
AI求职实录
#
4002次浏览
111人参与
#
AI时代的工作 VS 传统时代的工作,有哪些不同?
#
8589次浏览
207人参与
#
机械人春招想让哪家公司来捞你?
#
379320次浏览
3141人参与
#
当你问AI“你会取代我的工作吗”,它说_?
#
3903次浏览
141人参与
#
你的第一家实习公司是什么档次?
#
4431次浏览
75人参与
#
没关系,至少我的__很曼妙
#
3810次浏览
65人参与
#
赚钱的意义在这一刻具象化
#
4114次浏览
99人参与
#
你的landing期是如何度过的?
#
8942次浏览
174人参与
#
除了Java,最推荐学什么技术?
#
6126次浏览
150人参与
#
我发现了面试通关密码
#
1600125次浏览
19679人参与
#
一人一道大厂面试题
#
114124次浏览
1263人参与
#
你觉得什么岗位会被AI替代
#
36865次浏览
256人参与
#
你在职场上见过哪些“水货”同事
#
30772次浏览
168人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务