2020Android初中级面试题记录

2019Android初中级面试题记录


马上就2020年啦,对工资有想法可以开始准备下年后的跳槽季(手动滑稽)
这几天出去面试了一下,作为一个19届刚刚毕业的小安卓,虽然算起来毕业也才三四个月,但是算起来实习到现在也差不多一年啦,但是发现外面的公司好像还是会把你当应届生看待(好像本来就是),抓住这短暂的时机,加油吧!

参考

厘米姑娘的校招面试题

Java

2019Android初中级面试——Java篇

Android

2020Android初中级面试——Android篇

网络编程

Q:五层模型
参考

Q:四次挥手
参考

Q:了解Post和Get请求吗,说下他们的区别

参考

  • post相对get更安全,因为get请求参数直接在url上,post请求参数放在requestbody中
  • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制
  • “”业界不成文的规定是,(大多数)浏览器通常都会限制url长度在2K个字节,而(大多数)服务器最多处理64K大小的url“
  • GET产生一个TCP数据包;POST产生两个TCP数据包
  • 对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
    而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
  • 请求缓存:GET 会被缓存,而post不会

Q:Http请求头里面包含了什么信息?

包含一些基础的请求信息,包括可接受的响应内容类型、能显示的字符集如utf-8以及响应内容等客户端可识别的内容类型列表,还有From请求的地址以及Host服务器域名以及端口号

详情参考

请求头代表意思示例
Accept可接受的响应内容类型Accept: text/plain
Accept-Charset浏览器能够显示的字符集Accept-Charset: utf-8
Accept-Language可接受的响应内容语言列表Accept-Language: en-US
From发起此请求的用户的邮件地址From: user@qq.com
Host表示服务器的域名以及服务器所监听的端口号。如果所请求的端口是对应的服务的标准端口(80),则端口号可以省略Host: www.baidu.com:80 Host: www.baidu.com
Connection是否保持持久连接Keep-Alive / close
Cookie由之前服务器通过Set-Cookie(见下文)设置的一个HTTP协议CookieCookie: $Version=1; Skin=new;
  • 在http/1.1 中Connection默认开启持久连接,除非设置为close才会关闭TCP连接
  • 一个TCP连接可以发送多个HTTP请求
  • 浏览器对同一个HOST建立的TCP连接有最大数限制,比如chrome最多允许6个

Q:常见的Http请求码

状态码表达状态
100表示服务器已接收了客户端请求,客户端可继续发送请求
2xx成功
200请求成功
201提示知道新文件的URL
202接受和处理、但处理未完成
203返回信息不确定或不完整
204请求收到,但返回信息为空
3xx表示服务器要求客户端重定向
301访问的资源已转移(永久性转移)
302访问的资源已转移(暂时性转移)
304客户端发送带条件的请求,找到资源但是不符合条件
4xx客户端错误
400表示客户端请求有语法错误,不能被服务器所理解
401发送的请求需要http认证
402服务器已经理解请求,但是拒绝执行它
404请求的内容不存在
5xx服务器错误
5xx表示服务器未能正常处理客户端的请求而出现意外错误
500表示服务器发生不可预期的错误,导致无法完成客户端的请求
503表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常

Q:HTTP2.0 和 HTTP1.X 的区别

  • 新的二进制格式(Binary Format),HTTP1.x的解析是基于文本。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。
  • 多路复用(MultiPlexing),即连接共享,即每一个request都是是用作连接共享机制的。一个request对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的混杂在一起,接收方可以根据request的 id将request再归属到各自不同的服务端请求里面。
  • header压缩,如上文中所言,对前面提到过HTTP1.x的header带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。
  • 服务端推送(server push),同SPDY一样,HTTP2.0也具有server push功能。

Q:HTTP1.0 和 HTTP 1.1的区别

  • 缓存处理 引入更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match 等更多可供选择的缓存头来控制缓存策略
  • 带宽优化及网络连接使用 请求头引入了range头域,允许只请求资源的某个部分,返回码206(Partial Content)
  • 错误通知的管理,新增24个错误状态响应码
  • Host头处理 请求消息和响应消息都支持Host头域,支持一台物理服务器上存在多个虚拟主机,共享同一个IP地址
  • 默认开启长连接,减少建立和关闭连接的消耗和延迟
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值