作者:老白
前言
2016年7月就职于杭州某某公司,从事安卓开发,先后担任过移动研发主管,项目部技术主管一职。
因为疫情原因,年后全公司都在家办公,2020年2月24日本应是很开心的一天,因为单位提前通知这天要去公司上班;而等待我的是裁员通知。
2020年2月21日上午人事通知我,CTO要找我聊,于是上午10点左右,HR,CTO,我,三个人钉钉上开始语音,CTO做了些铺垫,告诉我这对他们是很艰难的选择,说大家都很优秀,除了我被裁掉,还有其它人。
我表示理解公司的决策,于是CTO让人事继续和我聊补偿事宜,自己先退了出聊天。
HR女士告诉我,2月24日是我最后一天工作,我所在的整个部门解散了,之前自己提早知道了裁员的消息,看我在群里处理事情认真负责的工作态度,自己觉得很感动(HR女士能这样讲, 我当时听到也很感动,但紧接着后面又一次的电话沟通,证明这是打感情牌,仅此而已)。
2020年2月24日,我到公司上班,想到在这个公司工作了3年多,到最后人事这样说话,虽然很难过,但也觉得释然了,没什么留恋的了,想着尽快办完离职,结束这趟行程, 好好整理下自己,开始下份工作,哪里都精彩,能屈能伸是好汉。
接下来几个月开启找工作之旅,索性皇天不负苦心人,2个月后找到了自己比较满意的工作,按照之前承诺,给大家做一遍分享!
Android面试题
- 谈谈Activity的生命周期
- 介绍不同场景下Activity生命周期的变化过程
- Activity销毁但Task如果没有销毁掉,当Activity重启时这个 AsyncTask该如何解决?
- Asynctask为什么要设置为只能够一次任务
- 若Activity已经销毁,此时AsynTask执行完并返回结果,会报异常么?
- 内存不足时,系统会杀死后台的Activity,如果需要进行一些临时状态的保存,在哪个方法进行
- 介绍Activity 四中launchMode:
- LaunchMode使用场景
- 如何把一个应用设置为系统应用
- Activity,Window,View三者的联系和区别?
- Activity启动Service的两种方式
- Android两个应用能在同一个任务栈吗?
- Fragment是什么?你曾经遇到哪些有关Fragment的问题?
- Fragment生命周期
- 如何实现Activity窗口快速变暗
- Fragment重叠问题
- 是否使用过本地广播,和全局广播有什么区别?
- 注册广播的几种方法?
- 为什么Android引入广播机制?
- BroadCastReceiver的安全性问题
- 了解IntentServices吗?
- Service的onCreate运行在哪个线程中?
- 提升Service进程优先级
- 介绍Android下的数据存储方式
- ContentProvider是如何实现数据共享
- 如何将SQLite数据库(dictionary.db文件)与apk文件一起发布?
- Webview中的漏洞
- Service和Activity通信
- 如何保证Service在后台不被kill
- 谈谈你对Android中Context的理解
- RemoteView的应用
- Android中如何获得手机的唯一标示.
- Android应用中验证码登录都有哪些实现方案
- 为什么要设计Bundle而不是直接使用Map?
- Android中XML解析方式的比较急优缺点
布局相关
- LinearLayout和RelativeLayout性能对比
- 屏幕适配相关
- dp, dip, dpi, px, sp是什么意思以及他们的换算公式?layout-sw400dp, layout-h400dp分别代表什么意思
- 布局优化
- mipmap文件夹和drawable文件夹的区别
- ListView卡顿的原因以及优化策略
- 如何实现一个局部更新的ListView
- 如何实现ListView多种布局
- ViewHolder为什么要被声明成静态内部类
进程,线程
- 有哪些进程通信的方式?
- AIDL是什么?
- AIDL 体现了哪些设计思想
- Binder机制
- 简单的说说Handler机制
动画相关
- Android中的动画有哪些?
- Android动画原理
- Android属性动画特性
View绘制相关
- SurfaceView和View的区别
- 介绍下自定义view的基本流程
- 谈谈View的绘制流程
- 自定义View执行invalidate()方法,为什么有时候不会回调onDraw()
- 如何实现一个字体的描边与阴影效果
事件传递机制
- 谈谈touch事件的传递流程
- 简单来说:
- View中setOnTouchListener中的* onTouch,onTouchEvent,onClick的执行顺序
- Android下滑冲突的常见解决思路
高效使用Bitmap
- 谈谈你对Bitmap的理解,以及什么时候该bitmap.recycle()
反射相关
- 什么时候会用到反射?
- 你曾经利用反射做过什么?
JNI系列
- NDK是什么?
- Android ndk主要在哪些场景下使用?有啥坑?
- NDK开发需要注意什么?
- 使用JNI的流程?
- 如何通过JNI传递String对象
网络优化
- 移动端获取数据优化的几个点
- 如何设计一个良好的网络层?
- 如何防止重复发送网络请求
- 如何实现wap联网
测试与调试
- 如何调试Android应用程序
- Android中常用的测试工具?
内存泄漏/内存溢出相关
- 内存泄漏问题
- 哪些情况下发生OOM
- 如何排查OOM
- 如何避免OOM
- ANR错误
什么是ANR
- 如何定位ANR错误
- 如何避免ANR
安全相关
- 本地存储的数据怎么加密好?比如:shared_prefs,sqlite数据,用户名,密码等.如果是aes加密,怎么保存key?
系统相关
- Android各版本API区别
- 什么是Dalvik虚拟机
- Dalvik虚拟机和JVM有什么区别
- Android为每个应用程序分配的内存大小是多少
- 如何解决方法数65k问题?
- Android系统启动流程分析
最后
无论什么技术,热不热门,学习都是不可间断的,乘着年轻磨砺技术才是王道,不然在程序员这个后浪一波比一波汹涌的职业里混,你想吃青春饭都吃不了几年。不过,想提升是一回事,如何有效提升就是另一回事了。我工作近十年,也带过不少实习生、应届生,很多年轻人真的很努力在学,加班加点工作卖力,但也就是差点火候,还是方法不对。
小编收集整理了一些 Android 开发相关的学习文档、面试题、Android 核心笔记等等文档,希望能帮助到大家学习提升,如有需要参考的可以直接去我 CodeChina地址:https://codechina.csdn.net/u012165769/Android-T3 访问查阅。