面试阿里被“怼”,在源码分析和项目上栽跟头,半年后二战终拿下OFFER

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 源码分析,项目经验,面经,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架构师之路很漫长,一起共勉吧!喜欢的话别忘记点击关注和赞哦

相关文章
|
29天前
|
存储 关系型数据库 MySQL
阿里面试:为什么要索引?什么是MySQL索引?底层结构是什么?
尼恩是一位资深架构师,他在自己的读者交流群中分享了关于MySQL索引的重要知识点。索引是帮助MySQL高效获取数据的数据结构,主要作用包括显著提升查询速度、降低磁盘I/O次数、优化排序与分组操作以及提升复杂查询的性能。MySQL支持多种索引类型,如主键索引、唯一索引、普通索引、全文索引和空间数据索引。索引的底层数据结构主要是B+树,它能够有效支持范围查询和顺序遍历,同时保持高效的插入、删除和查找性能。尼恩还强调了索引的优缺点,并提供了多个面试题及其解答,帮助读者在面试中脱颖而出。相关资料可在公众号【技术自由圈】获取。
|
9天前
|
SQL 关系型数据库 MySQL
阿里面试:1000万级大表, 如何 加索引?
45岁老架构师尼恩在其读者交流群中分享了如何在生产环境中给大表加索引的方法。文章详细介绍了两种索引构建方式:在线模式(Online DDL)和离线模式(Offline DDL),并深入探讨了 MySQL 5.6.7 之前的“影子策略”和 pt-online-schema-change 方案,以及 MySQL 5.6.7 之后的内部 Online DDL 特性。通过这些方法,可以有效地减少 DDL 操作对业务的影响,确保数据的一致性和完整性。尼恩还提供了大量面试题和解决方案,帮助读者在面试中充分展示技术实力。
|
1月前
|
消息中间件 存储 canal
阿里面试:canal+MQ,会有乱序的问题吗?
本文详细探讨了在阿里面试中常见的问题——“canal+MQ,会有乱序的问题吗?”以及如何保证RocketMQ消息有序。文章首先介绍了消息有序的基本概念,包括全局有序和局部有序,并分析了RocketMQ中实现消息有序的方法。接着,针对canal+MQ的场景,讨论了如何通过配置`canal.mq.partitionsNum`和`canal.mq.partitionHash`来保证数据同步的有序性。最后,提供了多个与MQ相关的面试题及解决方案,帮助读者更好地准备面试,提升技术水平。
阿里面试:canal+MQ,会有乱序的问题吗?
|
24天前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
60 1
|
1月前
|
消息中间件 架构师 Java
阿里面试:秒杀的分布式事务, 是如何设计的?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试阿里、滴滴、极兔等一线互联网企业时,遇到了许多关于分布式事务的重要面试题。为了帮助大家更好地应对这些面试题,尼恩进行了系统化的梳理,详细介绍了Seata和RocketMQ事务消息的结合,以及如何实现强弱结合型事务。文章还提供了分布式事务的标准面试答案,并推荐了《尼恩Java面试宝典PDF》等资源,帮助大家在面试中脱颖而出。
|
1月前
|
SQL 关系型数据库 MySQL
阿里面试:MYSQL 事务ACID,底层原理是什么? 具体是如何实现的?
尼恩,一位40岁的资深架构师,通过其丰富的经验和深厚的技術功底,为众多读者提供了宝贵的面试指导和技术分享。在他的读者交流群中,许多小伙伴获得了来自一线互联网企业的面试机会,并成功应对了诸如事务ACID特性实现、MVCC等相关面试题。尼恩特别整理了这些常见面试题的系统化解答,形成了《MVCC 学习圣经:一次穿透MYSQL MVCC》PDF文档,旨在帮助大家在面试中展示出扎实的技术功底,提高面试成功率。此外,他还编写了《尼恩Java面试宝典》等资料,涵盖了大量面试题和答案,帮助读者全面提升技术面试的表现。这些资料不仅内容详实,而且持续更新,是求职者备战技术面试的宝贵资源。
阿里面试:MYSQL 事务ACID,底层原理是什么? 具体是如何实现的?
|
1月前
|
Kubernetes 架构师 算法
阿里面试:全国14亿人,统计出重名最多的前100个姓名
文章介绍了如何解决“从全国14亿人的数据中统计出重名人数最多的前100位姓名”的面试题,详细分析了多种数据结构的优缺点,最终推荐使用前缀树(Trie)+小顶堆的组合。文章还提供了具体的Java代码实现,并讨论了在内存受限情况下的解决方案,强调了TOP N问题的典型解题思路。最后,鼓励读者通过系统化学习《尼恩Java面试宝典》提升面试技巧。
阿里面试:全国14亿人,统计出重名最多的前100个姓名
|
1月前
|
存储 缓存 NoSQL
阿里面试题:缓存的一些常见的坑,你遇到过哪些,怎么解决的?
阿里面试题:缓存的一些常见的坑,你遇到过哪些,怎么解决的?
|
1月前
|
JavaScript 前端开发
vue尚品汇商城项目-day01【8.路由跳转与传参相关面试题】
vue尚品汇商城项目-day01【8.路由跳转与传参相关面试题】
40 0
vue尚品汇商城项目-day01【8.路由跳转与传参相关面试题】
|
1月前
|
存储 Kubernetes 架构师
阿里面试:JVM 锁内存 是怎么变化的? JVM 锁的膨胀过程 ?
尼恩,一位经验丰富的40岁老架构师,通过其读者交流群分享了一系列关于JVM锁的深度解析,包括偏向锁、轻量级锁、自旋锁和重量级锁的概念、内存结构变化及锁膨胀流程。这些内容不仅帮助群内的小伙伴们顺利通过了多家一线互联网企业的面试,还整理成了《尼恩Java面试宝典》等技术资料,助力更多开发者提升技术水平,实现职业逆袭。尼恩强调,掌握这些核心知识点不仅能提高面试成功率,还能在实际工作中更好地应对高并发场景下的性能优化问题。

热门文章

最新文章

下一篇
无影云桌面