前言
不少同学担忧的情况——“晋升无望、收入见顶、生活开支飙升、财务危机如影随形”,小编之前精心收录整理了一些关于Android开发的知识点、面试题,推荐给大家化解成长的烦恼。
它们都是我平时也经常翻看、学习的一些珍藏资料,包括Java基础、Android进阶、架构设计、NDK、音视频开发、跨平台、底层源码等技术,还有2019年一线大厂最新面试题集锦,都分享给大家,助大家学习路上披荆斩棘能力得到提升,思维得到开阔
View
- View 的滑动方式
- View 的事件分发机制
- View 的加载流程
- View 的 measure layout 和 draw 流程
- 自定义 view 需要注意的几点
Activity
- 说下 Activity 生命周期
- Activity A 启动另一个 Activity B 会调用哪些方法?如果 B 是透明主题的 又或者是个 DialogActivity 呢 ?
- 说下 onSaveInstanceState()方法的作用,何时会被调用?
- 说下 Activity 的四种启动模式、应用场景
- 了解哪些 Activity 常用的标记位 Flags
- 说下 Activity 跟 window,view 之间的关系
- 横竖屏切换的 Activity 生命周期变化
- 如何启动其他应用的 Activity
- Activity 的启动过程
Fragment
- Fragment 为什么会被称为第五大组件
- Fragment 加载到 Activity 的 2 种方式
- Fragment 与 ViewPager 的搭配使用
- Fragment 的生命周期
- 在 Fragment 中调用 Activity 中的方法
- 在 Activity 中调用 Fragment 的方法
- 在 Fragment 中调用另外一个 Fragment 的方法
- Fragment 的切换方式
- 谈谈 Activity 和 Fragment 的区别
- Fragment 中 add 与 replace 的区别(Fragment 重叠)
- getFragmentManager、getSupportFragmentManager 、 getChildFragmentManager 之间的区别
- FragmentPagerAdapter 与 FragmentStatePagerAdapter 的区别与使用场景
Bitmap
- Bitmap 使用需要注意哪些问题
- Bitmap.recycle()会立即回收么?什么时候会回收?如果没有地方使用这 个 Bitmap,为什么垃圾回收不会直接回收
- 一张 Bitmap 所占内存以及内存占用的计算
- Android 中缓存更新策略
- LRU 的原理
Service及BroadcastReceiver
- 谈一谈 Service 的生命周期
- Service 的两种启动方式?区别在哪
- 如何保证 Service 不被杀死
- 能否在 Service 开启耗时操作 ? 怎么做
- 用过哪些系统 Service
- 了解 ActivityManagerService 吗?发挥什么作用
- 广播有几种形式 ? 都有什么特点
- 广播的两种注册方式
- 广播发送和接收的原理了解吗 ?(Binder 机制、AMS)
Handler
- 谈谈消息机制 Handler 作用 ?有哪些要素 ?流程是怎样的
- 一个线程能否创建多个 Handler,Handler 跟 Looper 之间的对应关系
- 软引用跟弱引用的区别
- Handler 引起的内存泄露原因以及最佳解决方案
- 为什么系统不建议在子线程访问 UI
- Looper 死循环为什么不会导致应用卡死
- 使用 Handler 的 postDealy 后消息队列会有什么变化
- 可以在子线程直接 new 一个 Handler 吗?怎么做
- Message 可以如何创建?哪种效果更好,为什么
性能优化
- 图片的三级缓存中,图片加载到内存中,如果内存快爆了,会发生什么?怎么处理
- 内存中如果加载一张 500*500 的 png 高清图片.应该是占用多少的内存
- WebView 的性能优化
- Bitmap 如何处理大图,如一张 30M 的大图,如何预防 OOM
- 内存回收机制与 GC 算法(各种算法的优缺点以及应用场景);GC 原理时机 以及 GC 对象
- 内存泄露和内存溢出的区别 ?AS 有什么工具可以检测内存泄露
- 性能优化,怎么保证应用启动不卡顿? 黑白屏怎么处理
- 强引用置为 null,会不会被回收
- ListView 跟 RecyclerView 的区别
- ListView 的 adapter 是什么 adapter
- LinearLayout、FrameLayout、RelativeLayout 性能对比,为什么
设计模式
- 你所知道的设计模式有哪些
- 谈谈 MVC、MVP 和 MVVM,好在哪里,不好在哪里
- 封装 p 层之后.如果 p 层数据过大,如何解决
- 是否能从 Android 中举几个例子说说用到了什么设计模式
- 装饰模式和代理模式有哪些区别
- 实现单例模式有几种方法 ?懒汉式中双层锁的目的是什么 ?两次判空的目的又是什么
- 用到的一些开源框架,介绍一个看过源码的,内部实现过程
- Fragment 如果在 Adapter 中使用应该如何解耦
线程
- 线程池的好处? 四种线程池的使用场景,线程池的几个参数的理解
- Android 中还了解哪些方便线程切换的类
- 讲讲 AsyncTask 的原理
- IntentService 有什么用
- 直接在 Activity 中创建一个 thread 跟在 service 中创建一个 thread 之间 的区别
- ThreadPoolExecutor 的工作策略
- Handler、Thread 和 HandlerThread 的差别
- ThreadLocal 的原理
- 多线程是否一定会高效(优缺点)
- 多线程中,让你做一个单例,你会怎么做
- 除了 notify 还有什么方式可以唤醒线程
- 什么是 ANR ? 什么情况会出现 ANR ?如何避免 ? 在不看代码的情况 下如何快速定位出现 ANR 问题所在
算法
- ViewGroup的层级深度,转换为二叉树的层级深度
- 查找两个字符串的交集和字符串1中有字符串2中没有的问题
- String字符串的数字相加
- 使用三个线程顺序打印有序的数组
- 给定一个有序的数组和目标数,找出与目标数最近接的index,要求复杂度是log(n)的时间复杂度
- 二叉树的深度和广度,要求一次遍历
- 给定一个二叉树和一个目标数,在二叉树中是否存在一条路径的所有节点的和与目标数是相同的case,并且打印
- m*n的二维数组,做(0,0)出发,可以上下左右走,0为畅通,1为阻塞,目标位置(k,j),问是否能到达这个位置
- int数组,除了一个数字外,其他数字都出现两次,找出这个只出现一次的数字
- 一个无序的int数组,给一个target数字,找出数组中两个数字相加为target,并输出坐标
- 数组中存有1-3的三种数字,例如[1,2,3,1,2,2,1,3,3],将其排序为[1,1,1,2,2,2,3,3,3],要求时间复杂度,后续将内容变为一个对象,继续排序
- 1~100盏灯,都是亮的,第一次将能被1整除的数的灯按下,变暗,第二次将能被2整除的数的等按下,变亮,第三次将能被3整除的数的等按下,变暗…第100次将能被100整除的数的灯按下,问,最后有多少盏灯是亮的
最后
感谢大家能耐着性子,看完我啰哩啰嗦的文章。
由于篇幅原因,答案没有一一上传,需要答案的朋友们可以点赞,关注我,关注微信公众号【Android开发之家】免费领取
在这里我也分享一份自己收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习
相关推荐
黑马程序员——Android移动开发源码
android开发高手进阶中国程序员
《Android开发关键技术之旅(Java程序员快速学习通道)》由颜建华所著,以iPhone的发布为开端,以Android系统的全面普及为标志,新型智能手机的广泛应用宣布了新的互联网时代的到来。时至今日,看看市场上琳琅满目、满...
在IT行业中,Android是一种基于Linux...总之,通过这个“程序员表白系列--Android”,开发者不仅可以学习到Android开发的基础知识,还能锻炼创意和情感表达能力,创造出独一无二的表白应用,让技术成为传递情感的桥梁。
《黑马程序员Android学习笔记》是一份专为初学者设计的详尽教程,旨在帮助那些希望踏入安卓开发领域的人员快速掌握核心知识。这份笔记涵盖了从基础到进阶的多个主题,帮助学习者系统地理解Android应用开发的过程。 ...
程序员35岁之前成功12条法则 程序员35岁之前成功12条法则
黑马程序员精通Android4.0开发视频 百度网盘下载
《Android高薪之路:Android程序员面试宝典》目录: 第1章 Android入门 1 1 关于Android的非技术问题 1 1 1 为什么看好 Android 1 1 2 以前是否从事过Android的工作 做过哪些工作 1 1 3 你做的最复杂的界面是什么 1 ...
这本书旨在帮助Android程序员在求职面试中展现出扎实的技术功底,从而获得理想的工作机会,走上高薪之路。 首先,本书涵盖了Android开发的基础知识,包括Android系统的架构、组件模型(Activity、Service、...
《Android高薪之路:Android程序员面试宝典》取材于各大IT公司面试真题,所给出的试题尽可能地覆盖了Android应用开发的各个方面,而且大多数试题都有解析部分,读者可以通过这部分更深入地理解试题中所包含的技术内容...
中文版Android程序员向导,资源丰富,详细说明了如何作为Android开发人员进阶方向,值得分享给大家!
在IT行业中,尤其是在Android开发领域,一份精心设计的简历是展示个人技能和经验的重要途径。"Android程序员简历模板.rar"提供了两种格式的模板——Android程序员简历模板.docx和Android程序员简历模板.pdf,帮助...
Android高薪之路:Android程序员面试宝典
《Android程序员入门开发宝典》是一本专门为初学者设计的指南,旨在帮助那些对Android开发感兴趣的人快速掌握基础知识,步入专业开发者的行列。这本宝典涵盖了从安装开发环境到编写第一个应用程序的所有关键步骤,是...
根据提供的文件信息,我们可以推断出这是一本关于Android编程的指南书籍的部分内容。下面将根据给定的信息,包括标题、描述、标签以及部分内容,详细地解析与Android编程相关的知识点。 ### Android程序员指南 ###...
通过深入学习上述知识点,配合“Android程序员入门(中文版).doc”文档的详细指导,您将逐步建立起Android开发的基础,并能构建自己的第一个Android应用。持续学习和实践,不断跟进最新的Android版本和开发趋势,将使...
Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C/C++程序员简历模板 NodeJS程序员简历模板 架构师简历模板 通用程序员简历模板PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web...
1. 《Android程序员指南》:这份PDF文件可能是对Android开发环境的搭建、基本组件如Activity、Intent、BroadcastReceiver的介绍,以及Android应用生命周期的详细解析。它可能还包括关于布局设计、数据存储、网络通信...
Android程序员简历最新版