2020 国内互联网公司的 Android 工程师薪酬排名!看看你是什么水平
常见面试算法题汇总
排序
二叉树
链表
栈/队列
二分
哈希表
堆/优先队列.
二叉搜索树
数组/双指针
贪心
字符串处理
动态规划
矩阵
二进制/位运算
其他
Android 基础问题相关(面试题与答案已整理成了 PDF 文档):
1、接口的意义-百度
2、抽象类的意义-百度
3、内部类的作用-乐视
4、Java 虚拟机的特性-百度-乐视
5、哪些情况下的对象会被垃圾回收机制处理掉-美团-小米
6、进程和线程的区别-猎豹-美团
7、java 中==和 equals 和 hashCode 的区别-乐视
8、HashMap 的实现原理-美团
9、string-stringbuffer-stringbuilder 区别-小米-乐视-百度
10、什么导致线程阻塞-58-美团
11、多线程同步机制-猎豹
12、ArrayMap 对比 HashMap
13、hashmap 和 hashtable 的区别-乐视-小米-360
14、容器类之间的区别-乐视-美团
15、抽象类接口区别-360
Android 方面(面试题与答案已整理成了 PDF 文档)
16、如何导入外部数据库?
17、本地广播和全局广播有什么差别?
18、intentService 作用是什么,AIDL 解决了什么问题-小米
19、Ubuntu 编译安卓系统-百度
20、LaunchMode 应用场景-百度-小米-乐视
21、Touch 事件传递流程-小米
22、View 绘制流程-百度
23、多线程-360
24、Handler,Thread 和 HandlerThread 的差别-小米
25、线程同步-百度
26、什么情况导致内存泄漏-美团
27、ANR 定位和修正
28、什么情况导致 oom-乐视-美团
29、Service 与 Activity 之间通信的几种方式
30、如何保证 service 在后台不被 Kill
31、Requestlayout,onlayout,onDraw,DrawChild 区别与联系-猎豹
32、Android 动画框架实现原理
33、Android 为每个应用程序分配的内存大小是多少-美团
34、优化自定义 view 百度-乐视-小米
36、volley-美团-乐视
37、Glide 源码解析
38、Android 设计模式
39、Android 属性动画特性-乐视-小米
40、Activity Window View 三者的差别,fragment 的特点-360
41、invalidate 和 postInvalidate 的区别及使用-百度
42、LinearLayout 和 RelativeLayout 性能对比-百度
43、View 刷新机制-
百度-美团
44、架构设计-搜狐
腾讯公司 Android 面试题精选
45、2000 万个整数,找出第五十大的数字?
46、从网络加载一个 10M 的图片,说下注意事项
47、自定义 View 注意事项
48、项目中常用的设计模式
49、JVM 的理解
阿里 Android 面试题精选
50、进程间通信方式
51、什么是协程
52、内存泄露是怎么回事
53、程序计数器,引到了逻辑地址(虚地址)和物理地址及其映射关系
54、数组和链表的区别
55、二叉树的深度优先遍历和广度优先遍历的具体实现
56、堆的结构
57、bitmap 对象的理解
58、什么是深拷贝和浅拷
59、对象锁和类锁是否会互相影响
60、looper 架构
61、自定义控件原理
62、自定义控件原理
63、ActivityThread,Ams,Wms 的工作原理
64、Java 中 final,finally,finalize 的区别
65、一个文件中有 100 万个整数,由空格分开,在程序中判断用户输入的整数是否在此文件中。说出最优的方法
66、两个进程同时要求写或者读,能不能实现?如何防止进程的同步?
67、volatile 的意义?
68、烧一根不均匀的绳,从头烧到尾总共需要 1 个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
面试题及答案整理部分截图:
面试经验分享
我也算是一线公司都踩过点的 Android 码农了,Google 也踩过一次,现在就说说我自己的一些感受。在阿里的时候我作为面试官接触过几十个面试者,能左右我是不是通过这个人的,主要因素还是这个人对技术的热爱程度。
因为有这种极客精神,做任何技术上的事情都是时间上的问题,所以面试过程中要尽可能表现出对技术的热爱。
那除了这种因素外,我们怎么做才能更大概率的进入一线公司呢?
还有一个比较重要的因素就是知识的深度。我认为深度优于广度,广度通过看各种文章都能了解,但一旦碰到实际问题,这时候往往靠的是自己的知识深度。比如,Android 程序员们很多人知道四大组件职责都是什么,还会些性能优化,但是如果不知道 Framework 层系统服务原理,就做不出插件化框架。
评论