【面试系列】—— 网络通信

网络通讯面试题及答案 文章目录1. BIO 与 NIO 的区别2. select 与 poll 的区别3.请概述 OSI 网络模型4. TCP 和 UDP 的区别5.请概述 TCP 的三次握手四次挥手机制7.为什么 TCP 的挥手需要四次?8.什么是 DDOS 攻击9.什么是 SYN 洪水攻击10. HTTP1.0 和 HTTP1.1 的区别11. Https 原理是什么?12. 说说你知道的几种 HTTP 响应码。13. 如何理解 HTTP 协议的无状态性。14. Session 和 cookie 的区别。15. 用户在浏览器 阅读详情
##网络通信
> 网络通信方面,一些基础的协议概念。比如TCP的握手挥手问题,Http和Https的区别以及Https传输过程中用到的加密方式,Http1.0、Http2.0和SPDY之间的区别,Http2.0做了哪些优化等。

### 网络的七层模型(从底层往上)
1. 物理层:网卡、集线器
2. 数据链路层:交换机
3. 网络层:路由器
4. 传输层
5. 会话层
6. 表示层
7. 应用层

###TCP和UDP的区别
* TCP:传输控制协议,基于连接的,需要三次握手
    - 优点:可靠稳定,传递数据前会有三次握手来建立连接,传输结束后
    - 缺点:慢、效率低、占用系统资源高
        

* UDP:用户数据报协议,基于无连接的
    - 优点:快,比TCP稍安全 UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制
    - 缺点:不可靠不稳定,在数据传输的过程中,如果网络质量不好,就会很容易丢包

###TCP的三次握手
1. 第一次握手:建立连接的时候,客户端A发送SYN包(SYN=j)到服务端,进入一个SYN_SEND的状态,等待服务器确认
2. 第二次握手:服务器收到客户端发来的SYN包后,确认客户端的SYN(ACK=j+1),自己也发送一个SYN包(SYN=k),进入一个SYN_RECV状态
3. 第三次握手:客户端接收到服务器的SYN+ACK包后,向服务器发送确认包ACK(ACK= k+1),此包发送完毕后 客户端和服务器都进入状态,完成三次握手

###TCP的四次握手
1. 客户端想服务器发送一个FIN,用来关闭客户A到服务器之间的数据连接
2. 服务器接受到FIN,发回一个ACK,确认序号加一
3. 服务器关闭与客户端的连接,发送一个FIN给客户端
4. 客户端发回ACK保温确认,并将确认序号加一

###HTTP和HTTPS的区别
* http是HTTP协议运行在TCP之上。所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。
* https是HTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。此外客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份。

###HTTPS的加密方式
堆成加密和非对称加密结合,将对称加密的秘钥用非对称加密的公钥进行加密,发送出去,接受方接收到后用密钥解密出对称加密的密钥

1. A向银行请求一笔交易,其浏览器生成一个随机数作为对称密钥
2. A向银行请求一个公钥
3. 银行打给A公钥
4. A用公钥对对称加密的密钥进行加密然后发送给银行
5. 银行用密钥对对发来的对称密钥解密
6. A和银行可以进行交易了

### Http1.0、Http2.0和SPDY之间的区别,Http2.0做了哪些优化
- SPDY基于HTTP和HTTPS的优点于一体的传输协议,特点主要有:
    1. 降低延迟,针对HTTP的高延迟,SPDY使用多路复用,多路复用通过多个请求stream共享一个tcp连接的方式
    2. 请求优先级:多路复用带来一个问题,设置连接共享的基础上可能会导致关键请求被阻塞,SPDY允许给每个request设置优先级,首页html内容是优先展示的,之后是各种静态资源文件,脚本文件等加载,保证用户第一时间看一看到页面
    3. Header压缩
    4. 基于HTTPS的加密协议,大大提高了传输数据的 可靠性
    5. 服务端推送
- HTTP2.0支持明文HTTP传输,而SPDY强制使用HTTPS;HTTP2.0消息头的压缩算法采用HPCK,而非SPDY采用的DEFLATE,优化为以下几点:
    1. 对Hearder压缩,HTTP1.X的头消息中带有大量信息,而且每次都要重复发送,2.0使用encode来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免重复的Header,又减少了需要传输的大小
    2. 服务端推送
    3. 多路复用,允许同时通过单一的HTTP/2连接发起多重的请求-响应消息


