好吧,说实话是自己面试被问到的和自己整理的别人的一些问题,很多问题的回答可能根据水平不同层次和深度不同,如果经常忘的话可能是还没明白原理,学习就是对对抗遗忘,现在开始复习吧:
每个面试的问题都极大的贴近他们自己的项目,所以问题角度的差别肯定有的,有的可能是直接的知识点,大部分需要自己总结后才能有条理的回答。平时记得多总结相似场景的问题。
其中Q是问题,A是我总结的一些博客和相关知识,算是比较中庸的回答吧。最难问题就是你对某某技术了解么,会某某么?没有具体场景,直接抛给你一个回答层次可上天可入地的问题,这些对于牛人来说就是侃侃而谈的机会对现在的我就是个无言以对的大陷阱啊。分寸太TM难掌握了。
Scene01:
- Q:网络编程?
Q:html5和Reactive了解多少?
Q:app的安全策略。
A:这个问题更像是安全测试的内容,原谅我把我们安全测试的checklist直接搬过来:APP安全测评checklist
Q:内存泄露的原因和解决
A: 这篇不错,救了我:Android性能优化之常见的内存泄漏
Q:app架构熟悉么?MVP和MVVM简介
A:这个还好以前我总结过:20151226-App架构以及MVP和MVVM了解 - Activity的启动流程,AMS等是怎么作用的,Fw层的源码了解多少?
A:老罗的博客:Android应用程序启动过程源代码分析 - 自定义控件,View的各个绘制方法的作用和区别。
A:这两篇简单清晰:教你搞定Android自定义View
教你搞定Android自定义ViewGroup - 做J2EE的java和的app的区别,数据库基本的命令?
- 你目前和以后的职业规划是什么?
Scene02:
- Looper的机制,主线程和子线程之间发消息是怎么用,如果自己实现的话怎样?
- ListView的不流畅可能什么造成的,里面ImageView如果异步的话怎么保证不乱(用什么设置tag?eg,用hashcode去检查,是不是有点像UIL中检查是否被下载过),ListView中如果有ViewPager的怎么处理滑动冲突,阻断父类listview滑动只处理viewpager本身的。
Q:事件传递机制怎么解释清楚。
A: Android事件传递机制
郭霖的博客:Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
我就是爱收藏blog怎么了?一张图看清Android事件传递机制
Q:gallery为什么被废弃
A: API官网是这么说Gallery的:
This class was deprecated in API level 16.This widget is no longer supported. Other horizontally scrolling widgets include HorizontalScrollView
and ViewPager
from the support library.
废弃了,因为不重用视图导致每次切换都视图重建浪费资源吧:你要真想用,这里有个https://github.com/falnatsheh/EcoGallery/
具体解释:http://stackoverflow.com/questions/11868503/the-type-gallery-is-deprecated-whats-the-best-alternative
不放心的话只有抽时间读读源码了-TODO - AOP(Aspect Orient Programming),面向切面的编程体现在代码中到底是怎样的,和嵌入式那种的区别? 比如网络请求这块,如果添加一些请求拦截?
- 对java基础和设计模式的掌握和感想,解耦的模式?(接口编程的)
- 自定义控件中精确点击和手势操作图片。类似瀑布流自定义GridImageView的VIewGroup,手势操作图片
- 滤镜应用?保证图片高保真压缩的方法?JNI编程?Canvas抗锯齿选项的原理
- 线程池,ThreadLocal,多线程利用吗?怎么协调异步请求。
- Q:Volley中处理请求的机制是怎样的
Q:印象深刻的攻关项目 - 这里面的被问到了,回答肯定很有技术层次感:https://www.zhihu.com/question/40909636/answer/88775539
最后,知识确实也是,不看就忘,常看常新~
原文链接:Android面试必备