面试阿里被“怼”,在源码分析和项目上栽跟头,半年后二战终拿下OFFER
源码分析和项目实战经验一直是大厂比较看重的要素,近两年来,许多大厂在面试中都会频繁问到源码&原理,记得今年上半年第一次去阿里面试时,可以说是“无地自容”,被面试官逼问得哑口无言,尤其是项目部分,(被怒鄙视一波),包括难点,怎么迭代项目。
第一次阿里面经分享
1.view绘制流程,onLayout位置不够怎么办
2.binder IPC过程描述
3.transact onTransact方法区别是什么,server怎么判断要执行哪个方法
4.leak canary原理
5.tcp编程
6.策略模式和状态模式 的区别 双检单例 装饰者模式
7.Alloctracking
8.ams了解多少,看了多少源码
9.glide源码
10.uil源码
11.MVP MVC
12.手写代码,线程安全栈(用LinkedList作为基础数据结构实现后建议我改成用数组,结果出现了内存泄漏。)
13.cpu优化
14.内存优化
当时面试问的很广也很深,有一些不会的直接说了不清楚。尤其是在这些glide源码、uil源码以及看了多少源码这些回答都不理想,面完后礼貌性的回复“让回去等通知”。当然这一等就是大半年。
东山再起
离上次面试阿里失败之后,针对自身的缺陷和不足,网罗搜集项目资料、面试常见源码分析、狠狠的复习、学习了大半年,如今已经成功拿下阿里offer,即将入职。特献上自己的面经,但提示一下,仅供参考哦!
福利:下面内容涉及到了阿里的面试真题(含答案),以及我自己珍藏的源码相关的训练题集,另外还有整理出来的阿里P7学习文档和学习笔记,包括一些实战书籍,最后还有自己的Android开发学习的思维脑图。
直接点击下方链接免费领取哦!
阿里P7Android高级教程+BATJ面试题
第二次阿里面经分享
一面
1.自我介绍一下;
2. 自己主要做了什么项目?介绍一下;
3. 项目最出彩的地方是什么,用了什么方法解决的;
4.EventBus怎么实现的?
5. 你用了Retrofit,看过它的源码吗?Okhttp呢?
6.常见的设计模式有哪些?介绍一个
7.有什么问题要问我?
二面
1.还是项目
2.gc
3.http相关(2 1.1 1.0)
4.MVP
5.线程和进程的区别
6.LruCache
7.数据链路层
8.一个Activity上有四个Fragment的Tab,当从一个Fragment跳转到另外一个Activity时,Fragment的生命周期
9.进程fork
10.APP启动流程
三面
1.Android的新技术
2.重载与重写
假如 B extends A ,则 public void method (A ) public void method (B ) 会报错么?
3. 怎么保证Activity求远无法被启动 (AM里设置)
4. 四大组建及应用场景 以及他们是如何启动的
5.如何检测ANE 怎么看log 和 trace.txt
6.EvebtBus 原理 2.0 怎么控制在不同的线程响应
7.怎么判断一个链表里有没有环
8.反转字符串,如果是10亿长度呢?
9.为什么TCP要三次握手?两次可以吗?
HR面
1.家在哪?
2.未来工作计划?
3.个人兴趣爱好?
4.愿不愿意去阿里巴巴工作?
主要是考察一些个人素质,比如工作中团体协作能力。
阿里面试源码常见面试篇
1、EventBus源码分析(EventBus核心大解密-带你了解反射、APT的实现之路)
2、 Handler消息机制(具体涉及到的类 & 细节)腾讯阿里面试,手写一段Handler源码拿下40w的offer
3、HashMap(数据结构 & put操作 &扩容时间复杂度)BAT面试必问的数据结构Hashmap源码解析
4、ArrayMap源码https://www.jianshu.com/p/776c033faca8
5、looper源码https://www.cnblogs.com/jycboy/p/5787443.html
6、动画框架的源码https://blog.csdn.net/guolin_blog/article/details/53939176/
7、MVP开发模式源码https://www.cnblogs.com/dingxiansen/p/8665853.html
8、MVVM框架源码https://www.cnblogs.com/yuliangbin/p/9302721.html
9、hook源码hook源码实现无闪现换肤方案
10、Context源码https://www.cnblogs.com/zhouj-happy/p/11210047.html
11、Rxjava源码https://blog.csdn.net/gdutxiaoxu/article/details/80501816
12、LruCache 源码https://github.com/LittleFriendsGroup/AndroidSdkSourceAnalysis/blob/master/article/LruCache源码解析.md
项目专题资料
需要打包带走这些资料的点击Android高级进阶视频、面试真题解析免费分享
我的思维脑图(X-mind)
在评论区留言或者私信我,视频教程,BAT面试真题解析文档,我都会回复!
结束语
希望读到这的您能转发分享和关注一下我,以后还会持续分享Android知识点及解析,您的支持就是我最大的动力!!
Android架构师之路很漫长,一起共勉吧!喜欢的话别忘记点击关注和赞哦
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里科学家再获世界级荣誉,平头哥首席科学家谢源当选AAASFellow | 11月28号栖夜读
点击订阅云栖夜读日刊,专业的技术干货,不容错过! 阿里专家原创好文 1.阿里科学家再获世界级荣誉,平头哥首席科学家谢源当选AAASFellow 11月27日,美国科学促进会(AAAS)公布了2019年度会士(Fellow)增选结果,阿里巴巴平头哥首席科学家、达摩院高级研究员谢源当选,这也是信息、计算和通信领域新当选的24名Fellow之一,一同入选的还有计算机体系结构顶级专家Norman Jouppi等人。AAAS成立于1848年,是全球最大的综合科学学术组织,下设24个学部,服务1000万以上的科学家,是《Science》杂志的主办者、出版者。Fellow是该学会的最高荣誉,授予对象为对促进科学及其应用进步做出卓越贡献的科学家。阅读更多》》 2.AnalyticDB for MySQL技术架构解析 企业数据需求不断变化,近年来变化趋势日益明显,从数据的3V特性看:体积,速度和变化;Big Data强调数据量,PB级以上,是静态数据。而Fast Data在数据量的基础上,意味着速度和和变化,意味着客户可以更加实时化、更加快速地进行数据处理。阅读更多》》 3.双十一|又快又稳!闲鱼实时事...
- 下一篇
Python中lambda的使用,与它的三个好基友介绍!
匿名函数lambda 除了def语句,python还提供了一种生成函数对象的表达式形式。由于它与LISP语言中的一个工具类似,所以称为lambda。 就像def一样,这个表达式创建了一个之后能够调用的函数,但是它返回一个函数而不是将这个函数赋值给一个变量。这些就是lambda叫做匿名函数的原因。实际上,他常常以一种行内进行函数定义的方式使用,或者用作推迟执行一些代码。 lambda的一般形式是关键字lambda之后跟着一个或多个参数(与一个def头部内用括号括起来的参数列表类似),紧跟着是一个冒号,之后是表达式 lambda arg1,arg2,argn:expression using arguments 由lambda表达式所返回的函数对象与由def创建并复制后的函数对象工作起来是完全一致的,但lambda有一些不同之处,让其扮演特定的角色时更有用: lambda是一个表达式,而不是一个语句 因为这一点,lambda可以出现在python语法不允许def出现的地方。此外,作为一个表达式,lambda返回一个值(一个新的函数),可以选择性的赋值给一个变量相反,def语句总是得在头部将...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程