2021我的Android大厂面试之旅!带你碾压面试官!
发布日期:2021-07-22 12:30:39 浏览次数:2 分类:技术文章

本文共 3378 字,大约阅读时间需要 11 分钟。

前言

从毕业到现在面试也就那么几家公司,单前几次都比较顺利,在面到第三家时都给到了我offer!前面两次找工作,没考虑到以后需要什么,自己的对未来的规划是什么,只要有份工作,工资符合自己的要求就行!所以在智联招聘上选好工资范围,就一顿海投,做等面试电话!

做两快三年的Android开发,工作的任务也就是一些界面的编写,RecyclerView的简单使用,网络框架也是别人封装好的直接用,再就是集成些第三方的分享、支付什么的!技术上的提升可以说根本没有,和工作一年左右的人,比起来就多几个项目优势!所以这次出来找工作还期望15K,说起来心里很慌!

学习瓶颈

一直聊到这里,我都非常理解。我这个十年以上的老码农,体会比他还深。其实稍微干上一些年头,就是这个样子,看起来像是“学习热情下降”“懒得学习”,但本质上呢,两个原因:

1、本身的技能增强,能够应付日常工作,没有刚入行时那么大的压力了。

2、学习的边际效益递减,所以开始考虑投资/收益比了。

刚入行的时候,技术一丁点的进步,都能带来非常大的成就感,至少能少挨点骂,是不是?积累到一定时候,就可以跳个槽涨点工资啥的。但三五年过后,

我已经会了:

  • 熟悉Android OS系统体系结构、framework层;
  • 良好的Java技术功底,精通多线程、socket通信、文件操作等java底层技术;
  • 精通Android的基本组件使用,熟练使用Android各种布局与控件,熟练运用各种动画特效;
  • 熟悉View的绘制原理,精通自定义动画以及自定View的开发
  • 有丰富的Android性能优化经验,善于解决系统崩溃,内存溢出和兼容性问题;
  • 熟悉JNI技术和代码混淆
  • 有单元测试、自动化测验及相关框架经验;
  • 有良好的代码习惯,要求结构清晰,命名规范,逻辑性强,代码冗余率低,代码注释清晰;

学会优雅转身

接下来和大家分享一下我这么多年的转型之路。姑妄听之:

1、转型技术管理

2007 年下半年到 2009 年初,我慢慢转向技术管理角色,开始管理一个研发部门。我走的路线是“技而优则管”。

简单讲,就是你技术牛 X ,轻松搞定各种问题,开始带人,接下来带团队管项目,再接下来,顺理成章就会被公司推着向技术管理者转型。

这种路线,也是一大半技术管理者走过的路线。如果你想转型技术管理,可以考虑这种。

“技而优则管”的要点,就是:行有余力

什么意思呢,就是聚焦当下,高效搞定你的任务。当你体现出绰绰有余的样子,领导就会给你更多更难的任务。当你还能高效搞定,还看起来有余力,领导就会再给你更重要的任务……

如此循环,你就越来越重要,就会带人、带项目的机会。

假如你总是手上的活儿都做不完、做不好,就基本走不了这条路线。不过也还有其他路线。

2、加入创业者行列

2014 年 9 月份,我因某种契机,离开工作 7 年的公司,重新考虑自己的方向。到阳历年底时,接受朋友邀请,和他一起创业。

我之所以愿意去尝试,是因为:

  1. 创业和上班的未来可能性大不一样,万一创业成功,你的影响力、经济回报,都会上一个台阶。
  2. 一起做事的人靠谱。
  3. 做的产品,盈利模式明确。

当然,不幸的事总会发生——我们失败了。

我个人并没因为这样的失败经历而后悔,因为当你站在主人翁的角度和高度去为公司负责时,你对工作的认知,会发生巨大变化!这种变化,会对后续的工作和人生产生重要的正向影响。

如果你技术过硬为人靠谱,一定会有不少创业者邀请你加入他们的队伍。不要头脑发热,要仔细考察一下:

  1. 评估要做的产品是否靠谱
  2. 看看即将一起共事的人是否靠谱
  3. 设想近 2 年没有收入,自己和家人的生活水平能否维持
  4. 设想全力投入创业对自己和家人的生活有什么影响,自己和家人能否接受

3、 重回开发岗位

我从 2009 年开始做技术管理,到 2015 年底创业失败,历时 7 年。可是我在多个更好的管理机会面前,毅然选择回到技术岗位继续做开发。

为什么?

这是因为我们工作的目的,除了赚钱,还有自我实现。

自我实现包括几方面:

  • 成长
  • 成就
  • 意愿

成长是指你做一件事之前和之后,有你想要的、积极的变化。

假如你做了十年开发,技术水平、解决问题的能力,还是和刚入行时差不多,那就叫没成长!

成就是指你做出了成绩并获得了相关干系人的认可。

你负责一个模块,用了最新的技术最牛逼的设计,也能 run ,实现了用户需求。你个人觉得很有成就,可是你用的技术框架过于复杂,维护成本很高,运维团队、二次开发团队都不认可,那就不是真正的成就。

