Android 开发 7 年,疫情期间八家大厂高工的面试经历和真题整理
寒冬
年后疫情爆发,不出所料,我被公司优化了。
原因大概要追溯到年前,10 月底的时候,公司项目经理跳槽了,职位空了出来。当时我是项目组长。
这家不大不小的公司已经做了有三四年了。在技术层面上,至少在公司里已经是数一数二了。本以为空出来的项目经理理应是我上,我的组员也都觉得肯定是我了。
公告出来的时候,我直接懵 13 了,另一个组长上了经理的位置。他技术层面大不如我,而且在我看来是个玩弄人际吃饭的“老油条”。公司上上下下的人似乎都对他印象挺好,而我对他一直是有点“不屑”的。可能是每个程序员都有的一个天真的“误区”:程序员是个纯技术职业。技术至上,比我菜的都是“辣鸡”。
我天真的像个傻 13 一样,去找老板理论。凭什么啊?给他上?老子来的比他早,经验比他久,技术甩他几条街。当时老板办公室有客户在谈合作,我说完就走了。
后来我还比较奇怪,老板也没有找过我,好像什么都没有发生过一样。我还是个小小的组长,干活,加班,上版本。
直到疫情爆发,公司宣布要优化。在优化名单里,不出意外的看到了我的名字。
在这个疫情肆虐的寒冬里,我收到了这个宛如一根冰针的消息,扎进了我心里。全身冰凉。
老婆肚子里是快要分娩的孩子,想赶上春暖花开的季节让他来到这个世界。作为家里唯一的经济来源,每天睁眼想的便是房贷车贷、茶米油盐。我几近崩溃。
复苏
让我宽慰的是,父母、包括我的岳父母和我的妻子,都给了我最大程度的鼓励和支持。让我找回重新开始的信心。疫情封城、隔离的期间,我在家复习、准备面试找工作。岳父岳母来到了家里照顾我妻子(妻子家里是杭州本地的,我的父母回了乡下过年)
面试经历
复习了两个月左右。四月中旬开始边投简历边进行复习扫尾、巩固,大大小小的公司投出了大概三四十份简历。收到面试大概 20 场。下面我挑了几个较好的和一些大厂的真题面经分享一下。
小建议:面试某家公司前,最好是要先了解你所面试的工作岗位,公司的业务,主要是做哪个方面的,这样可以更加具有针对性的复习和准备。
华润集团下某借贷子公司(借贷公司,肯定对 APP 安全方面比较着重)
Activity 的启动过程
Broadcast 注册方式与区别
磁盘缓存怎么实现
进程间通信原理、Binder 机制原理
APK 加固、dex 文件加密实现、原理
说一下类加载的过程、机制,为什么要这样设计?
谈谈你对安卓签名的
理解。
对于提高 app 的安全性,你有哪些建议或方法?
腾讯新闻(大概就是 UI、页面流畅度、适配这些方面吧)
如何将一个 Activity 设置成窗口的样式。
Android 中跨进程通讯的几种方式
屏幕适配的处理技巧都有哪些?
ListView 卡顿原因及处理
广播传输的数据是否有限制,是多少,为什么要限制?
如何防止过度绘制
View 的回执流程
说说对 Context 的理解
卡顿的一整套解决方案是怎么做的?
某知名外卖 APP(布局、页面、高级 UI 之类的)
View 的绘制过程,onMeasure 方法中两个参数的含义;
你在做布局优化的过程中用到了哪些工具?
做完布局优化有哪些成果产出?
看过哪些源码
混合开发有没有做过
大致说一下自己做过最满意的项目吧
字节跳动抖音部(音视频、算法)
静态注册和动态注册的原理分别说一下吧
JNI 是如何访问 java 中的方法和字段的?
JNI 规范中定义了哪些引用,区别是什么
算法:获取单链表倒数第 k 个元素
单例实现线程的同步的要求?
LaunchMode 应用场景
计算一个 view 的嵌套层级
算法:
某上市公司(母婴类产品)
请介绍下 ContentProvider 是如何实现数据共享的。
android 本身的一些限制,比如 apk 包大小限制,读取大文件时的时间限。
算法:复制含有随机指针节点的链表
Android 系统中 GC 什么情况下会出现内存泄露呢?
三次握手四次挥手说一下吧
HashMap 、HashTable 原理?
Java 虚拟机 &内存结构 &GC&类加载 &四种引用 &动态代理
进程保活怎么做
合资外企
LeakCanary 原理
OOM 场景及规避
App 安装过程的怎样的
ANR 是什么?怎样避免和解决 ANR
MVC MVP MVVM 原理和区别
算法:2000 万个整数,找出第五十大的数字?
App 是如何沙箱化,为什么要这么做?
flutter 用过吗?
Flutter 如何与 Android iOS 通信?
志安科技(类似于华为海思,对底层很看重)
HashMap 原理
andorid 的 Binder 机制是怎么样的
Linux 的原理有了解吗
有看过哪些源码,有深入到 C++中吗,C++熟练吗?
熟悉 framework 哪些模块的源码,对图像性能优化有了解吗
以后的技术发展方向是如何的
阿里巴巴 P6 岗
HTTP2.0 与 3.0 的区别
项目中常用的设计模式
https 中哪里用了对称加密,哪里用了非对称加密,对加密算法(如 RSA)等是否有了解?
了解过 Android 虚拟机有哪些?
对 Dalvik、ART 虚拟机有什么了解?
Gradle 自动补丁包生成原理
Hybrid 通信原理是什么,有做研究吗?
来介绍下你最成熟的一个项目是哪个?
能简单的画一下你这个项目的架构图吗?
除了 MVP,MVC,MVVM 外还有什么其他的架构方式?
评论