面试问题
Android基础
- activity之间数据传输,类型如果是类实例,需要实现序列化,以及序列化的原理
基本数据类型和复合类型,复合类型中的类实例--对象需要序列化传输,后面引出了序列化的原理(对象转化成可存储的或者客传输的过程,对象=>字节流),两种方式:java自带实现Serializable以及Android的Parcelable(应用内传递高效内存)
- 有哪几种图片缓存框架?
Fresco,Glide,Volley,简单使用过没看过源码,很虚
- 使用过okhttp没?okhttp的优势?
我答:用过,看过知识点了,想不起来,答了个定时重传,说Xutils网络模块没有吗(简历上写了),回答是有的,尴尬哈。
去看知识点后:
1.支持SPDY,共享同一个Socket来处理同一个请求
2.如果SPDY不可用,则使用连接池提高效率并减少请求延时
3.默认支持GZIP,提高传输效率
4.网络请求缓存响应的数据来减少重复的网络请求
- 一般软件开发的流程?
不说了
- 一组动画循环播放的代码?
我答:原生动画基本没有使用,说一直在进行RN开发
后面查了下:
1.使用属性动画 代码如下
List<Animator> animators = new ArrayList<>();
animators.add(new ObjectAnimator...);
...
AnimatorSet btnSexAnimatorSet = new AnimatorSet();
btnSexAnimatorSet.playTogether(animators);
btnSexAnimatorSet.setStartDelay(delay);
btnSexAnimatorSet.start();
- 线程与进程的区别
记得好像是线程是任务最小调度单位,看我愣了会,就问了下哪个大,然后顺便说了下进程是有一个或者多个线程的构成的
- 五种基本布局?有没有接触过约束布局,说一下它的主要作用?
五种布局就不说了,约束布局可以拖拽式布局,作用的话减少嵌套视图,提高页面加载效率
- 有哪些动画类型?
属性动画,View动画,帧动画
- handler中的取消消息发送的?
removeMessage和sendEmptyMessageDelayed
- 举例一款app的项目结构和遇到的疑难问题以及如何解决的?
设计模式
- 单例模式有哪几种以及单例模式的作用?
- 熟悉哪几种设计模式?
- MVP与MVC开发模式的优势?
项目
- 讲了下2015年的两个Android项目做了什么东西?
- 简历上写了布局优化?
使用merge减少层次和使用ViewStub提高资源利用,讲了下ListView优化
- 没问到算法