走进Android架构!面试要掌握这几个关键点!终获offer

背景

坐标广州,五年iOS开发经验。

最近面试了一位工作12年的程序员,

这位老哥有3年java开发经验,2年H5,7年iOS开发经验,简历上写着精通Java,iOS,熟悉H5开发。没有具体的技术点。

说实话我很期待这位老哥的面试,于是让人事邀约了他。

老哥面试的气场很足,我也很尊敬他,一大波的自我介绍之后,我们进入了正题。

我问了他Runloop,他说几乎没用过Runloop,于是我给他举了个小例子,老哥给我的答案是百度可以解决。

于是我有问了他KVC,老哥还是说不清楚,于是我问了最基础的copy,weak等几个关键词,依旧说不清楚,老哥依旧那么强势霸气,他给到我的感觉就是“为啥都会做,你别问这些没用的”。

看着他简历上写着,精通安卓iOS开发,熟悉跨平台开发,js交互,我问了一句了解Flutter吗?他说不知道没听过,最后问了一句期望薪资他说25k,我不知道问什么了,于是匆匆结束了面试。

下面分享一下各个公司的面试题目

爱奇艺

1.Android消息机制 2.Android View绘制流程,当一个TextView的实例调用setText()方法后执行了什么 3.Android dalvik虚拟机和Art虚拟机的优化升级点 4.Android屏幕渲染机制 5.热修复的原理,你都了解过哪几种热修复框架 6.OkHttp的原理 7.Android 线程池的实现原理 8.JavaGC机制 9.HashMap的实现机制,怎么样HashMap线程安全 10.可重入锁的实现,公平锁非公平锁都是什么定义? 11.都用过那些常用的数据结构,说说对树的了解? 12.Activity启动模式,allowReparent的特点和栈亲和性 13.WebView优化 14.有没有Jni使用经验 15.有使用过RxJava吗? 16.说说你对设计模式的理解,开发过程中主要用到了哪些设计模式? 17.快排写一下,动态规划了解吗?

小米

1.冒泡排序的链表实现 2.写个快排 3.写个单例模式 4.Activity启动模式 5.异常生命周期 6.从点击应用图标到进入应用,Android系统都做了哪些工作,期间涉及到的进程切换有哪些? 7.说说你了解的IPC方法 8.说说Binder的大体实现 9.怎么控制另外一个进程的View显示 10.广播中怎么进行网络请求 11.说说Android中线程池的实现 12.HashMap如果Hash冲突了怎么解决? 13.双线程通过线程同步的方式打印12121212.......

腾讯

1.HTTPS是怎么实现的? 2.Android事件传递流程和OnTouchListener的关系 3.Activity启动模式 4.Android线程池实现原理 5.双指缩放拖动大图 6.客户端网络安全实现 7.Webview优化 8.Android应用保活 9.RemoteViews实现和使用场景 10.RecyclerView绘制步骤和复用机制 11.Binder的大体设计模式 12.Activity遵循什么设计模式 13.EventBus源码解析,遵循什么设计模式 14.Handler为什么会发生内存泄漏 15.Java内存模块分区和GC机制,GC算法有哪些 16.Finalize机制 17.强引用 弱引用 软引用 虚引用的区别和使用场景 18.LeakCanary的使用和实现原理 19.介绍一下你在开发过程中使用到的设计模式 20.快排 21.对服务器众多错误码的处理(错误码有好几万个)

阿里

1.Android消息机制 2.Android事件传递流程 3.Android View绘制流程 4.Activity启动模式 5.Android IPC机制 6.Android线程池设计原理 7.EventBus源码和设计模式 8.Android应用保活 9.Android UI优化 10.Android启动优化 11.快排 堆排 单例 12.进程线程在操作系统中的实现 13.HTTPS的组成是什么? 14.ClassLoader的双亲委托 15.Android中的ClassLoader 16.有过Jni使用经验吗? 17.有过跨平台开发经验吗?

今日头条

1.视频加密 2.Android Native Crash 3.视频组成 4.播放器原理

最后

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。

image

最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

需要资料的朋友可以点击我的GitHub免费领取

你可能感兴趣的:(走进Android架构!面试要掌握这几个关键点!终获offer)