作者:小志
7月初准备跳槽,先后面试了各大小公司,拿了一些offer,有阿里,滴滴,快手,达达,得物等公司。面试的公司大部分都能过,所以这里给大家分享下自己的经验, 也给自己做个归档,希望能给正在准备跳槽,找工作的朋友一点帮助,这里主要分享下阿里面试的经历!
阿里一面
- mvp mvvm区别 mvvm中的databinding如何刷新view的
- 跨进程通信方式,binder机制
- leakcanary原理
- 内存优化和工具,APK瘦身
- get和post的区别,浏览器中输入一个地址然后展示出页面这个过程中做了哪些操作
- 断点续传和下载的原理
- glide缓存原理,lru算法
- 动态代理原理
- 有什么问题要问我的吗?
时间不长,大概三十分钟,面试官人不错。一面结果通过。
阿里二面
过了一个星期,由于当地有阿里的子公司,就去了子公司的会议室进行视频面试。
- 二面看上去是个组长的人,年纪并不轻。同样的自我介绍开始,然后聊来深圳发展的意愿,个人的情况,然后问了一下做的项目,就开始问问题了。
- java虚拟机
- 内存优化
- arraylist hashmap linkedhashmap
- binder
- surfaceView和view
- AMS WMS
- APK瘦身
- 锁(死锁的场景和解决方案)
- 算法 两个字符串 比较最大的公共字符串 ,主要是思路 (面对问题,以大化小)
- 问了我期望薪资,本来说月薪了,后面他说他们那里是按年薪算的。然后让我等一下 ,他去找部长去概去了二十分钟。
二面结果:通过。
阿里三面
- http优化 okhttp多路复用
- 硬币兑换问题 [算法]
- 车的通过问题,一条路上,30分钟内看到有车通过的概率是90%,那么5分钟之内概率是多少
- 图的展现形式
- 全球货币转换功能的代码
- 给你一个整数数组 nums ,请你求出乘积为正数的最长子数组的长度
阿里四面
又过了一个星期。才到HR面,是当地子公司视频面试。
- 自我介绍,项目类型。
- 为什么考虑到深圳发展?
- 为什么选择平安银行?
- 现在在面试哪些公司?
- 如何规划自己的生活?
- 期望薪资。
如何快速搞定Android面试,总体上做好以下三点即可:
- 简历准备
- 核心技术及面试题
- 面试技巧
简历准备
首先你要准备的是简历。简历很重要,这是别人了解你的第一个地方,所以简历要好好写。
- 自我简介: 用最简单的话来说明自己的情况,不超过200字。
- 个人技能: 让对方了解你掌握的技术和熟悉的领域。
- 经验和软技能: 带过多少人的团队、有多少年的项目管理经验、学习能力如何、执行力怎么样、设计过什么样的系统。(不要太多,几句话就好)
- 工作经历: 不要列一大堆项目,挑重要的,主要突出项目的难度(技术点)、规模(用户量、并发量、吞吐量)、挑战(高可用、技术瓶颈及突破)、职责(项目经历/核心开发)等。
核心技术及面试题
如果这些问题你回答不出来,那么我建议你刷一遍题库。我这里有一份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进行访问查阅。
|