意愿很好理解,就是你愿意在什么事情上投入你的时间和精力、你做什么事情时会感到开心

比如我,在创业失败重新找工作时,就是因为觉得亲力亲为用技术去开发一个个软件、解决一个个问题比较令我兴奋和投入,所以才选择回到开发岗位上。

很多开发者都会遇到要不要转管理、要不要一直做技术这种问题,怎么选择答案,关键就在于你的个人意愿和你做某件事的感受。

可能有人会问,如果你一直做开发,年龄大了,怎么和年轻人拼?

我之前画过一张图,再贴出来给大家看看:

由这张图可以看到,开发者做软件分两次创造,第一次创造在头脑中完成,属于思考层面;第二次创造,是编码实现,是脑力劳动体力化。

如果你想要超越年龄,就要多在第一次创造所需要的能力上下功夫:

  • 构建起来自己围绕着特定业务领域的知识体系
  • 淬炼想象力、抽象、归纳、分析、整合、设计等

这样你就能思考得多、做得少、做得关键、做得好,就可以超越年龄的限制。否则如果你整天和年轻人一样只关注噼里啪啦敲代码,肯定没价值,很快被清退。

所谓高级工程师就是在技术上逐步沉淀,逐步体系掌握核心技术得来的。

我们程序员提升的方向无非管理者与架构师两种。要成为管理者,就应具备一定的管理知识、较高的情商以及良好的组织协调能力。

而想要成为移动架构师,就要肩负技术和组织两个层面的重任,构建自己完整的技术体系就尤为重要了。

当然从结果来论,能力突出架构师的薪资也同样会水涨船高,一个Android架构师能够拿到40万的年薪都再正常不过了。

程序员职业路线图

对于Android架构师职责的介绍,网上已经铺天盖地,就不再赘述。今天我主要给大家分享一下成为一名Android架构师应该掌握的技术能力。

阿里公司注重的7大主流技术专题与移动架构师项目实战

深度对接阿里P8高级工程师级别的主流技术体系,并且综合了目前的各大互联网公司如华为、抖音、OPPO、阿里等主流技术(即使你不想选择阿里,其它的大厂照样适合)

主流技术专题

主流技术专题

移动架构师项目实战

音视频开发、网上商城、新兴自媒体等都是时下热点技术与专题,深入了解项目源码、参与项目开发过程中问题解决、组织协调与人际关系沟通均是大厂对人才素质的基本要求。

移动架构师项目实战

学习福利

【Android 详细知识点思维脑图(技能树)】

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

详细整理在GitHub可以见;

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

转载地址:https://blog.csdn.net/m0_57285455/article/details/118065404 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:2021我的Android大厂面试之旅!看完这一篇就够了!
下一篇:2021我对Android-view的3条认识,年薪50W

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月19日 05时26分44秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

linux 停用用户,linux – 如何禁用用户的网络访问? 2019-04-21
linux服务器 缓存,Linux服务器内存使用分析及内存缓存 2019-04-21
linux查进程内存问题,关于linux 查看服务进程内存,cpu,内存占用的一些基础命令... 2019-04-21
linux英文包安装教程视频,Linux源码包安装过程讲解 2019-04-21
linux 关闭rsync服务器,linux下配置rsync服务器和实时同步 2019-04-21
linux初始化TCP服务失败,深入Linux系统追踪TCP初始化 2019-04-21
arch Linux添加源,在Arch Linux系统中使用Archlinuxcn源(清华源)的方法 2019-04-21
私人linux远程连接,Linux远程连接 - osc_5g1gl9wp的个人空间 - OSCHINA - 中文开源技术交流社区... 2019-04-21
windows文件迁移到linux,从Windows到Linux迁移之文件服务器(Samba和AD完美结合) 2019-04-21
linux下vi编辑器的命令大全,linux下VI编辑器命令大全(超级完整版) 2019-04-21
linux结构体数组的定义数组,task_struct结构体中的run_list和array域 2019-04-21
C语言极坐标转直角坐标,C语言实现直角坐标转换为极坐标的方法 2019-04-21
16F877A和24C02通信汇编语言,PIC16f877A读写24c02程序 2019-04-21
用c语言编写小于n的所有素数,关于求N以内素数的一点小问题(N小于一亿) 2019-04-21
华为100万部鸿蒙,2019年Q4发布 华为100万部鸿蒙OS手机已开测 2019-04-21
android+大富翁+局域网,【图片】大富翁6局域网(LAN)多人联机教程(求精)_大富翁吧_百度贴吧... 2019-04-21
html5 video视频资源保护,HTML5 视频播放 <video> 2019-04-21
html表头跟随滚动,JS实现table表格固定表头且表头随横向滚动而滚动_心善_前端开发者... 2019-04-21
rn webview加载本地静态html,React Native - Webview 加载本地文件 2019-04-21
dax powerbi 生成表函数_Power BI |DAX函数のCALCULATETABLE、CALENDAR函数以及相关表生成函数... 2019-04-21