2.Java线程池
Stackoverflow 上人气最旺的 10 个 Java 问题
----------------------------------------------------------------------------------------------------------------------------------------------------------
1.Activity、View、Window的理解;
各LaunchMode的使用场景;
View自定义、绘制流程,Touch事件机制;
Android动画的原理;
Handler, Looper的理解;
Android跨进程通讯的方式,Binder的理解
2.Java:基本上就是Effective Java那本书里提到的东西
3.多线程
4.印象最深刻的一次编程,解决什么难题
--------------------------------------------------------------------------------------------------------------------------------
借鉴面试经历:
第一块:先会根据你的简历来问,比如你其中的项目用到了哪些技术或者框架,让你具体展开来讲。
1.Volley框架的特点和内部大概的实现流程。
2.PullToRefreshView控件如何实现下拉刷新。
3.自定义控件开发所需要的步骤。
第二块:问你一些Android相关的问题,面比较广,问的比较深入细致。有一些忘记了,能够想到的问到的问题如下:
1.Activity生命周期(烂大街问题),其中问到onPause与onStop的区别。
2.一个控件的绘制流程(onMeasure,onLayout,onDraw这些函数的调用顺序)
根据此让我设计一个自带下划线的TextView
3.Touch事件的调用过程(与dispatch,interrupt,onTouch相关)
4.如何做屏幕适配。
第三块:问一些http、java方面的知识。相对比较少,但点很细。能够想到的问题如下:
1.http的request、response。具体问到不同的方法的特点(get、post),报文格式,response的返回码(2xx、4xx、500)代表的含义。
2.java中hashmap的实现。
--------------------------------------------------------------------------------------------------------------------------
1.平时对Android原理知识积累,特别是一些流程化的过程。不但能懂更要会用。
2.对一些常用框架的理解。想要深入可能需要一段时间,但是最起码不能停留在只会用的阶段。
比如网络操作相关的 Volley okHttp Retrofit等
图片加载相关的 universal-image-loader、picasso、glide等
还有一些提升效率的比如 butterknife
也可以了解一下最近比较火的 RxJava Dagger
3.注重基础知识,把自己的底子打牢
4.设计模式