北邮人上摘抄一爱奇艺Android面试题目如下
一面:
1.java内存介绍,堆栈的区别,堆栈介绍,堆中常量池和新建的对象保存的地方2.倒置一个链表
3.链表和数组的区别,查找某个元素和插入某个元素的时间空间复杂度
4.IntentFlag中设置启动模式和manifest设置启动模式的区别,activity启动模式介绍,singleTask应用场景
5.dispatch,intercept,onTouchEvent介绍,例如给出实图demo,viewGroup->viewgroup->view,说明当点击view控件时,三个方法的调用顺序
6.介绍activityThread
7.一个类中两个方法,两个方法分别操作产量a和b,并且两个方法都增加了synchronized修饰,两个产量的修改会同步吗?如何还有什么方法可以实现同步,使用方法内的同步代码块实现
8.service和线程的区别?
9.synchronized和volatile介绍,volatile实现原理
10.写个冒泡排序
11.anr介绍,发生anr如何解决,service会发生anr吗?
12.介绍项目中技术和遇到的问题,如何解决的
13.final关键字的作用,常见的应用场景
二面:
1.java设计模式介绍,安卓中有哪些应用体现设计模式,例如单例模式,工厂模式,观察者模式,适配器模式等,这个很重要
2.一个单链表,如何发现里面是否存在回环,用两个指针实现
3.介绍冒泡排序和快速排序,从时间复杂度和空间复杂度分析,快排什么情况下效率最差?
4.hashmap和table介绍,hashmap是线程安全的吗,如何保证线程安全?
5.进程和线程区别,进程间通信方式,线程间通信方式
6.如何设置线程优先级,线程优先级调度算法
7.asychTask内部的实现机制,它有自己的线程池吗?
8.线程间同步方法,除了synchronized之外
下面分开一个个的学习
一面
1.http://blog.youkuaiyun.com/molu_chase/article/details/52356346
2.http://blog.youkuaiyun.com/molu_chase/article/details/52386500