###SSL/TLS
* SSL(Secure Socket Layer):安全套接字层
    
* TLS(Transport Layer Security):传输层安全协议,就是SSL的标准化



自动权重化图卷积网络(Auto-Weighted GCN)算法在反洗钱识别中的应用及代码实现 该算法通过自动学习节点之间的权重信息,能够更好地捕捉AML数据中的关系和结构,从而提高反洗钱识别的准确性和效果。传统的AML识别方法通常依赖于专家定义的规则和手动提取的特征,但这些方法在应对大规模和复杂的数据时存在一定的局限性。GCN通过在图上执行卷积操作来捕捉节点之间的关系和结构信息,从而实现对图数据的学习和表示。自动权重化图卷积网络是一种基于GCN的改进算法,能够自动学习节点之间的权重信息,从而更好地捕捉图中的关系。利用自动计算的权重值执行图卷积操作。根据节点之间的相似度,计算每个节点的权重。 阅读详情

相关推荐

自适应滤波算法综述

自适应滤波算法综述

xdzhujy的博客 5万+

经典面试题 :网络通信题目集锦

技术面试中常见的网络通信细节问题解答 1. TCP/IP协议栈层次结构 2. TCP三次握手需要知道的细节点 3. TCP四次挥手需要知道的细节点(CLOSE_WAIT、TIME_WAIT、MSL) 4. TCP与UDP的区别与适用场景 5. linux常见网络模型详解(select、poll与epoll) 6. epoll_event结构中的epoll_data_t的fd与ptr的使...

destiny的专栏 4776

YOLO模型使用jupyterlab的方式进行预测/推理(示例)

首先相信很多使用过python的人都或多或少地了解过这个应用。是一个开源Web应用程序,可让用户创建和共享包含实时代码、公式、可视化和叙述文本的文档。用途包括:数据清理和转换、数值模拟、统计建模、等等。而Jupyter Lab则是Jupyter的下一代笔记本界面。是一个基于Web的交互式开发环境,用于Jupyter notebook、代码和数据。非常灵活,可支持数据科学、科学计算和机器学习领域的广泛工作。是可扩展和模块化的,其可编写插件来添加新组件并与现有组件相集成。

ocean00008899的博客 902

网络相关的面试题

概念:交换机是计算机网络中用于连接多台设备的网络设备,其核心功能是根据数据帧的目标地址(如MAC地址和IP地址)进行高效的数据转发。它通过减少冲突域、隔离广播域,提升局域网内的通信效率和安全性。二层交换机是纯交换设备,仅处理MAC地址;二层交换机需要依赖路由器才能实现跨子网通信,而三层交换机可独立完成子网间的路由。DHCP即动态主机配置协议,用于自动为设备分配IP地址、子网掩码、网关以及DNS服务器等网络配置参数。DNS即域名系统,是互联网的地址“薄”,负责将人类可读的域名转换为机器可识别的IP地址。

2301_82115851的博客 894

win11禁止更新,草履虫教程

本文介绍了彻底禁止Windows 11系统更新的组合方法,包括禁用核心服务、修改注册表、关闭计划任务和使用组策略(专业版适用)。作者特别提醒,禁止更新会影响系统安全性,建议实体机保持更新,仅虚拟机等特殊情况下使用这些方法。同时强调即使禁用更新,也应定期手动检查重要安全补丁。文章最后附上了作者的个人网站信息。

testwzc1的博客 561

Android逆向进阶篇 Charles + Drony Vpn绕过代理检测方案 获取猫眼App数据

Android逆向进阶篇 Charles + Drony Vpn绕过代理检测方案 获取猫眼App数据

曾用名:极客柒 1852

网络通信(面试题)

1、http 协议的状态码有哪些?含义是什么? 200 OK 客户端请求成功 301Moved Permanently(永久移除),请求的 URL 已移走。Response 中应该包含一个 Location URL,说明资源现在所处的位置 302found 重定向 400Bad Request 客户端请求有语法错误,不能被服务器所理解 401Unauthorized 请求未经授权,这个状态代码必须和 WWW-Authe...

weixin_44196561的博客 1397

