今日头条面试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011386173/article/details/82499813

面试职位:Android研发工程师

全问的Android,平时使用都是直接看接口名称,手写的时候都忘了。。。。。。

没有好好准备,没有刷题,就试水,凉凉。。。实在血亏。。。。。。

一面:

先问了项目情况,然后就项目问了几个问题。

(1)Presentation为什么能实现双屏?

1、Activity的启动模式,每种模式具体是怎样的?Activity的生命周期,Fragment的生命周期,启动一个包含Fragment的Activity时,Fragment的生命周期是怎样的?从ActivityA跳转到ActivityB,A和B的生命周期是怎样的?

2、Handler的原理

3、讲讲HandlerThread

4、讲讲IntentService及使用场景

5、SurfaceView的特点及优点(google为什么要设计surfaceview)

6、SurfaceView、Surface、TextureView的区别

7、Binder原理(为什么能实现跨进程调用另一个进程的接口,如何实现同步的)

8、讲讲AIDL,写一个AIDL的客户端和服务端例子

9、JNI的开发流程

10、cmake和android make的区别

11、view的绘制流程(measure->layout->draw),measure有什么限制

12、Touch事件的传递机制(Activity->ViewGroup->View)

13、持续集成,Maven的使用

14、插件化

15、字符串转换成图片(Bitmap)然后存入文件

16、强引用,弱引用,软引用,虚引用的概念以及什么时候被回收

17、写单例模式:1)线程安全的单例模式;2)枚举实现单例模式;3)静态内部类实现单例模式

18、4个瓶子,每个瓶子有若干药丸,目前知道其中一个瓶子被污染,被污染的瓶子的药丸每颗都比其他瓶子里的重1g,请仅称重一次判断哪个瓶子的药丸被污染了。(分别取出1,2,3,4颗

猜你喜欢

转载自blog.csdn.net/u011386173/article/details/82499813