2018年经济遭遇寒潮,许多处于风口的互联网大厂为求自保也不得不裁员。作为一个开发人员,面对复杂多样的技术,我们更应该清楚认识到自身技术的短板,不断学习来巩固知识。目前移动端Android初中级人才大量涌入,正所谓僧多粥少,形势异常严峻,但只要自身有过硬的知识广度和深度储备,在寒冬之下,同样也能站稳脚跟。
那么面试中通常涉及到的知识有
Activity
说下Activity生命周期 ?
Activity A 启动另一个Activity B 会调用哪些方法?如果B是透明主题的又或则是个DialogActivity呢 ?
说下onSaveInstanceState()方法的作用 ? 何时会被调用?
说下 Activity的四种启动模式、应用场景 ?
了解哪些Activity常用的标记位Flags?
说下 Activity跟window,view之间的关系?
横竖屏切换的Activity生命周期变化?
如何启动其他应用的Activity?
Activity的启动过程?
Fragment
谈一谈Fragment的生命周期 ?与Activity生命周期的不同 ?
谈谈Activity和Fragment的区别?
Fragment中add与replace的区别(Fragment重叠)
getFragmentManager、getSupportFragmentManager 、getChildFragmentManager之间的区别?
FragmentPagerAdapter与FragmentStatePagerAdapter的区别与使用场景
Service
谈一谈Service的生命周期?
Service的两种启动方式?区别在哪?
如何保证Service不被杀死 ?
能否在Service开启耗时操作 ? 怎么做 ?
用过哪些系统Service ?
了解ActivityManagerService吗?发挥什么作用
Broadcast Receiver
广播有几种形式 ? 都有什么特点 ?
广播的两种注册方式 ?
广播发送和接收的原理了解吗 ?(Binder机制、AMS)
ContentProvider
ContentProvider了解多少?
ContentProvider的权限管理?
数据存储
描述一下Android数据持久存储方式?
SharedPreferences的应用场景?注意事项?
了解SQLite中的事务操作吗?是如何做的
使用SQLite做批量操作有什么好的方法吗?
如何删除SQLite中表的个别字段?
使用SQLite时会有哪些优化操作?
更多内容道客优