个人认为如下:
①java基础(如面向对象,多线程,集合类及集合之间的区别,网络通信等)要熟悉;
②安卓方面:事件分发机制、Handler消息处理机制、AsyncTask异步操作、Android SDK的特性,Android数据缓存、SharedPreferences、SQLite、File、Android常用的布局,四大组件及Fragment(特别是Activity的生命周期) 、图片三级缓存原理等要熟悉;知道Android的JNI开发流程;自定义控件技术、常用动画、Android系统运行原理与整体架构、ActivityManagerService、WindowManagerService的主要功能要理解;还有了解常见的数据结构与设计模式等;常用的开源框架,比如okhttp,xUtils3要知道,最好自己练习过。