有个朋友去阿里面试,面试总共花费了 20 天左右,包含了 4 轮电话面试、1 轮笔试、1 轮主管视频面试、1 轮 hr 视频面试。据他所说,70% 的人都会载在第一轮面试,要不是他面试之前做足了准备,估计都坚持不到接下来的面试。
其实,第一轮的电话面试除了一些常规的自我介绍外,问的都是一些基础的专业知识,主要目的就是筛选掉一些基础比较弱的人, 以免浪费大家的的时间。问的问题主要涉及几个方面:
Android问题:
1. 四大组件之间怎么实现通信(binder,冷启动)
2.Glide三级缓存,大图加载,活动缓存设计的必要,与Picasso有什么区别
3.说下MVP,以登录为栗子,与MVC对比有什么好处
4.启动模式,异同,activity A 打开 B 生命周期调用
5.handler设计模式、阻塞机制、同步屏障机制、线程切换、Looper、ThreadLocal
6.Retrofit的实现原理(动态代理+注解),rxjava如何实现线程切换、背压、版本区别
7.apk加固原理,加壳脱壳;
8.apk瘦身做了哪些,缩减了多少M
9.说个自定义view,绘制过程
10.说下事件分发机制,两个并列的view,点下去移到另一个,都调用哪些方法
11.内存泄漏有哪些,handler内存泄漏原因,如何解决,工具
12.tcp三次握手、四次挥手,HTTP与HTTPS区别,HTTP1.0与2.0区别,get与post区别
13.组件化原理,与插件化不同点,动态代理
java问题:
1.注解类型,区别,元注解
2.说下对锁的理解:sync、lock、cas、volatile、JMM、读写锁
3.HashMap原理,存取过程,为什么用红黑树,红黑树与完全二叉树对比,HashTab、concurrentHashMap,concurrent包里有啥
4.泛型的理解,类型擦除
5.说下JVM的了解,内存模型,垃圾回收算法,可达性分析,引用计数法,四种引用
…
还问了很多其他的问题,我在这边就不一一列举了。如果这些问题你回答不出来,那么我建议你刷一遍题库。我这里有一份Andorid从底层基础到架构成长笔记和腾讯、爱奇艺、字节等大厂的面试真题,帮助大家搞定大厂面试的必考点、高频点、加薪点, 这些笔记和面试文档已经全部整理收录在我的Github上了,点击这来我的Github查看获取学习吧!
Andorid从底层基础到架构成长笔记目录
Android开发必备底层技术模块
BATJ这些大公司都要求有扎实的Java语言基础和虚拟机底层原理,这一个部分就是Android开发中最常用的java语言相关知识。在这个里面,结合了Dex文件加密实战和热修复手写实战来让大家深刻体会Java语言体系的重要性以及在Android开发中的地位
FrameWork源码与UI及jetpack模块
在Android中,Framework泛指系统架构层。Framework的中文意思是“框架”,在软件开发中通常指开发框架,在一个系统中处于内核层之上,为顶层应用提供接口,被设计用来帮助开发者快速开发顶层应用,而不必关心系统内核运行机制,通常Framework都会隐藏main函数等应用程序必须的组件,开发人员只需把精力放在功能代码的实现上。说简单点,Framework具体的工作也就是为android应用开发的开发人员提供了一系列的服务和API的接口。
FrameWork源码解析: Binder+Handler+Zygote+ AMS+ PMS+WMS
UI底层源码深度剖析篇:UI绘制流程+ LayoutInflater + 事件分发机制+ 属性动画+ViewGroup+ View
Jetpack实战及大厂架构演进实践手册
Android性能分析与优化实战方案
作为一名Android程序员,说实话要做好性能这一块,真心不容易。为什么这么说? 是因为需要接触的知识实在是太多了, Android 是一个整体,牵一发而动全身,不是说只懂一个模块就可以做好。这份《Android性能分析与优化实战进阶手册》,让每一个想进入 Android 系统开发和优化这个领域的人,能通过这份笔记手册快速入门,同时也算是对知识的一个梳理,查漏补缺,终身学习。
- 内存优化
- 布局优化
- 启动优化
- 卡顿优化
- 稳定性优化
- 电量优化
- 线程优化
- 瘦身优化
Andorid高级音视频实战模块
- 基础语法
- H264视频编码
- H265编码原理及应用
- MediaCodec集训
- Opengl与音视频编解码
- 实战
Android架构师必备源码框架精讲解析模块
Gradle高阶实战模块
- Groovy语法
- Gradle Android插件配置
- 实战
Kotlin入门到精通模块
Flutter2.0混合式开发模块
- Dart语法
- Flutter2.0之UI
- Flutter2.0进阶
- Flutter2.0优化
- 实战
鸿蒙2.0系统开发模块
- Ability组件
- 分布式任务
- 事件总线
- 鸿蒙线程
- UI自定义控件
总结
同样是做Andorid,有的人工作5年工资没变化,有的人工作2年就已经年薪50W。这个现象或许前几年还不明显, 但随着近几年后端技术疯了一般的快速发展,曾经那个只要会个UI啥的就能走遍天下的时代早已不在了,人才水平的分化也越来越明显。
竞争永远都是非常残酷的,毕竟成为一个架构师不是那么容易的,一个架构师的成长来自于机会,努力及天分 !在这个后浪奔腾的时代,不管是你是刚工作还是有几年开发了,我相信以上这份Andorid从底层基础到架构成长笔记你都需要阅读阅读,希望能够对你的职业发展有所帮助。 这些笔记和面试文档已经全部整理收录在我的Github上了,有需要的小伙伴点击这(这这这)来我的Github查看获取学习吧!