2021年阿里Android面试题及答案,附安卓面经
### 01、
最近这个程序员所在的圈子里发生了一件天大的事。有个“胆大包天”的家伙在 GitHub 上发起了一个名为“996.ICU”(工作 996,生病 ICU)的项目,号召被压榨的程序员们联合起来抵制互联网公司的996工作制。
多说一句,GitHub 虽然是代码托管平台,但这个项目和代码没有半点关系,但绝对和写代码的程序员有天大的关系;甚至和程序员的家庭也有很大的关系。
这个项目之所以会火,我想原因是这样的:
海明威在《钟为谁鸣》说过这么一个意思:**所有人是一个整体,别人的不幸就是你的不幸**。所以,不要问丧钟是为谁而鸣——它就是为你而鸣。
王小波在他的杂文里也表达过这个意思:在德国的纳粹时期,有一个德国牧师,他说,那些人抓犹太人,我不说话,因为我是雅利安人;后来他们抓天主教徒,我不说话,因为我是新教徒……最后他们来抓我,已经没人能为我说话了。
我虽然是“沉默王二”,也不在 996 的行列里,但对于这件事,我并不打算保持沉默。
### 02、
我老婆是一名画建筑图纸的工程师。但她的情况似乎比 996 要糟糕得多,为什么这么说呢?
- 公司规定,早上上班的时间是 8 点 20,迟到 10 分钟扣 50 块钱。
- 公司规定,晚上下班的时间是 6 点,但因为工作量太大,几乎要加班到 9 点以后,没有加班费。
- 公司规定,周末至少上半天班,但因为工作量太大,几乎周末两天都要加班,没有加班费。
工作占据了她绝大多数的时间。幸好我们家离她公司不远,不然真的是:“**进公司的时候太阳刚刚升起,走的时候月亮高高挂起**。”
我时常劝她学聪明点:干活不要那么积极,该休息的时候适当休息一下,毕竟身体是自己的。
她表示非常无辜:领导天天盯着你的进度,你怎么休息,有时候催得我一天连水都喝不上一口。况且,我如果不拼命干的话,发年终奖的时候肯定少很多。我们家这么穷,以后还要赡养四个老人,我们还有一个娃娃要养。
我记得有一次,老婆加班到很晚,半夜一点多还没有回家,打手机没人接,发 QQ 没人回,打公司电话也没有人接。那一刻,我真担心她猝死了。实在是联系不上她,我只好抱着熟睡的女儿,开车去了她的公司,一路上担惊受怕。最后发现她和几个同事还在加班,领导就站在旁边盯着。
同事和领导见到我后,笑她有一个好老公。而我,看到她安然无恙,终于松了一口气。
后来,她给自己买了一份保险。她怕自己真的会猝死!
### 03、
程序员世界里的大佬曹政说:
> 996 是市场选择,不是某个企业家或者某个企业决定的,没有谁可以只手遮天。给他们底气的,是那些排队等 offer 的应聘者。这很不正确,但这是事实,事实经常不正确。
出于对曹大佬的尊重,我极不情愿地没有送上一句脏话。但这样的言论,真是够气人的!曹大佬一定很有钱了,也财务*了,也时间*了——所以他并不能饱尝 996 背后的辛酸。
**我们人,并不像风和水那样浑然无觉,不知疲倦**。如果 996 真的是市场选择的话,那我们干脆回到“吃大苦、耐大劳”的时代吧。我们为什么要发展经济?为什么要解放生产力呢?我们程序员编写的程序难道不是为了让这个世界变得更美好、更智能、更幸福吗?
再说,给“他们”(应该是它们)底气的,根本不是那些排队等 offer 的应聘者,而是资本的贪婪。也许,曹大佬的本意并不是这样的,他也想体恤广大的程序员朋友们,他也恨 996,但为了让文章吸引更多人的眼球,引来更多的批评,他便靠着自己的雄辩站在了对立面。
记得我刚参加工作的那会,项目忙的时候也经常加班。差不多每天至少要加班到晚上 10 点多,周末也没有休息天,非常的累。但公司是不强制加班的,也有加班费。项目如果不忙的话,晚上 6 点下班就走也是可以的。我没有遇到过项目非常忙但就是不加班的程序员,大多数的程序员都是敬业爱岗的。
但如果公司非要强制 996,逼迫员工加班,那就是雇主在仗势欺人了——我们是人,不是机器,每周工作 5 天,每天工作 8 小时是我们拼尽全力争取到的权利(为数不多);我们除了工作,还要生活。
托马斯·杰佛逊(美国第三任总统)曾说过:“**我生命中最幸福的时刻就是在家庭的温暖怀抱中度过的那些时光**。”但我从没听过有人说,我生命中最幸福的时候就是在公司的 996 工作制中度过的那些时光。
### 04、
有人在知乎上问:“除了利用 GitHub 发起*,还有哪些巧妙的方案来抵制 996 ?”
安晓辉前辈给出了一个我不敢苟同的答案:
> 1. 确认自己不需要通过 996 拿更多薪水过更丰裕的日子。
> 2. 从今天起抵制 996,挺起来,不加班。
> 3. 如果因为抵制 996 和公司闹得水火不容,那就果断离开。
我不敢苟同的原因是:
> 1. 拿更多薪水过更丰裕的日子和 996 有什么必然关系吗?
> 2. 如果不加班能解决问题的话,还需要利用 GitHub 发起*吗?
> 3. 为什么雇员被欺负了,还要委屈地承担后果,而不是雇主呢?
在我看来,利用 GitHub 发起*是程序员力所能及的最巧妙的方案——139947 个 star 中我贡献了一个——**我相信,我们善意的举动一定会带来一些积极的变化**。
### 05、
有人说:服务人员比程序员更惨,他们没有一丁点儿的休息时间。他们都没吭声,你们程序员到叫起苦来了。
我反对!**我们来到这个世界上,难道是为了比谁过得更惨吗?**
特斯拉 CEO 埃隆·马斯克说:要想“改变世界”,人们每周需要工作大约 80 到 100 个小时。我自己是每周工作 120 个小时,所以特斯拉人每周至少也要工作 100 个小时。
我反对!不是每个特斯拉人都热衷于移民火星的,也不是每个特斯拉人都能拿马斯克那么多股份的。
任正非说:伟大的背后,皆是苦难。
我反对!也许在我们的文化里,只认为生命是好的,却没有把快乐啦、幸福啦、生存状态之类的事定义在内;所以就想当然的认为,**只要大家都能活着就好,不管他们活得多么糟糕**。
### 总结
我最近从朋友那里收集到了**2020-2021BAT 面试真题解析**,内容很多也很系统,包含了很多内容:`Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题`等等,可以很好地**帮助大家深刻理解Android相关知识点的原理以及面试相关知识**。
这份资料把大厂面试中**常被问到的技术点**整理成了PDF,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
这里也分享给广大面试同胞们,希望每位程序猿们都能面试成功~
**领取方式:[点击直达GitHub](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**
**Android 基础知识点**
![](http://www.icode9.com/i/li/?n=2&i=images/20210704/1625412458277511.jpg)
**Java 基础知识点**
![](http://www.icode9.com/i/li/?n=2&i=images/20210704/1625412459697753.jpg)
**Android 源码相关分析**
![](http://www.icode9.com/i/li/?n=2&i=images/20210704/1625412459730608.jpg)
**常见的一些原理性问题**
![](http://www.icode9.com/i/li/?n=2&i=images/20210704/1625412459308630.jpg)
**腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析**
![](http://www.icode9.com/i/li/?n=2&i=images/20210704/1625412460705562.jpg)