高薪25k进阶高级Android开发,你需要准备的面试
18K到25K以上的,想从一个只会粘贴复制的初级安卓开发工程师进阶到
基础扎实、熟知源码的中高级安卓开发的面试是怎样准备的?
-
Java基础,讲究深度,看源码(比如hashmap以及put 和get方法)。
-
开源框架的源码,学会自己封装、扩展一些第三方类库。尤其是针对常用的数据列表控件recycleview、listview,解析框架gson,图片加载框架Glide,内存优化,内存溢出,以及其他的如传感器(sensormanager)。还有其他性能适配方面的也会涉及,例如兼容性(两个方面,一方面UI适配(今日头条适配方案),另一方面是性能适配(so文件))。
*算法。一般大公司都会问一些算法。leetcode刷题是基本功能,但是更要刷一题懂一题,因为算法是关于数据结构的知识,所以,数据结构基本功要扎实,不会的,网上视频很多。
算法一般常用的几个排序要会写。没事琢磨琢磨,你手机上一些常用APP,他们哪些地方用到了算法?又是怎么做的?
*目前非常火的就是hybrid混合开发(偏前端),这个要开始写一个项目了。简单的都行。从Github上下载一个项目,自己再敲一遍。
*很重要。就是据我所知,很多应用都准备加入小视频的功能。很多大公司的APP也是。所以,视频音频,这个必须会。GitHub上很多这方面的源码,可以下载自己看看,不说自己敲一遍,至少要知道用什么,怎么做。
*基础知识 – 四大组件(生命周期,使用场景,如何启动)
java基础 – 数据结构,线程,mvc/MVP/MVVM框架
通信 – 网络连接(HttpClient,HttpUrlConnetion),Socket
数据持久化 – SQLite,SharedPreferences,ContentProvider
性能优化 – 布局优化,内存优化,电量优化
安全 – 数据加密,代码混淆,WebView/Js调用,https
UI– 动画,view自定义,adapter的泛型和不指定参数数量的优化,滑动控件的深度优化,图表
其他 – JNI,AIDL,Handler,Intent等
开源框架 – OKHTTP,Gilde,RxJava,Gson等