返回信息流百度面试:
1.安卓relativelayout和linearlayout有什么区别
2.对设计模式的设计原则是如何理解的,例如对开放封闭原则的理解?
3.两个有序的链表,如何合并?写算法。假如两个链表无序呢?如何合并,能够想到几种方法,对他们的时间复杂度进行分析。
4.写个快速排序,说说过程。
5.一个list,里面是Integer类型的数据,如何去除里面的偶数元素,偶数元素可能有多个,遍历采用两种方式来着,for循环和iterator两种方式来实现,假如这个list内部用链表存数据,两种遍历方式有什么区别,哪种方式更好。
6.一个类a,里面有个int型变量,有个方法test,参数是类a的引用,方法体是a.i=10。main方法初始化类a,调用test(a),然后输出a.i等于多少,问输出是什么?从jvm的堆栈分析函数调用过程。
7.安卓binder机制中,client如何调用server的服务接口,中间过程是如何实现的,这个中间包括一个proxy和一个和service接口对应的东西,他们两个如何设置能保证不同进程之间的通信。
8.介绍下安卓四大组件和常用的应用场景。
9.使用service和broadcastReceiver有什么需要注意的?
10.如何对安卓进行内存优化,如果发生内存泄露如何排查内存泄露点,用过第三方的内存泄露分析工具吗?
11.假如一个集合里面存储的callback回调,这个是观察者模式,集合里面存储的是object的register和unregister,假如我遍历这个callback集合,在遍历的过程,如果有register和unregister操作,程序6会抛出同步异常,假如我用synchronized修饰,程序还是会抛出同步异常,为什么?
12.时针和分针在12点的位置重合,24小时之后他们之间重合了几次,用数学问题来回答这个问题,角速度,公式去计算,不能直接数。
13.说下linux hook机制,是怎么hook内核函数的,安卓app如何防止被其他应用hook自己的进程?
14.介绍下安卓线程
15.广播静态注册和动态注册的区别,他们的区别是什么,什么时候用动态注册,什么时候用静态注册。
16.早期的安卓对于sqlite数据库,每次打开数据库的时候,有个static hashmap<integer, weakRefrence<Sqlite实例>>,每次读取数据库都会往hashmap中add一个元素,但是添加的元素是sqlite数据库的弱引用,为什么还是会发生内存溢出的现象?
17.假如我有个音乐播放的app,当播放音乐的时候,需要解析本地的so库,解析so库是位于主线程还是子线程?
18.handler可以用于线程间通信,handler也可以用于进程间通信,知道吗?他们的本质都是binder实现的,这个过程介绍下。
19.后台的service如何防止不被杀死。
20.说下activity的生命周期,按下back键和home键回调哪些函数,有什么不同?
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #32147同步于 2016/9/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
今天上午百度面试安卓开发总结
nijian81
2016/9/25镜像同步31 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复