安卓技术点整理

来源:互联网 发布:网络摄像头安装方案 编辑:程序博客网 时间:2024/05/21 22:45

面试的过程,也是学习的过程,被问住了,才知道自己的不足和短板,知道当前自己的真实状态,然后针对性的去研究学习,同时能体现出对方公司技术实力较强,如果去一个小点的公司,不问你技术,闲扯一通,想必你也是很失望的。
面了几家,总结起来大的公司,喜欢问底层实现原理,安卓各种源码,框架的实现机制等,小公司更关注页面功能的实现,具体的业务场景。

1.HashMap底层数据结构。
2.JVM的内存模型。
3.手写个快排算法。

public class FastSort {    public static void main(String[] args) {        int[] arr = {4,5,88,12,42,10,1,25};        int[] datasorted = quickSort(arr,0,7);        for(int a : datasorted) {              System.out.print(a + " ");          }      }    static int[] quickSort(int[] data,int left,int right){        int result;        if(left<right){            result = partition(data,left,right);            quickSort(data,left,result-1);            quickSort(data,result+1,right);        }        return data;    }    private static int partition(int[] n, int left, int right) {        // TODO Auto-generated method stub        int key = n[left];        while(left<right){            while(left<right&&n[right]>=key){                right--;            }            if(left<right){                n[left]=n[right];            }            while(left<right&&n[left]<=key){                left++;            }            if(left<right){                n[right]=n[left];            }        }        n[left] =key;        return left;    }}   

4.安卓有几种启动模式和taskAffinity属性作用。
5.你们APP的登录是如何实现的,如果遇到后端用户的秘密被篡改,如何防止此情景发生。
6.进程间通信的方式有几种,AIDL的内部原理,Binder机制的实现原理。
7.了解MVP么,写一个MVP的架构伪代码。
8.线程安全的原理,synchronized 在内存里锁住的是什么
9.看过Volley或者OkHttp吗,写下内部的组件和结构,在纸上画出来。
10.版本适配,如何针对不同的手机适配
11.intentService了解么,和普通Service有什么区别。
12.广播实现的两种方式和区别。
13.ThreadLocal是什么,有什么特点。
14.说下Http的理解(主要说三次握手建立连接四次挥手断开连接),Http响应头有哪些内容画一下。
15.Hanlder机制的实现原理,和子线程通信,主线程更新UI,安卓为什么这样设计,自己new一个线程可以更新UI么,实现方式。
16.如何在Activity里获取图片的宽高属性。自定义View中,onMeasure做了什么,什么时候拿到控件的宽高。
17.加载一个大图,比如30多M,如何对其压缩,防止OOM。
18.对于Application的理解,一个APP只能有一个Application么,为什么
19.Mysql除了增删改查,其他的一些特性(这里就是比较细的知识点,考察的就是经验了,还是的多看书,多实践)
20.写一个代码,对一个数组去除重复元素,这里需要注意的是,数组删除一个元素,后面的所有元素会向前移动一位,长度已变。
21.画出二分查找算法的流程图。
22. Cookie原理和应用场景‘
23. 类加载器ClassLoader的工作原理,对热更新,说下实现原理
24. 在已经启动的应用里,如何去执行本地一个类文件(我想到了Xposed框架,动态加载插件,也是ClassLoader相关的,具体再百度吧)
25. java有几种异常,有什么区别,如何手动抛出一个异常,手动抛的是什么异常。
26. 如何捕获应用内异常信息并提交。
27. onNewIntent()方法什么时候执行
其他知识点如内存优化,事件分发机制,设计模式,webView都该好好学习下。

原创粉丝点击