因此Android工程师的养成,一部分依然靠纯自学,大部分则靠培训,无论「培训」背负了多少的骂名,但整个Android行业,二三十万的从业者,抛开少部分大学计算机科班和软件工程相关专业的,绝大多数都是靠网课和培训来自学,而网课和培训今天已经线上线下不分家了,恰恰是培训行业在Android的前十几年,为社会输送了大量的Android人才。
作为资深面试官,会经常听到这样的自我介绍:我不是计算机科班的,同时我是转行做Android,主要靠自学。
在这里抛开少部分科班的,对于大部分已经走上工作岗位的Android来说,谁不是呢?
可是今日的行业问题是:
学校里并没有开设Android这个专业,且计算机专业也很少系统性的教授Android开发
大部分培训机构(即便它很有良心),很难对标知名公司的用人标准,把人培养出来
大部分的中小型创业公司,公司制度、技术实力、业务土壤也很难把Android培养出来
学校帮不了你,培训能帮到你一些,公司能帮到你一些,这一些加起来远远不够的时候,成长还是靠你自己。
为什么卡你学历
于是我们回到今天的主题,为什么大厂卡你的学历?难道大厂这些Android负责人和 HR 不清楚前端的行业现状么?
恰恰是他们很清楚这个行业现状,经过了多年的几百轮的筛选和面试,他们很清楚Android工程师这个工种成长的难,但他们毕竟不是Android的衣食父母,有什么理由要单独为你妥协开绿灯呢?
因为公司存在的理由(抛开所有的行业意义和社会意义),就是为了盈利啊,只有盈利才能保障这个公司的存续,公司里所有人都服务且唯一直接或间接服务于这个核心目标 - 盈利,继续盈利,继续更大的盈利。
而实现盈利的公式,就是增加收入、降低成本、提高效率,三者全要。任何一件事情,只要拉低了收入,增大了成本,降低了效率,即便是在短期内为某个目标妥协(比如快速高薪资挖人建团队,这导致成本过度放大),长期内都是要优化的,很多传统型公司都陆续转型:业务流程化、流程线上化、线上数据化,再基于数据做更多的分析和决策,反过来继续优化业务、流程和线上的产品功能,进而降低成本、拉高利润、提高效率。
那么招聘这件事情,对于公司的成本还是利润呢?
显然招聘之前是成本,招聘进来一段周期后,才可能会产生利润。
大厂的福报我们都多少听说过,背后反应的是高强度的工作内容,加班无论多少,对于工程师来说,都能表示理解。
既然如此,大厂的面试官和 HR 的工作强度同样不低,他们要应对日常高强度的工作量,很多公司还有绩效的考量,如果一
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整资料开源分享
个Android面试官,他是 P6,如果每周只面试 4 个人,那么每次面试都要个把小时(要提前看简历,要与 HR 沟通协商时间,要与业务方沟通排开会议,要面试后填写信息,及与主管沟通面试结论),他就至少失去了 4 个小时的开发时间,且这 4 个小时,还一定程度阻断了他本来在进行中的工作,导致的结果就是至少一个半天的时间是没有了,这就必然导致他的项目开发出现风险,有时候联调上线就是这样半天半天挤出来的。
这只是一个面试官,大厂通常需要 3 到 4 轮,少数高级别、面试定级有争议的或者需要避嫌的,还需要加面,还需要跨团队找其他团队面试官交叉面,这样下来,在每个能走到 Offer 阶段的候选人,其实公司是花费了很高的招聘预算,这些预算大部分是工程师团队宝贵的研发时间。
这些研发时间,除了简单的换算为工资外,还代表着许多项目的交付出现一定风险与延期,那又进一步意味着公司层面承担了业务上线窗口期的其他的风险和成本(比如一个活动延迟上线 2 小时,可能就影响到广告团队的投放效果、运营团队的活动效果…),统统这些问题,对于候选人都是黑盒,这不是他需要考虑的事情。
但这些事情,是需要公司的 HR 团队和Android团队需要评估的事情,一周面试 4 个候选人的背后,可能是从 100 份简历中挑选出来的,挑选简历的粗筛工作,往往由 HR 完成,而 HR 通常负责好几个团队,甚至跨职能的团队,她怎么可能看得懂Android的每个项目和技术呢,所以简历筛选中卡学历是一个很有效的手段,这样做一定会误杀,但不这样做的成本是无法承担的。
其实何止是卡学历,卡的东西多着呢,因公司因团队因 HR 的喜好而异:
卡学历,非本科一律不过
比如某一个字节Android团队,是非一本统统不要,团队里全是 985/211 和少数双飞一本的
卡跳槽高频,无论是主动离职还是被动裁员
比如阿里云某个团队,5 年 3 跳统统不过,阿里另一个团队 5 年两跳统统不过
卡年龄,看工作经验对应的预估层级
比如工作 8 年,预判不到 P7,统统不要
卡大厂背景,非知名企业一律不过
比如字节某团队,只招某个方向的,且有大厂经验的人
卡婚育年龄,这个特别曹(Cao)丹(Dan),代表月亮鄙视它
比如个别大厂团队,对于适龄已婚无子女的女生前端,一律不过
卡培训经历,进过培训班的一律不过
这一点也非常粗暴,但的确有团队这么干
不再一一枚举,还有很多的因素,都在掣肘着你的职业发展,而学历只是敲门的第一道砖,很多时候即便提升了学历(专升本),不少大厂团队依然不认,他们只看你的第一原生学历,但也也有一定数量的团队,虽然很看重你的第一学历,如果你的技术过硬,潜力不错,他们还是会开绿灯的,每一年都能看到这样的案例。
最后,回应下本文讨论的话题,是希望通过这个拆解,让众多曾经因为学历而被拒的童鞋,可以想开一些,很多时候只是公司的选择方法,而不是针对你本人,同时,即便是提升了学历,不能直接帮你进大厂(其实无论怎么提升,都是很难加分的),但至少可以不扣太多分,可以在技术过关的时候,不因为学历而把你卡掉。
在这里给大家分享一波Android程序员进阶宝典和面试秘籍
完整学习笔记PDF,点击这里免费下载获取!点击这里免费自取!!
=============================================================================================================================
目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。
知识要点:
1、 Java序列化、泛型与反射
2、虚拟机底层原理
3、Android内存原理
4、 Java高级并发原理详解
5、 编译时技术掌握与实战
6、JDK高级动态代理
7、高级数据结构与算法
8、 Java IO操作
。。。。
Android R FrameWork源码与UI
在Android中,Framework泛指系统架构层。Framework的中文意思是“框架”,在软件开发中通常指开发框架,在一个系统中处于内核层之上,为顶层应用提供接口,被设计用来帮助开发者快速开发顶层应用,而不必关心系统内核运行机制,通常Framework都会隐藏main函数等应用程序必须的组件,开发人员只需把精力放在功能代码的实现上。说简单点,Framework具体的工作也就是为android应用开发的开发人员提供了一系列的服务和API的接口。
UI其实并不是单纯指用户看到的效果。因为在Android开发中,每个控件背后都有一套深层次的体系在支撑,自然而然,会UI不单纯指的是会自定义控件,我们还应该知道自定义控件背后的执行流程,包括从Activity的创建,XML的解析,到每个控件的测量、布局、绘制。当然在中间还夹杂着比如动画、事件分发机制、嵌套滑动机制等知识点。还有谷歌提供的一些UI框架也使我们要掌握的对象,比如Jetpack组件库、Material Design等。
知识要点:
1、 FrameWork源码解析(SDK 30)
2、Android常用组件深入解析
3、JetPack全家桶
4、Android R新特性解析
。。。。。
大厂内部APP调优方案
性能优化是一个项目必须要经历的过程,你的应用好与坏都是在用户使用的过程中反映出来的,如果性能优化没有做好,对于你的应用来说影响是非常大的。尤其是现在的Android市场竞争非常激烈,如果你的应用体验没有竞品的好,那么用户流失是必然的。
性能优化不是一件简单的事情,每个应用的性能好与坏无法由一个人来决定,因为性能优化的维度有太多了,从我们项目的整体架构,到我们代码的每一个细节,再到应用使用环境的测试,只有步步为营,才能做好一个项目的优化。大部分开发者把性能优化指向与不闪退就行,但是实际上性能优化包含了很多方面,比如从简单的启动优化、 UI优化、 卡顿优化、 崩溃优化、 安全性优化,到深层次的弱网优化、 大图加载优化、 储存优化、 高效传输优化、 极限瘦身优化,再到实际开发过程中的OOM问题原理解析、 ANR问题解析、 Crash监控方案。要想把这些优化流程做好,我们不仅从项目架构、代码规范等方面入手,还用学会利用第三方的检测工具来检测项目性能,最主要是,我们需要一套完整的性能优化方案,这正是我们所缺少的,所以我们必须要把缺少的补上, 打造一套真正的完整的性能优化体系,把性能优化流程化,常态化。
知识要点
1、 APP基础优化
2、APP深度优化
3、开发焦点问题优化
4、编程效率优化
5、项目实战
抖音在APK包大小资源优化的实践
优酷响应式布局技术全解析
6、网络优化
手机淘宝双十一性能优化项目揭秘
高德APP全链路源码依赖分析
彻底干掉OOM的实战经验分享
微信Android终端内存优化实践
对标腾讯T3.3架构师
Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。
面试题集可以帮助你查漏补缺,有方向有针对性的学习,为之后进大厂做准备。但是如果你仅仅是看一遍,而不去学习和深究。那么这份面试题对你的帮助会很有限。最终还是要靠资深技术水平说话。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。建议先制定学习计划,根据学习计划把知识点关联起来,形成一个系统化的知识体系。
学习方向很容易规划,但是如果只通过碎片化的学习,对自己的提升是很慢的。
我们搜集整理过这几年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
我们在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多
建议先制定学习计划,根据学习计划把知识点关联起来,形成一个系统化的知识体系。
学习方向很容易规划,但是如果只通过碎片化的学习,对自己的提升是很慢的。
我们搜集整理过这几年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
[外链图片转存中…(img-8XGun5NE-1640410010503)]
我们在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多
本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录