网络
1. 网络5层模型
- 物理层
可以用光缆、电缆、双绞线、无线电波等方式 - 数据链路层
网络层和物理层的通信,主要功能是如何在不可靠的物理线路上进行数据的可靠的传递. - 网络层
ip协议 - 传输层
tcp协议 - 应用层
http协议
2. TCP/UDP区别
- TCP传输控制协议:面向连接;使用全双工的可靠信道;提供可靠的服务,即无差错、不丢失、不重复且按序到达;拥塞控制、流量控制、超时重发、丢弃重复数据等等可靠性检测手段;面向字节流;每条TCP连接只能是点到点的;用于传输可靠性要求高的数据
- UDP用户数据报协议:无连接;使用不可靠信道;尽最大努力交付,即不保证可靠交付;无拥塞控制等;面向报文;支持一对一、一对多、多对一和多对多的交互通信;用于传输可靠性要求不高的数据
3. 谈谈TCP为什么要三次握手?为什么要四次挥手?
4. 响应状态码
状态码由三位数字组成,第一位数字表示响应的类型,常用的状态码有五大类:
- 1xx:表示服务器已接收了客户端请求,客户端可继续发送请求
- 2xx:表示服务器已成功接收到请求并进行处理
200 OK:表示客户端请求成功 - 3xx:表示服务器要求客户端重定向
- 4xx:表示客户端的请求有非法内容
400 Bad Request:表示客户端请求有语法错误,不能被服务器所理解
401 Unauthonzed:表示请求未经授权,该状态代码必须与 WWW-Authenticate 报头域一起使用
403 Forbidden:表示服务器收到请求,但是拒绝提供服务,通常会在响应正文中给出不提供服务的原因
404 Not Found:请求的资源不存在,例如,输入了错误的URL - 5xx:表示服务器未能正常处理客户端的请求而出现意外错误
500 Internal Server Error:表示服务器发生不可预期的错误,导致无法完成客户端的请求
503 Service Unavailable:表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常
5. HTTP和TCP的区别
- TCP是传输层协议,定义数据传输和连接方式的规范。通过三次握手建立连接、四次挥手释放连接。
- HTTP是应用层协议,定义的是传输数据的内容的规范。HTTP的连接使用"请求-响应"方式。基于TCP协议传输,默认端口号是80。
Fragment
1. Fragment生命周期的变化:
add(): onAttach()->…->onResume()。
remove(): onPause()->…->onDetach()。
replace(): 相当于旧Fragment调用remove(),新Fragment调用add()。
show(): 不调用任何生命周期方法,调用该方法的前提是要显示的 Fragment已经被添加到容器,只是纯粹把Fragment UI的setVisibility为true。
hide(): 不调用任何生命周期方法,调用该方法的前提是要显示的Fragment已经被添加到容器,只是纯粹把Fragment UI的setVisibility为false。
detach(): onPause()->onStop()->onDestroyView()。UI从布局中移除,但是仍然被FragmentManager管理。
attach(): onCreateView()->onStart()->onResume()。
Fragment回退栈
fragment的出栈操作是以事务的提交为单位的,而不是add或replace的次数
屏幕适配
- 使用dp不直接使用px 代码设置需要dp到px的一个转换
- Drawable适配,不同dpi放置对应的图片,尽量使用矢量图,节省空间不失真
- 多使用带权重的布局,不使用absolutelayout
- 布局适配
land
View相关
属性动画
1. ObjectAnimator,ValuesAnimator
ObjectAnimator会自动将TypeEvaluaror根据Interpolator产生的值设置到某个对象的属性上
ValuesAnimator只会提供TypeEvaluator根据Interpolator产生的值,不会自动设置,需要我们在回调方法中进行设置
2. TypeEvaluator,Interpolator
- TypeEvaluator时估值器,其会根据interpolator和起始终止值来产生值
常用的TypeEvaluator有IntEvaluator,FloatEvaluator,ArgbEvaluator - Interpolator时插值器,其会反应时间因子的变化,
常用的有
AccelerateDecelerateInterpolator 先加速最后减速
AccelerateInterpolator 一直加速
DecelerateInterpolator 一直减速
AnticipateInterpolator 类似弹弓上的石子,先反向少许,再正向
OvershootInterpolator 类似压气球的手,先运动至目标处并超过一些距离,然后反弹到目标位置
AnticipateOvershootInterpolator 上两种的结合
LinearInterpolator 匀速运动
BounceInterpolator 类似自由落体