博主是一个渣渣末流二本,非科班出身,半路出家的学渣,专业成绩一般,2020年4月末才开始投简历,相继投了一百多份简历,愿意给面试机会的寥寥无几,连十几家国企都没有给俺一个机会,怀疑被列入黑名单了(开玩笑),面试也吃了很多亏,众多大厂中,只有多益给了面试的机会,最后拿到了offer,然而......它的风评实在是让我望而止步。
深刻地意识到自己是个five,所以决定写一篇博客来记录面试可能遇到的问题和知识点,还不是很全面,但是会持续更新,共勉!
四大组件
面试问题:
https://github.com/Ellen2018/AndroidFaceInterview/blob/master/Android%E9%83%A8%E5%88%86%E7%AD%94%E6%A1%88/Android%E9%83%A8%E5%88%86-1%20Activity%E7%AD%94%E6%A1%88.md
面试问题:
https://github.com/Ellen2018/AndroidFaceInterview/blob/master/Android%E9%83%A8%E5%88%86%E7%AD%94%E6%A1%88/Android%E9%83%A8%E5%88%86-4%20Service.md
使用详解:
https://www.jianshu.com/p/f348f6d7fe59
IntentService:
https://blog.csdn.net/ClAndEllen/article/details/79346624
Service保活:
https://www.cnblogs.com/blosaa/p/9530625.html
后台应用保活,消息推送:
https://www.jianshu.com/p/55ebdfb91272
第五大组件Fragment
Activity和Fragment各种情况下的生命周期
https://blog.csdn.net/Nobody_else_/article/details/105432449
Android各版本的改动和不同:
ListView
RecycleView
自定义View
https://www.jianshu.com/p/e9d8420b1b9c
Gson
https://www.cnblogs.com/haippy/archive/2012/05/20/2509329.html
为什么尽量不用全局静态变量作为数据载体在Activity之间传输
Activity通信数据量大应该使用什么方案(避免Itent传大量数据)
弹出对话框或者浮层为何使用DialogFragment,而非Dialog/AlertDialog(便于生命周期的管理)
不要在Application中存储数据(如Activity被杀死再重构会导致数据丢失)
getExternalCacheDir与getCacheDir的区别
https://blog.csdn.net/carsonwoo/article/details/89142756
Android的多进程的问题
1)不能实现完全退出所有Activity的功能;
2)首次进入新启动进程的页面时会有延时的现象(有可能黑屏、白屏几秒);
3)应用内多进程时,Application实例化多次,需要考虑各个模块是否都需要在所有进程中初始化;
4)多进程间通过SharedPreferences共享数据时不稳定。
多进程下的SharedPreferences
https://juejin.im/entry/590833711b69e60058eb34b9
为什么尽量不要用AnimationDrawable
初始化的时候就将所有图片加载到内存中,特别占内存并且还不能释放,释放之后下次进入再次加载时会报错。
Glide的缓存机制
PendingIntent
在不怎么降低视觉效果的前提下减少内存占用
同时播放多个gif需要注意什么,单个gif图片大小有什么限制
刷新某一区域的组件,如何避免引发全局layout的刷新
1)设置固定的view大小的高宽,如倒计时组件等;
2)调用view的layout方式修改位置,如弹幕组件等;
3)通过修改canvas位置并且调用invalidate(int l, int t, int r, int b)等方式限定刷新 区域;
4)通过设置一个是否允许requestLayout的变量,然后重写控件的requestlayout、onSizeChanged方法,判断控件的大小没有改变的情况下,当进入requestLayout的时候,直接返回而不调用super的requestLayout方法。
ARGB_565和ARGB_888
为什么ViewGroup多重嵌套时,使用RelativeLayout比LinearLayout更好?(有效降低嵌套数)
dp、dx、dip等等的布局参数单位区别
各种手机屏幕的适配
设计布局时多次设置子view和父view中为同样的背景有什么问题(造成页面过度绘制)
为什么不能使用ScrollView包裹ListView/GridView/ExpandableListVIew
因为这样会把ListView的所有Item都加载到内存中,要消耗巨大的内存和cpu去绘制图面。说明:ScrollView中嵌套List或RecyclerView的做法官方明确禁止。除了开发过程中遇到的各种视觉和交互问题,这种做法对性能也有较大损耗。ListView等UI组件自身有垂直滚动功能,也没有必要在嵌套一层ScrollView。目前为了较好的UI体验,更贴近Material Design的设计,推荐使用NestedScrollView。
Java的优缺点:
百度即可
面向对象的三大特征:封装、继承、多态
https://blog.csdn.net/qq_43304572/article/details/82949989
List、Map和Set的区别,以及它们的使用场景
https://blog.csdn.net/Nobody_else_/article/details/105658244
操作系统是什么?
百度即可
什么是进程?什么是线程?二者的区别
https://blog.csdn.net/Nobody_else_/article/details/99723149
Java各种变量的不同,各种数据类型的默认值
https://blog.csdn.net/Nobody_else_/article/details/97510865
哈希冲突
HashMap的时间复杂度
https://blog.csdn.net/donggua3694857/article/details/64127131/
泛型
https://www.zhihu.com/question/272185241
对象和类的生命周期
https://blog.csdn.net/qq_25005909/article/details/78981512
GC的原理
https://www.cnblogs.com/yy3b2007com/p/10975870.html
音频
视频
单例模式
https://blog.csdn.net/Nobody_else_/article/details/97619462
饿汉模式和懒汉模式
https://blog.csdn.net/Nobody_else_/article/details/97619462
链表与数组的主要区别
https://www.cnblogs.com/wzb0228/p/11670436.html
堆和栈的区别
如何判断链表有环
https://blog.csdn.net/u010983881/article/details/78896293
各种数据类型存储在栈内还是堆内
https://www.nowcoder.com/ta/coding-interviews
https://leetcode-cn.com/
时间复杂度和空间复杂度的计算和判断
堆排序算法
https://blog.csdn.net/u010452388/article/details/81283998
二叉树第K层节点的遍历
https://blog.csdn.net/jcm666666/article/details/52554579
栈的最大值
https://blog.csdn.net/taotaotheripper/article/details/8652665
反转链表
https://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca
2维平面n个点,一条直线最多通过多少个点
https://blog.csdn.net/zy854816286/article/details/104874415
比较两个版本号大小
https://blog.csdn.net/admans/article/details/81865652
1到n的所有排列
https://blog.csdn.net/qq_38800127/article/details/90273176
排序算法的稳定性和意义
https://blog.csdn.net/serena_0916/article/details/53893070
递归的缺点
HTTP和HTTPS有什么不同
https://blog.csdn.net/xiaoming100001/article/details/81109617
传输层tcp协议如何保证可靠传输
https://blog.csdn.net/liuchenxia8/article/details/80428157