2017年是转折的一年,2018年算是收获的一年,先分享一下offer的情况。
1.阿里高德(offer)
2.爱奇艺(offer)
3.腾讯视频(offer)
4.小米(被拒)
5.今日头条(被拒)
在面试的过程中我深深的感受到,对于一个优秀的安卓开发来说,首先摆在第一位的还是他/她作为一个软件工程师的基本素养。无论你是做前端还是后端,最后定义你的优秀程度的还是作为软件工程师的基本素养,学习能力和编程能力,还有设计能力。
下面分享一下各个公司的面试题目
爱奇艺
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应用保活
9Android UI优化
10.Android启动优化
11.快排 堆排 单例
12.进程线程在操作系统中的实现
13.HTTPS的组成是什么?
14.ClassLoader的双亲委托
15.Android中的ClassLoader
16.有过Jni使用经验吗?
17.有过跨平台开发经验吗?
今日头条
1.视频加密
2.Android Native Crash
3.视频组成
4.播放器原理
共同问到的
1.为什么离职
2.开发过程中遇到最深刻的BUG是什么
3.当你的开发任务很紧张,你怎么去做代码优化的?
4.怎么和你的同事沟通
5.你对某某某互联网发生事情的看法?(直播答题等等)
网友评论