文件名称:
2019面试必问Android知识点(实战北京各大互联网公司面试汇总).pdf
开发工具:
文件大小: 704kb
下载次数: 0
上传时间: 2019-09-03
详细说明:2019全新安卓面试必看的面试知识点,汇总了所有面试的公司的面试知识点摘要1.4项目中那些地方用到 Handler,具体如何使用的
1.5 AsyncTask
2事件分发
2.1 Android事件分发的机制或者流程
22 Activity的分发机制(如何传递到 View Group的
23 View Groupl的分发机制(如何传递子vew的)
24VieW的事件分发机制
3屏幕适配
3.1为什么要屏幕适配?
3.2屏幕适配有哪几种方案?
3.2.1 android原生屏幕如何适配
3.2.2百分比适配原理
32.3今日头条适配原理
33刘海屏,水滴屏如何屏幕适配
4. Activity
4.1 Activity的四种启动模式,每种模式的使用场景?
4.2Atⅳity中内存泄漏及解决办法
4.3Atⅳvity的生命周期
5. Android四大组件
5.1 Android四大组件分别是什么?
5.2组件之间通信有那些方式?
5.3四大组件的应用场景
5.4本地广播(了解一下)
6. Service
6.1 Service是什么,一般用来千什么?
62 Service与 ntentservice的区别?
63两种启动 Service的区别?
6.4通过不同的方式启动 servie,如何销毁 service?
6.5 servive中如何执行耗时操作?
6.6 Service如何保活?
67Atⅳvity如何和 Service进行通信?,有那些方式?
6.8 Android8.0对 Service有什么限制?
Broadcast广播
7.1广播有哪两种注册方式?有什么区别?
7.3什么是粘性广播?
7.4广播的优先级是什么?可以设置优先级吗?
7.5广播可以拦截吗?
7.6广播的生命周期?
7.7 android7.0和8.0对广播有什么限制?
8. Android性能优化
8.1U优化(U优化主要是指xm布局优化)
8.1.1Xm布局有那些优化方案?
8.1.2如何发现层级嵌套过多?
82内存优化
8.2.1为什么要内存优化?
82,2如何发现app存在內存问题(包括内存频繁分配,回收和内存泄漏问题)?
82.3使用什么工具去检查内存泄漏( mat, leakcanary)?
8.2.4内存优化包括代码优化,和图片优化(大图,多图),如何优化
82.5java几种引用的(强,软,弱,虛)
8.3网络优化
9内存相关问题
9.1内存泄漏和内存溢出有什么区别?
92gc垃圾回收机制新生代,老年代,永久代
9.3堆和栈的区别
10.进程和线程相关问题
10.1进程和线程的区别?
102进程之间如何通信?有那些方式?
10.3线程之间如何通信?有那些方式?
10.4多线程如何保证安全?
10.5多线程断点下载?
10.6类锁和对象锁的区别?
10.7什么是线程池?有哪几种线程池?线程池有什么优势?
11. Listview和 RecyclerView的区别
12. Fragment如何实现懒加载
13.自定义vew
13.1自定义VieW分为自定义Vew和自定义 ViewGroup,分别如何实现?
132自定义vew涉及到那几个方法?分别是干甚的?
133iew的绘制流程
14.MVC,MVP的区别
1java基础
1.1数据结构
11.1数组(★★★★)
1.数组的内存结构式什么样的?
2.数组大小可以改变吗?
112集合(★★★★)
1.集合的超类是什么?
2.集合的继承关系是什么?
3. ArrayList的内存结构是什么样的?
4. ArrayList为什么线程不安全?
5. Array List是查找速度快还是增删快?
6. ArrayList使用迭代器遍历的时候如何删除一个元素?
7.如何获取线程安全的List
113链表(★★★★)
1.链表的的数据结构是什么样的?
2.链表是如何进行添加,删除元素的?
3.链表相对于 ArrayList有什么区别
4.链表是查询快还是增删快?
114Map(★★★★)
1. HashMap的数据结构是什么样的?
2. HashMap添加一个元素时是如何进行添加的(源码步骤是什么样的)?
3. HashMap的1 oadFactory和 threshold是什么?是如何进行扩容的?
4.为什么 HashMap是线程不安全的?
5.如何获取一个线程安全的 HashMap
6. HashMap使用迭代器遍历的时候如何删除一个元素?
7. Android # SparseArray VS HashMap
8. ArrayMap VS HashMap
9. SparseBooleanArray, SparseIntArray, SparseLongArray
10. HashMap和 astAble区别
11.5队列(★★★★)
1.队列的数据结构是什么样的?
2.如何往队列里面添加数据和取出数据?
12常用算法(★★★★)
把几种排序算法拍个照放手机里面
1.2.1冒泡排序
122简单选择排序
1.23插入排序
124快速排序
1.25二分查找
1.3」ava反射机制,Java代理模式(★★★★)
14Java泛型(★★★★)
1.5java线程相关(★★★★)
1.5.1 Synchronized原理(★★★★★)
1.52 Volatile实现原理(★★★★★)
1.5.3方法锁、对象锁、类锁的意义和区别(★★★★★)
1.5.4线程同步的方法: Synchronized、lock、 reentrantlock
分析(★★★★)
1.5.5java锁的种类:公平锁、乐观锁、互斥锁、分段锁、偏向
锁、自旋锁等(★★)
156 Threadloca的原理和用法(★★★)
57 ThreadPool的用法和示例(★★★★)
158WatQ和seep0的区别(★★★)
159 Thread的中断机制 interrupt)(★★★★)
1.5.10线程池的实现原理(★★★★★)
2java高阶
2.1Java虚拟机,Java运行, Java GO机制(可达性分析
法,引用计数法)(★★★★★)
2,2」ava对象的完整生命周期(★★★)
23丿VM内存模型(★★★)
24进程间通信,线程间通信(★★)
25JVM类加载机制(★★★)
2Java引用类型(★★★★★)
2,7设计模式:除常用设计模式之外,特别的,反射机
制,代理模式(★★★★)
28HTTP协议和Https协议(★★★★)
29 Socket协议, Socket实现长连接(★★★
210TCP和UDP协议(★★★)
211HTTP协议中GET和POST的具体实现(★★★★)
212序列化和反序列化(★★★)
2.13数据库基础知识:多表查询、索引、数据库事务
(★★★)
3 Android初级
3.1生命周期(★★★★★
Application生命周期
Activity生命周期(横竖屏切换时生命周期变化)
Fragment生命周期(横竖屏切换时生命周期变化)
ActivIty的 onNevintent什么情况下回调用?
注意∶以上生命周期讲解必须结核demo输入log日子讲解
32 Activity几种启动模式?每一种模式分别使用什么场
景?(★★★★★)
注意:理论+demo的方式讲解
33 Service, ntentservice用法与区别?他们分别如何
与 Activity进行通信?(大★★★★)
注意:理论+demo的方式讲解
34 Fragment系列(★★★★★)
添加 Fragment的几种方式?
·add, replace, delete, attach. detach,show,hide方法有什么却别?调用不同方法
时都会执行那些生命周期方法
Fragment回退栈机制?回退栈里面是保存的 Fragment吗?如果不是那是保存的什?
如果一个 Activity里面添加了5个 Fragment,并且这个5个 Fragment都调用
addToBackstack方法加入到了回退栈里面,这5个 ragment的顺序是P1在最下
面,F5在最上面,如何在 Fragment5里面按返回键的时候回退到 Fragment2而不是回退
到 Fragment4?
( Fragment如何添加动画?动画方法里面每一个参数表示什么意思?
Fragment之间如何传值?
FragmentPageAdapter FA Fragment StatePageAdapter
注意:理论+demo的方式讲解s
3.5 ContentProvider实例详解(★★★)
注意:理论+dem的方式讲解
3.6 BroadcastReceiver使用总结(★★★★★)
BroadcastReceiver的声明周期什么时候结束?
能否在 BroadcastReceiver的 onRecelⅳve方法里面开启—个线程去执行耗时操作?如果要执行耗
时操应该怎么办?
注意:理论+demo的方式讲解
3.7 Android handler原理机制讲解(★★★★★)
38 Binder机制,共享内存实现原理(★★)
39 Android事件分发机制(★★★★★)
·为什么要有事件分发?
事件分发设计到那几个方法? Activity, viewGroup,view分别有那几个方法?
事件分发时传递的顺序( Activity, ViewGrop,view之间)?
事件分发是通过那个事件(Down,Move,Up)去寻找要消耗事件的控件?
·每一个涉及事件分发的方法里面调用 super,返回ture,返回 false的区别?
注意:理论+dem的方式讲解
3.10 Android多线程的实现: Thread、
Handler thread、 Async Task、 Intentservice、
RAva(★★★★)
·如果再想买里面要执行一个耗时操作你如何处理?是直接new-个 Thread吗?
·如何实现一个运行在子线程里面的 Hander?
AsyncTask的内部机制?它有什么限制?
注意:理论+demo的方式讲解
3.11 Activity启动流程, Activity Thread解析(★★)
3.12嵌套滑动原理(大★★☆)
这是一个能提现技术和实力的问题,如果能回答得比较好能够在给面试加分。对于想要20k(包含)
以上的的同学能好好去研究一下这个问题,即使你不要20K,如果有空最好也去研究一下,再次强调
这是一个能提现技术实力的题
3.13 RecyclerView与 Listview(缓存原理,区别联系,
优缺点)(★★★☆)
3.14view的绘制原理,自定义vieW,自定义
ViewGroup(★★★★)
315vieW、 Surfaceview与 TextureⅥieW(★★★)
3.16 View Pager的缓存实现(★★★★)
3.17 requestLayout, invalidate, postInvalidateX
别与联系(★★★★
3.18 Android新特性(★★★★)
3.19 Android两种虚拟机有那些区别(★★★★)
这个问题简述一下有那两种虚拟机,有什么区别就行
320ADB常用命令(大★★★)
321 Asset目录与res目录的区别(★★★★)
虽然这个问题被问到的几率不大,但是这个问题比较简单,所以必须去掌握一下
322主线程 Looperloop为什么不会造成死循环
(大★★★)
323 Android进程和线程 Process and
Threads(★★★★★)
· Android进程和线程(★★★★★)
Android多进程和 Application关系?(★★★★★
多进程通信解决方案: Andromeda(★★★)
324 Android页面恢复(★★★★★)
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.