告别IMEI!手把手教你用UUID实现Android设备唯一标识(兼容Android 10-13)

本文详细探讨了在Android 10及以上版本中,如何构建合规且高可用的设备唯一标识方案以替代被限制访问的IMEI。文章深入分析了Android设备标识符的演变,并提供了基于UUID/GUID的完整实现策略,包括生成算法、多级持久化存储方案(如MediaStore)、权限处理以及版本兼容性实践,帮助开发者应对Android 10-13的隐私政策变化。

weixin_28339967的博客 574

网络通信面试题

http。

weixin_48277567的博客 181

Transformer实战(39)——多模态生成式Transformer

能够理解多种类型输入的模型被称为多模态模型。多模态学习是人工智能 (Artificial Intelligence, AI) 领域的重要研究方向之一,长期受到众多研究人员的关注。本节将介绍使用多模态模型的生成式 AI,包括文本到图像 (text-to-image) 和文本到音乐 (text-to-music) 的生成模型。将介绍 Stable Diffusion 及其工作原理,同时也将介绍 MusicGen 和 AudioGen 模型。

盼小辉丶的博客 2449

vue3:html2canvas+jspdf将页面以A4导出为PDF文件,解决内容截断+在分页处截断问题详细排查和解决教程(jsPDF + html2canvas A4分页截断、内容分页时存在截断)

html2canvas + jsPDF 解决内容截断问题,vue3 jspdf-html2canvas生成多页pdf防截断处理(包含代码),vue3解决html2canvas + jsPDF导出pdf分页内容截断问题,jsPDF + html2canvas A4分页截断 完美解决方案(含代码 + 案例),html页面导出pdf截断问题,html2canvas 与 jspdf 相结合生成 pdf 内容被截断的终极解决方案,提供html2canvas+jsPDF将HTML页面以A4纸方式导出为PDF后,内容分页

✅ 精选推荐文章 2245

好教程推荐系列:TCP面试常见题-张小方的知乎Live-轻松搞定技术面试中常见的网络通信问题

声明一下,文章是我自己整理的笔记,内容是张小方先生的讲稿。 张先生的博客地址是http://blog.youkuaiyun.com/analogous_love 张小方 的知乎 Live:轻松搞定技术面试中常见的网络通信问题https://www.zhihu.com/lives/922110858308485120?utm_source=qq&utm_medium=social 本live列举的...

$firecat利白的代码足迹$ 1万+

uniapp - 解决在线预览PDF文件空白打不开的问题,无论是后端下载二进制文件流pdf还是本地插件或JS预览查看打开白屏不显示,详细排查解决(适用于移动端H5网页、安卓/苹果app、微信小程序)

uniapp App端 实现pdf文件预览打开白屏解决,uniapp 在线预览pdf打开一片空白,跨域白屏,uni-app中使用WebView预览PDF文件打开空白,微信小程序(uniapp)预览PDF空白怎么办,下载PDF文件流后打开空白或无法打开的问题,Uniapp H5网页下载二进制pdf文件页面空白以及解决文件损坏打不开的情况,Uniapp app在线预览pdf文件流,PDF加载出来怎么办,服务器后端返回PDF文件流后前端进行下载但打开后一片白屏,解决pdf文件流,预览全是空白页,pdf文件流,下载

🏆 前端领域优质创作者 1万+

面试的自信来源于扎实的基础

一、前端四部分   跳槽是每个人都会经历的一件事,而进新公司的途径也是多样的。有的人依靠朋友推荐,直接加入,但更多的人是通过层层面试,最后符合该公司要求后才加入的。而面试的时候就会被提问,问到的问题可以说五花八门,令人不知所措,常说机会留给有准备的人,因此,不管怎样,都得在面试前好好准备准备。但前端这个工种和后端有很大的不同,它的技术栈非常广,知识的更新迭代络绎不绝,每年都会涌现出新的概念、思想或...

ahilll的博客 215

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

第一次面试 Android,犹如大姑娘上轿,还真是头一回,结果大失所望......

