本文主要是介绍今日头条面试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
面试职位: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颗) |
这篇关于今日头条面试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!