Android面试:计算机网络面试题专项整理(一)

面试过Android的同学应该明显能感受到网络安全这块的重要性,所以在这里我给大家整理了Android面试官在网络安全这块喜欢问的一些问题,道道是重点,内容持续更新,大家记住我这系列专题的内容即可。

1、get和post的区别

首先明确请求行方法字段有GET、POST、HEAD、PUT和DELETE。

两者最大的区别,get:获取资源;post:更新资源;具体细节上需要分清楚如下几个点:

1)提交数据: get提交的数据会放在url之后,用?来分割。post提交数据基本上放在body中;

2)提交的数据大小是否有限制: 浏览器对url的大小有限制,即get请求提交数据有大小限制,而post则没有大小限制;

3)获取变量的值:get通过Request.QueryString,post通过Request.Form;

4)安全问题:get提交数据肯定会带来安全问题,如登录操作,可以通过浏览器的历史记录来获取用户名和密码

2、dns的查询过程

有两个过程,递归过程和迭代过程

1)递归:dns服务器可以使用自身的资源记录信息缓存来应答查询,也可以代表请求客户机来查询或联系其它dns服务器,以完全解析该名称之后,并随后将应答返回至客户端;

2)迭代:dns之间的交互查询,客户机也可以尝试联系其它的dns服务器来解析名称。如果客户机这么做,它会使用基于服务器应答的独立和附加的查询;

3、TCP/IP三次握手与四次挥手

1)三次握手:

发送端首先发送一个带SYN(synchronize)标志的数据包给接收方【第一次的seq序列号是随机产生的,这样是为了网络安全】;

接收端收到后,回传一个带有SYN/ACK(acknowledgement)标志的数据包以示传达确认信息【SYN 是为了告诉发送端,发送方到接收方的通道没问题;ACK 用来验证接收方到发送方的通道没问题】;

最后,发送端再回传一个带ACK标志的数据包,代表握手结束

若在握手某个过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包

三次握手主要的目的是双方确认自己与对方的发送与接收是正常的,保证数据能到达目标

2)四次挥手

客户端发送一个FIN给服务端,用来断开客户端跟服务端之间的数据传送;

服务端收到了FIN,会回传一个ACK给客户端(确认序号为收到的序号加1 。和 SYN 一样,一个 FIN 将占用一个序号);

服务器发送一个FIN给客户端,主动断开与客户端之间的数据传递;

客户端收到了服务端发回的FIN,会发送一个ACK报文确认(确认序号为收到序号+1);

思考:为什么TCP连接的时候是3次,关闭的时候却是4次?

4、TCP/IP四层模型

1)应用层:负责处理应用程序的逻辑;包含的协议:http、ftp、dns

2)传输层:为两台主机上的应用程序提供端到端的通信; 传输层有两个性质不同的协议: TCP:传输控制协议;UDP:用户数据报协议

TCP与UDP的区别、各自适用的场景

TCP是可靠的有连接的(收发双方必须建立连接才能传输,三次握手),而UDP是面向无连接的;

TCP是点对点传输,而UDP可以一对多,多对多,多对一的交互通信;

可靠性:TCP是无差错,不丢失,不重复,按序到达;UDP是尽最大努力交付;

拥塞控制,流量控制:TCP有拥塞控制和流量控制机制;UDP没有。

首部开销:TCP为20个字节,UDP为8个字节

tcp适用于可靠性高的场景,而udp适用于实时性强的场景

3)网络层:用来处理网络上流动的数据包,该层规定了通过怎么样的传输路线到达对方计算机,并把数据包传给对方;与对方计算机之间通过多台计算机或网络进行传输时,网络层起的作用就是在众多的选项内选择一条传输路线

4)数据链路层:用来处理连接网络的硬件部分,包括控制操作系统、硬件的设备驱动、网卡及光纤等物理可见部分

5、Http和Https的主要区别

1)https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用;

2)http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议;

3)http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443;

4)http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全

思考:HTTPS如何保证传输的安全性?

HTTPS常见的加密手段有对称加密和非对称加密:

1)对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等;

2)非对称加密:加密和解密使用不同的密钥,这两个密钥形成有且仅有唯一的配对,叫公钥和私钥。数据用公钥加密后必须用私钥解密,数据用私钥加密后必须用公钥解密,相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等。

本期给大家带来五道Android面试常问的网络安全题,相信大家在之前就认真了解过了,这里才加深一遍印象,以防万一,大家面试加油!更多Android面试内容可以关注我的专栏,也可以私1获取Android面试完全手册。

#Android##面经##网络安全##安卓工程师##计算机网络知识点总结#

这里专门分享我和身边Android开发圈子的同事的一些社招经历,包括从社招面试题到Android进阶板块和前沿工具的学习资料,希望能给大家实现自己的大厂跳槽梦和升职加薪梦,牛友们需要Android面试手册或者有什么问题的话都可以联系我哦,也可以在部分文章下自取,大家面试加油,回家过个好年或者明年伊始一举拿下。

全部评论

相关推荐

05-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
06-02 15:53
阳光学院 Java
点赞 评论 收藏
分享
评论
1
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务