主要是博主最近在面试,正好把面到的问题记录一下,作为笔记,下次复习的时候进行针对性复习
Android复习资料点这里
面试题
1.你接触的跨进程通信是什么
博主答:目前接触的比较多的是aidl,广播,文件存储这种
2.内存中如果加载一张500*500的png高清图片.应该是占用多少的内存
3.handler原理中的messageQueue的原理说一下
4.如果你自己写一个垃圾回收算法,专门回收图片,你会如何使用.
5.图片的三级缓存中,图片加载到内存中,如果内存快爆了,会发生什么
按照java中的介绍,如果当内存不足的时候,会将前面所使用的对象进行回收.
6.图片的压缩你采用的有什么
7.v3签名key和v2还有v1有什么区别
8.android9.0新特性有什么
9.对于服务.如何去理解
10.系统架构,如果目前有一个项目,要求你来架构,你会如何设计
11.android中binder机制讲解一下.
12.网络数据存储和用户操作记录存储,你会用数据库还是文件.为什么
13.如果加载图片,android内存快满了,你会如何去处理
15.android中fragment和activity.相比,fragment生命周期多了很多,有人说不好,有人说好,说说你的理解
16.android中.如果去将viewgroup的onTouchEvent事件拦截了,那么view的onTouch还会走到吗
17.实际开发中.8.0对通知做了什么改变
18.intentservice一般用来做什么
19.如果对相机的镜头做改造.要求你加上一些装饰.你会怎么做
20.mvp设计模式,如果项目庞大,v层和p层都很庞大.要怎么做才能精简,让项目看起来舒服点
21.多线程中,让你做一个单例,你会怎么做
22.装饰设计模式中,有门面设计,和代理模式,装饰模式.详细解释一下
23.广播的形式有几种.分别应用场景有什么
24.listview和recycleview的区别.
25.内存优化的方式.
26.单例有几种,如果出现多线程,单例应该怎么写
27.线程同步的方式有几种
28.多线程下载时如何完成的.
29.静态内部类为什么会被回收
30.接口和抽象类的区别
31.接口是否继承自object
32.枚举类继承object吗
33.hashmap的key是如何精准定位到这一步的
34.looper对象是否能创建多个
35.looper原理
36.view的绘制流程
37.android的四种启动方式,以及应用场景
38.android的启动流程
39.android的加载流程
40.介绍一个你最熟悉的框架,以及单一activity和多fragment的优点.为什么不用view来代替fragment
Android-日常记录-单Activity多Fragment的优点.
41.binder机制的原理讲解一下
42.android原生的数据库类名是什么?如何更新
43.android的触摸事件.viewpage和recycleview冲突解决,横向recycleview和纵向recycleview事件冲突解决
44.单列数据结构和双列数据结构的区别.
45.map的几个实现类
46.hashmap和treemap的区别.
47.set和list的区别
48.hashmap的底层数组是如何确定其位置的.以及hashcode是否能够重复
49.多线程初始化的方式有哪些
50.触摸事件返回值是通过down事件还是move事件还是up事件来确定是否拦截的
51.内存溢出和内存泄漏
52.mvp中你的p层是如何回收
53.简单说一下,socket和websocket以及socket.io的区别
53.mvc和mvp的优缺点
54.tcp和udp的原理
55.view如何控制viewgroup不拦截触摸事件,的两种实现方式
56.了解哪些Activity启动模式的标记位?
57.手写冒泡排序,并且在不考虑性能的情况下.用双层for循环完成双向冒泡排序.
58.手写json文件解析,并且指出开发时应该注意点
59.android中全局异常如何抓取.
60.封装p层之后.如果p层数据过大,如何解决
61.说一下原生数据库的升级方式
62.如何进行断点续传,两种方式
63.说一下最近的屏幕适配方案