装逼从来都不是必要的,必要的是我们始终如一的想着装逼。话说最近公司在招聘一批至少 5 年开发经验的 Android 开发工程师,我也是忙开了花,激动得不行呀。虽说我面试过的技术开发至少 50 人以上,但这还是第一次开始面试 Android,此时犹如大姑娘上轿,还真是头一回呀!无奈,面试后的感觉,均是开发效率听起来很牛逼,第三方 API 用起来非常顺手,但问到基础,就拿我面试系列的题去问,没一个答得上的,甚至是循循善诱,都没法好好回答。这样的人你让我该怎么办呢?

老皮的博客 165

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

史上最全的iOS面试题及答案

史上最全的iOS面试题及答案 1.写一个NSString类的实现 + (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding;  + (id) stringWithCString: (c*****t char*)nullTerminatedCString

徐坤很无聊 1738

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

4年Android开发成功跳槽大厂,最新面试题分享

感觉时间过得真快啊,从19年7月本科毕业入职,到现在快4年了。毕业时选择的是一家非一线大厂的公司,在这边工作的近两年时间里,业余学习了许多 Android 相关的专业知识,但由于业务原因,且公司发展一直在走下坡路,我在项目上的经验比较欠缺,因此考虑进一家大厂继续磨练磨练自己。最近金三银四期间想着找一个新的工作,前前后后花了一个多月的时间复习以及面试,但在面试还是险些翻车。所幸自己的基础还不错,准备也算充分,面试到的公司基本上都通过了。

2401_86022640的博客 1030

2024年Android最新4年Android开发成功跳槽大厂,最新面试题分享(2),2024年最新面试几个月还没找到工作怎么办

这里我特地整理了一份《Android开发核心知识点笔记》,里面就包含了自定义View相关的内容除了这份笔记,还给大家分享Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。分享上面这些资源,希望可以帮助到大家提升进阶,如果你觉得还算有用的话,不妨把它们推荐给你的朋友~喜欢本文的话,给我点个小赞、评论区留言或者转发支持一下呗~

2401_84558406的博客 974

收藏一些qq面试题

电话面试 1:虚函数原理?有何用?(辅助实现设计模式)     虚表,编译器绑定到虚表中的指定项。     同样虚函数也如此,编译器已经算好了虚函数在虚表中的位置。只是由于只是由于每个类的指向虚表的指针不一样,才产生了多态的行为。 2:指针背后的秘密?    指针能指向东西,是因为编译期,编译器已经算好了指针指向成员变量的偏移地址,所以其能实现指向某个东西的能力。 2:了解哪些设计模式

lionel的专栏 1106

史上最浅的ios面试题,重复了

史上最全的iOS面试题及答案 1.写一个NSString类的实现 + (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding;  + (id) stringWithCString: (c*****t char*)nullTerminatedCString  

sadlike的专栏 1668

直接上干货!从消息中间件看分布式系统的多种套路,附面试题答案

开头 Netty 作为当前流行的 NIO 框架,在游戏、大数据通讯,云计算、物联网等领域都有广泛的应用,大家熟知的 Dubbo,底层用的就是 Netty。尤其在高性能 RPC 方面,Netty 更是必不可少。然而,想要将 Netty 真正掌握并精通难度却不小。一些学习者可能会遇到这些问题: 多线程编程、Socket 通信、TCP/IP 协议栈等知识掌握不扎实,学习过程比较吃力; 学习了不少理论知识,但真正跟具体项目结合在一起,解决实际问题时,又感觉比较棘手; 调用过程中遇到问题,不会定位,基本靠网上搜索,

m0_57286622的博客 95

月薪20k+的Android面试都问些什么?进阶学习资料!

前言 金三银四,又是一年校招季。 经历过,才深知不易。最近,和作为校招面试官的同事聊了聊,问他们是如何去考察一个学生的,我简单归为以下几点: 聪明、反应快,这点自不必说,聪明意味着学习能力、适应力强,能够快速胜任工作。 算法不错,代码基本功好,这点其实考察的是算法能力和代码是否写得优雅。 基础过硬,技术岗面试最核心的还是考察「技术储备」,包括了语言基本功,操作系统、网络、体系结构、系统设计。 语言组织和表达能力,这点很重要,很多同学懂得某个知识点,却很难用简洁准确的语言表述出来。 想必有很多同学在刷题.

m0_56037919的博客 164
上一篇: OkHttp和Retrofit
下一篇: 源码分析之Activity的启动流程
zc2echo
博客等级 码龄9年 6粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值