作为一名优秀的程序员,技术面试是不可避免的环节,一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识。
正常情况下,一轮技术面至少要 30 分钟,有的甚至能聊一个多小时,低于这个时长的基本就算凉了。
有个前同事,6 年 Android 经验,去滴滴面试,不到 10 分钟就被送走了,之后再也没有接到下一轮面试的通知。
好不容易拿到的面试机会,仅仅十分钟就被 PASS 了,说到底还是因为技术不达标。面试官问的几个问题,他回答得都不是很好,直接导致对方没有继续聊下去的意愿:
这些底层问题能回答上来吗?是不是看上去很难?是不是和自己准备的“题库”中的问题不一样?不知道从何处下手?如果你有这种感觉,那么说明你的技术还需要继续修炼。
其实,Android 技术面考察的知识点很多,从框架、JVM、并发,到 NDK、kotlin、Flutter和性能优化,覆盖面非常广。
其实很多的移动开发者都止步于这个水平,要想再进一步深入发展很难,进阶学习成为了一个迫在眉睫又进展艰难的点。
进阶学习难吗?有一定难度。工作和学习遇到瓶颈后我们需要钻研底层原理,而现在我们基本上都是上班怼业务代码,晚上经常性加班赶任务进度,回到家已经很累了,很少有时间去提升自己的技术。钻研底层原理对我们来说相当奢侈。
现在竞争这么激烈,只有通过不断学习,提高自己,才能保持竞争力。
对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
对于一些不知道学习什么,没有一个系统路线的程序员,这里给大家提供一个大概的思路:
知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结。
接下来分享的系统学习资源以详解各大互联网公司的 Android 常见面试题为主线,从面试的角度带你介绍必备知识点,以及该知识点在项目中的实际应用。
帮你在现在的基础上,重新梳理和建立 Android 开发的知识体系。无论是你短期内想提升 Android 内功实力,突破自己工作中的能力瓶颈,还是准备参加 Android 面试,都会在这份资料中有所一些收获。
1.2020大厂面试高频知识点
2.Jetpack架构组件从入门到精通
3.Framework精编内核解析
主要内容包含:
4.Kotlin强化实战(附Demo)
5.Android设计思想解读开源框架
6.NDK模块开发
7.Android源码解析
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。
但想要拿下大厂 Offer,不仅要具备过硬的技术能力和丰富的项目经验。
最重要的是你的简历必须要有足够的含金量,能经得起 HR 的筛选,否则你连面试机会都没有,又怎么能用实力征服面试官呢?
高端码农简历
我们来看看一份高端码农的简历,这个简历写得相当漂亮,漂亮的让人一看就想约。
下面,就让我们一起来聊一聊,对于技术人来说,怎样才算是一份好的简历?
简历基本主要分为四个部分:
1.个人的基本信息 2.自己过往的一个履历 3.说明自己个人技能 4.自己做过的一些优秀项目经历
HR、面试官在筛选简历的时候,一般不会超过一分钟,如果想自己的简历在60秒钟内脱颖而出,简历中要有突出自己的亮点优势,让人耳目一新,彰显你自己的才能。
对于开发者们来说,个人技能亮点,可以从一下几个方面着手,比如:
1.解决了什么疑难杂症,如解决了 top crash, crash 率降低了 0.1% 等 2.性能上面带来了多少提升,如编译速度的提升,提升了多少,降低了多少 min等 3.你在这个项目作出了什么成绩,比如主导搭建了代码扫描框架,自动扫描,提高代码质量,减少 review 成本。
千里马常有,而伯乐不常有。一定要重视简历,让简历能够反映你的真实水平,先不说做到锦上添花,至少不要拖后腿。
个人技能这块,也是简历中必不可少的一部分。
第一,先说最重要的一点,按照掌握的程度分为几个等级,精通,熟悉,掌握,了解,强烈建议不要写精通,道理你懂的。
第二:不熟悉的点不要写到简历上面,否则就是给自己挖坑。
比如,你只是使用了网络库 OkHttp,你在简历上面写熟悉/掌握 Okhttp。恭喜你,兄弟,你给自己埋下了一颗定时炸弹。面试官可能会问你各种原理的,Okhttp 的设计原理是怎样,拦截器是怎样设计的,有什么优缺点,连接池等等?
第三:技能要具体,突出重点,让面试官有话可问。
面试其实是一个双向的选择过程,简历上面技能写得具体,面试官看到了,可能会往这个方面提问题,这是非常 nice 的,我们恰好可以展现自己的特长。
相反,如果简历上面写得不具体,面试官找不出想问的点,那可能就会往他/她擅长的方面问,这时候,对于求职者来说,是非常吃亏的。
因为每个人都有擅长和不擅长的技能,不可能面面俱到。
第四,写的技能一定要跟你应聘的岗位相关,不相关的不要写上去。
比如,你应聘的是 Android 开发工程师,你在简历上面写一堆后端技能。匹配度不高,简历可能会 pass。
当然,也不是不可以写与应聘岗位不相关的技能,只是说简历要跟我们应聘的岗位匹配度高一点。这样,简历筛选通过的几率比较高。
最后,专有名词一定要写对,这体现一个人的专业素养和细心。比如 Java,不要写成 java,Android 不要写成 android。
我们可以从以下思路,以项目为主体,设计我们的简历。如图,大概分为以下层级:
项目职责,这一块是最重要的,也是展现我们能力的时候,尤其要重视。
在写一块的时候,建议分点论述,这样显得调理清晰。
写简历,有一些新手会经常犯一些错误,下面简单列举一下:
暂时就想起这么多了,以后记得再补充,对了,我整理了一份简历模板,想获取的话,可以点这里可以看到全部内容。或者点击 【这里】 查看获取方式。
最后:一个优秀的Android开发者,一定有扎实的基础!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。