简单介绍下背景

笔者双非末流渣渣一本毕业,工作已有6年多。年前从一家小公司CTO离职,准备年后“金三银四”换个更大的舞台。

四月,海投大厂简历,积累面试经验,鹅厂视频面试,未通过;熊厂视频面试,未通过;阿里第二次电话面。未通过。

五月初,阿里电话面通过,转视频初试,通过。出发杭州。

 

阿里一面

1.自我介绍
2.做过哪些项目,用过哪些技术
3.四大组件
4.activity生命周期
5.启动模式
6.线程状态
7.网络协议(每一层、还有TCP和UDP)
8.会不会网络编程
9.handler
10.JVM,内存模型那些
11.GC机制(有哪些方法哪些问题)
12.项目中的数据库
13.HashMap、HashTable、ConcurrentHashMap1
14.反问环节

阿里二面

1.自我介绍
2.TCP和UDP以及应用场景(三次握手四次挥手也是基本上都会问的)
3.算法题:字符串根据字典分割的问题。一开始给的解决方法时间复杂度太高,一直要求优化。
4.介绍做过的项目,沿着项目一直问下去(重点问遇到的问题以及解决的方式)
5.Binder通信机制
6.React Native跟原生开发的优劣
7.View事件分发机制和View绘制原理
8.反问,聊天环节
追问比较多,但没有很难的地方,没有什么我一个字也答不上来的。

阿里三面

1.自我介绍
2.广播和 EventBus 的区别?
3.搭建一个自己的图片加载框架思路,怎么做
4.Bitmap的内存计算方式、高效加载
5.Binder的通信过程?Binder的原理?与其他IPC方式的优缺点?
6.handler 的底层实现原理
7.RxJava各种操作符,设计思想。
8.卡顿优化,原理,操作
9.做过哪些优化?怎么实现,遇到哪些问题,怎么解决
10.提问交流环节

阿里四面

1.看过多少源码
2.网络协议okhttp中的缓存机制,dex加载流程,组件化的原理;
3.MVC MVP MVVM原理和区别
4.如果让你实现一个调试器,你会怎么设计?静态调试?动态调试呢?
5.热修复、插件化、组件化
6.Android Framework源码
7.你都用过哪些设计模式?说说当时具体的场景。为什么你要用方法工厂,另外两种呢?
8.kotlin、flutter区别优缺点,掌握多少
9.有什么想要问我的

阿里五面(hr)

1.项目经验
2.职业规划
3.马上要项目汇报了,PPT出问题了,你会怎么办
4.理想薪资
5.提问环节

面试总结

整体来说难度不是很高,一些细节处理问的比较多。更注重的是遇到问题的解决方案,对项目的设计和规划之类的。

大厂的正常面试流程周期一般是一到两个月,就算薪资谈完到 offer 最终审批下来可能都需要一到两周,这段时间心理是比较难熬的,因此建议大家尽量不要裸辞。面试完毕一般都会透露多久给答复,如果是猎头推的多跟猎头联系,大家要尽量想办法打听到最新的动态。

最后

我必须要分享一些心得和面试、学习笔记,给也想进大厂的朋友出一份力,希望能有帮助。

首先要有一个完整知识架构思维图

然后根据思维导图来学习和准备面试

因为涉及的知识面太广了,不能把所有的学习笔记和面试题目全部展示出来。笔者这里已经都整理好了,有想获取到学习参考的朋友小伙伴:一键三连(点赞+收藏+关注) 后,添加微信:mxm9843 即可免费获取到

Java基础笔记总结

  • Java开发环境配置
  • Java基本语法
  • Java执行控制流程
  • 面向对象
  • 访问控制权限
  • 接口和抽象类
  • 异常
  • 内部类
  • 集合
  • 泛形
  • 反射
  • 枚举
  • I/O
  • 注解
  • 关于null的几种处理方式

 

基础面试题目及答案

 

性能调优笔记总结

 

 

性能调优面试题目及答案

 

微服务笔记总结

 

 

微服务面试题目及答案

 

分布式笔记总结

 

 

架构知识笔记总结

Redis核心原理和应用实践

 

Netty实战

 

Nginx实战

 

关于架构方面的实战文档和面试题目及答案,这里就不一一例举了。(后台私信一并获取)