话不多说,步入正题吧,下面是我发现最近Android面试比较常见的题
- 双亲委托机制
- 自己定义java.lang.String, 在其他地方调用String类,调用的是系统的还是自定义的
- 同一个类用两个类加载器加载是否一样
- 类加载器的分类
- 类加载器在插件化中的应用
- 一个线程有几个Handler,如果一个线程有多个Handler,那么怎么系统怎么确定某个Message所回调到的handleMessage方法
- 两个副线程可以使用Looper.prepare公用一个MessageQueue吗?如果可以怎么实现
- HandlerThread的用法
- volatile关键词
- lReentrantLock
- synchronized(同步代码快,同步函数,同步变量有什么区别)
- 有使用过什么多线程类?
- (回答任意一个都会追究到源码级,例如说AsyncTask,会问AsyncTask的线程池,并行和串行实现以及BlockingQueue的源码)
- A,B两线程同时启动,A执行到某一段必须等待B执行完才能接着执行,怎么实现?(消费者生产者模式)
- 书写一个线程安全的单例模式(纯手写)
- 列举几个源码中你觉得用的比较好的设计模式并举例(AlertDialog Builder)
- 自己实现String的equals方法
- 字符串反转算法
- 十二个球,其中有一个球和其他球重量不一样,使用天平用最少的次数找到该球
- 计算二叉树的最长叶子(从根到叶子的最长距离)
- 用两个栈模拟一个队列
- Binder在BindingService中的使用场景
- 简要描述同步Binder和异步Binder实现
- Binder在SM(ServiceManager)中的应用
- 如何实现右滑返回上一页(需要从Activity.dispatchTouchEvent描述到View消耗实现,设计到getX,getRawX,ACTIONDOWNACTION_MOVE,interceptTouchEvent,dispatchTouchEvent,onTouchEvent等)
- 如果ViewGroup的interceptTouchEvent返回true,事件会传递到那里
- 自定义View的方式及相关函数
- 属性动画(涉及到ValueAnimator和ObjectAnimator,TranslateAnimator,会说出一个动画效果让你讲实现思路)
- 怎么实现一个3D旋转动画(Camera API)
- 属性动画的内部实现
- 列举几个RXJava常用的操作符(我说明了map和flatMap)
- StringRequest和JsonObjectRequest等请求类说明(源码级,我回答的略渣记得)
***************************************************
#Android##面试题##Android面试##面试#