Android高级工程师面试必备之计算机网络基础_计算机网络技术android工程师

  • RARP协议 >>> 逆地址解析协议

网络层大白话 : 网络层将上层数据再度封装为IP数据报,报头带有IP地址,用于标识网络逻辑地址

1.4、数据链路层

数据链路层:将数据封装成数据帧,然后在各个链路上传输
丢帧:数据链路层的控制信息在接收端能够检测数据帧中有误差错,如果有误那么丢弃这帧,以免继续传输浪费资源。如果需要更正数据,那么就要采用可靠传输协议纠错。(这就说明数据链路层不仅可以检错还能纠错)

数据链路层大白话 : 数据链路层将上传数据再度封装成数据帧,其MAC头部包含一个重要的MAC地址信息。可以理解为固化在硬件里的物理地址

1.5、物理层

物理层:实现相邻计算机节点之间比特流的透明传输

物理层大白话 : 将上层数据转成电信号在网络中传输

1.6、补充点

常见硬件设备与五层模型的对应关系
应用层:计算机(其实计算机是融合OSI七层于一身的)
传输层:防火墙
网络层:路由器(严格讲和我们家里所用的家用路由器不一致,一般在机房可以见到)
数据链路层:交换机(例如家里的光猫)
物理层:网卡

二、TCP三次握手和四次挥手

TCP三次握手简单示意图:

2.1、为什么要三次握手?

客户端发送SYN(TCP/IP建立的握手信号) --> 服务端接收后发给客户端SYN/ACK 消息响应表示收到了 --> 客户端收到后向服务端发送ACK表示收到了。
SYN:表示客户端到服务端消息无误
ACK:表示服务端到客户端消息无误

举例:正常的男女朋友关系。客户端(女朋友)发送消息“我要睡了” --> 服务端(男朋友)收到消息 发送“晚安”。如果此时客户端(女朋友)就次不回了, 说明这是非正常的男女关系。如果此时客户端(女朋友)发送“安”,说明是双方关系正常,这是你值得娶回家。这就是为什么要三次握手!!!

TCP四次挥手简单示意图:

2.2、为什么要四次挥手

任何一方在没有要发送消息时,都可以发送连接释放通知。注意此时不是完全关闭TCP连接,待对方确认后进入半关闭状态,当另一方也没有消息要发送时,也发送连接释放通知,此时才完全关闭TCP连接。

举例:A 和 B 打电话,通话即将结束后,A 说“我没啥要说的了”,B回答“我知道了”,但是 B 可能还会有要说的话,A 不能要求 B 跟着自己的节奏结束通话,于是 B 可能又巴拉巴拉说了一通,最后 B 说“我说完了”,A 回答“知道了”,这样通话才算结束。

三、TCP,UDP协议的区别

UDP:面向无连接,速率快。不可靠
TCP:在传递数据之前先建立连接,数据传输结束后还要释放资源。可靠但传输速率相对慢。
TCP的可靠性体现在:在传递数据之前建立连接,在数据传递时,通过确认、窗口、重传、拥塞机制来保证数据传输的可靠性。

四、在浏览器中输入url地址 >> 显示主页的过程

1、DNS解析,找到对应的ip地址
2、建立TCP连接
3、发送HTTP请求
4、服务器处理并返回HTTP报文
5、浏览器解析并渲染页面
6、连接结束

五、状态码概括

六、HTTP短连接和长连接

短连接:每次进行网络请求都要建立连接,和中断连接
长连接:网络请求结束后,不会立即中断连接,也不会永久保持连接,而是在设定的时间内,没有传输时会断开。

//使用长连接,会在响应头加入这行代码
Connection:keep-alive

七、Cookie的作用是什么?和Session有什么区别

cookie和Session都是用来跟踪浏览器用户身份的会话方式,但两者用户场景不同。

  • Cookie:数据保存在客户端。一些敏感数据不要写入,且最好是加密后,拿到服务端解密
  • Session:数据保存在服务端

八、URI和URL有什么区别

URI(Uniform Resource Identifier) :是同一资源标志符,可以唯一标识一个资源
URL(Uniform Resource Location) :是同一资源定位符,可以提供该资源的路径。它是一种具体的 URI,他是URI的子类。

九、HTTP和HTTPS的区别

HTTP:超文本传输协议。URL以“http起始”,端口号默认80。传输完全明文,不做加加密,安全性较低。

HTTPS:运行在SSL/TLS上的HTTP,安全性高。URL以“https起始”,端口号默认443。

对称加密:密钥只有一个,加密解密为同一个密码,加密速度快。不安全: 如果中间人从通信开始就截取这个密钥,那么信息就泄漏了。

非对称加密:密钥公钥有2个,加密解密使用不同密钥。比如小明有密钥A,公钥B。把公钥B发给小红,小红用公钥B给自己的公钥C加密,发给小明。小明用自己的密钥A解密自己的公钥B得到小红的公钥C。以后小明给小红发消息用小红的公钥c加密,小红给小明发消息用小明的公钥B加密。这样就相对安全了。其实也不绝对安全: 如果中间人把公钥B一开是就截取,替换成自己的公钥,发给小红,同样能截取信息。

SSL/TLS:和非对称加密还不同,是通过浏览器或操作系统上的证书机构完成的。大致意思就是利用浏览器和证书机构的约定的公钥加密,并生成签名。等接收端接收后,用约定的公钥生成签名和接收信息签名比对,无误后,确认没有被中间人劫持过,然后解密获得信息,加密传输信息。

最后

最后

在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值