共计 6047 个字符,预计需要花费 16 分钟才能阅读完成。
转瞬曾经到了 2021 年的开端, 回首这过来的一年,发现自己已经定下的指标一个都没有实现。
前言
我是一个专科毕业的菜逼,大学的最初一年发现自己什么都不会,据说程序员赚的多,就趁着培训机构来学校讲课的机会报了个培训班。
在培训班的时候正好疫情来了,就全副改为在线学习,那段时间没人督促也没有好好的学技术,导致本人当初的根底很差。
等学完了进去也只能在二线城市找了个 7.5k 的工作,这期间边下班边还贷款还是挺吃力的。
虽说公司小,但好歹是个甲方,过年过节的福利是真的挺不错的,干了一年半这期间还给我涨了 20% 的薪水,过年还有三个月的年终奖,惟一我不太喜爱的就是外面的人挺卷的,尤其是我的老大,天天卷到 8、9 点钟,加班还没有加班费。
往年公司间断接了好几个我的项目,加班加点没日没夜的,终于把我的腰间盘给累的突出了,在医院看病的期间我还是下定了信心筹备跳槽。
筹备阶段
疫情向好、面试在即,还在迷茫迟疑中的后浪们,如何能力在面试中让本人怀才不遇,让面试官眼前一亮?
文章开端我将分享几篇干货满满的面试笔记和材料给大家,记得肯定要好好珍藏哦!!
首先筹备一份丑陋的简历
一份丑陋的简历就是你进入大厂的敲门砖。
网上有很多教程教大家如何写出一份丑陋的简历,这里我就不做重复劳动了,大家能够去网上间接下载。
明天我就要逆向思维解说一下什么样的简历是蹩脚的,这里大家肯定要检查一下本人的简历有没有如下的故障:
薪资冀望定得过高或者过低
。咱们在简历上填写的冀望薪资,倡议和投递的岗位薪资范畴较为靠近,懒人能够间接填面议。因为定得过高,面试官看到之后可能会加大面试过程中发问问题的难度。(你想啊,你定的薪资都比面试官高那么多,人家心里什么味道?还不把你往死里问,看看你到底值不值这个价?)然而如果你定得过低,面试官可能间接就抉择漠视你的简历了,毕竟工资又不是面试官发的,人家只是想招进来一个有能力能够背锅的,你定得那么低,显著是对本人程度没信念,也就不会思考你了。对本人自觉自信,本人搞不明确的也往简历里写,什么都写精通
。这也是十分常见的问题。简历最考究的是真挚,会什么就写什么,不要为了凸显本人多厉害而胡乱往上写,否则害的还是你本人。你要晓得的是,个别好一点的面试官都会简略联合你简历上填写的内容进行针对性的发问。因为技术可发问的点十分多,然而面试的工夫是无限的,那么如何能力疾速地考查一个人的技术水平呢?最简略的形式就是联合这个人的工作经验进行针对性的发问。 其实面试最根本的一项工作就是验证你简历内容的真实性。简历内容过于丰盛,技能内容与岗位形容匹配度不高
。我就常常在 Android 招聘岗位上收到很多奇葩的简历。这些人的技能树通常是:C,Android,后盾,js 等,也就是俗称的全干工程师。说真的,即便你真的全会,你写的这个简历也只是适宜小厂的面试,因为大厂是不会去招一个什么都会,什么都不精的人的。你须要在简历中着重突出你区别于其他人的劣势,最好的做法就是什么样的岗位投递什么样的简历,多做几套简历作为备选。工作经验过于丰盛
。例如 3 年待过 3 家及以上数量的公司。工作经验丰盛诚然是坏事,但你也不能全都写到简历里去,抉择 2~3 家较为有名的公司介绍一下即可,否则他人会对你的团队合作能力以及忠诚度提出质疑。我的项目教训过于简略或者论文化
。无论你的我的项目教训是多还是少,列举 3~4 个即可。除此之外,我的项目教训切忌不要论文化,我常常看到很多人的简历上我的项目教训是大段大段的形容,加起来可能有 2~3 页纸 … 说真的,你写这么多,面试官反而不会看,因为想全副看完切实是太累了。这里你只须要简略介绍一下我的项目的内容、你负责的模块和负责的角色、波及到的技术以及最初我的项目的成绩等即可。技术博客或者 github 主页没有什么内容也写到简历里
。记住技术博客或者 github 主页这一类的,原本都属于加分项,可有可无的,然而如果你写了,面试官誓必会满怀期待地点进去看,如果这个时候出现给他的却是空白页或者寥寥几行内容的话,这种一泻千里的感触会给面试官留下十分不好的印象。简历中填写很多对求职无关的内容
。与职位要求无关的内容就不须要写到简历里去了。因为你的简历是拿去找工作用的,任何一个与找工作无关的内容写到简历里只会节约你简历的空间。例如你的一些兴趣爱好或者无关证件。
自我介绍要背得滚瓜烂熟
自我介绍能够说是面试的必要环节,无论你加入什么模式的面试,面试官肯定会首先让你做一个简略的自我介绍,所以自我介绍这一关肯定要准备充分,最好做到烂熟于心。
自我介绍不是简历的反复背诵。咱们在做自我介绍的时候,肯定要把握好重点,切忌过长或者过短。
自我介绍的过程,也是一个自我采购的过程。你能够把面试官当作你的顾客,而把你本人当作采购的产品。你要做的就是应用最真挚的形式,把你集体的工作教训、长处、能力与面试公司的岗位需要紧密结合起来,让面试官置信招这个人进来的确能够分担工作的压力。
那么咱们在做自我介绍的时候,须要介绍哪些内容呢?上面我简略列举一些内容供大家参考:
集体根本信息
。个人信息的介绍要突出重点。咱们须要把重点放在与 「公司需要」 匹配的信息上,如果该信息匹配或有关联,那么咱们就说,如果齐全没关联,那就一句话带过或者不说。工作经验
。如果你的工作经验十分丰盛,那么简略挑 1~2 家和目前应聘公司相似的简略介绍一下即可,其实底层的逻辑就是过来经验是否与目前应聘岗位相匹配或有关联。我的项目经验
。我的项目经验不要讲太多,挑一个匹配的或者印象最粗浅的重点讲一下即可,其余的能够一笔带过。我的项目经验能够简略从四个维度开展:我的项目的背景、我的项目的内容、你在我的项目中承当的角色和工作、我的项目的成绩或者业绩。将来愿景
。说一些积极向上的内容,进一步阐明本身与岗位相匹配,描述将来愿景,从而更好地感动面试官。(要让面试官感觉招你进来是十分有价值的,小伙子不仅是冲着钱来的,还是有谋求讲情怀的)
自我介绍不易过长,筹备 2~3 分钟即可。与此同时,你平时还须要多加练习,依据不同的公司、不同的场合以及面试的不同岗位,进行不同内容的自我介绍。
面试前多刷刷面试题
面试前多刷面试题,是对面试最起码的尊重。
尽管我在这里不提倡大家长期抱佛脚,然而适当地抱一抱佛脚也比那些什么都不筹备,就间接裸面的人要好很多,至多你的态度是端正的。
邻近年初,很多人开始蠢蠢欲动了,总有一些人啥都不筹备,间接甩两膀子就去面试的。面试基本上是一问三不知,要么就是说之前看过忘了 … 更有甚者间接就说,我就是进去面个试感受一下面试氛围以及最新行情的 …
托付,能不能给予面试最起码的尊重?你来面试也是须要破费面试官工夫的,简略筹备一下不香嘛?万一你运气好,恰好这家公司职位裁减,升高面试要求了呢? 你这么轻易,岂不是把白花花的机会全都给节约掉了嘛!
上面给大家总结进去了一些面试常见的知识点,还有对应的 PDF 电子书,有须要的敌人文末有自助支付形式。
Android 技术面试个别波及的因素
Java 根底
面试 Android 岗位,Java 根底那是必问的。如果我的项目中应用 kotlin 比拟多的话,可能还会问一些 kotlin 相干的问题。
Java, 作为一门根底语言,考核的是应聘者是否具备扎实的基本功。很多培训班或者非科班出身的人,常常会栽在这一环节。个别这个环节的问题答不上来的话,基本上是提前结束了。
那么常见面试的 Java 根底问题有哪些呢?上面咱们简略列举一些供大家参考:
- 1.Java 汇合类 List,Map,Set 相干的实现原理。
- 2.Java 线程池的实现原理和应用
- 3.Java 线程同步相干的知识点。
- 4.Java 锁机制,以及死锁产生的起因以及解决方案。
- 5.Java 反射、泛型、注解相干的知识点以及应用。
- 6.Java 类加载机制。
- 7.Java 虚拟机的资源回收机制以及算法。
以上基本上是面试 Android 岗位的常见考点,所以咱们必须器重对 Java 语言的学习和了解,即使你在平时工作中应用 kotlin 较多,也不能漠视对 Java 基础知识的坚固和学习。
Android 根底
Android 根底,不用说这是面试 Android 岗位必须要问的内容。要是连这个都答不上来,根本你的面试就提前结束了。
Android 根底是任何 Android 面试都须要考核的内容。不过这也是按级别而定,个别高级开发工程师的面试,Android 根底只是一笔带过。
那么 Android 根底有哪些呢?上面咱们简略列举一些供大家参考:
- 1.Handler 机制以及相干常识。
- 2.Activity 和 Fragment 生命周期。
- 3.Android 四大组件相干的常识。
- 4.Android 过程间通信的形式。
- 5.Context 相干的常识。
- 6.Activity 的启动模式。
- 7.Android 动画相干常识。
- 8.Android 自定义组件相干常识。
- 9.Android 事件散发机制以及触摸事件抵触的解决。
- 10.ANR 产生的起因以及防止 ANR 的形式。
- 11. 内存透露产生的起因以及定位解决的形式。
- 12.OOM 产生的起因以及解决的形式。
- 13.Android 页面渲染机制以及优化形式。
- 14.LinearLayout、FrameLayout、RelativeLayout 和 ConstraintLayout 的了解和性能比照。
- 15.Android 各版本的个性。
- 16.Android 屏幕适配的技巧。
- 17.MVC,MVP,MVVM 的了解与实际。
- 18.Android 的主题、款式、属性相干的内容。
- 19.JNI 相干的常识。
以上内容是作为一名合格 Android 开发工程师所必备的知识点,也是常见的考点,请务必每条都要分明把握,
这样你在面试过程中能力熟能生巧。
Android 源码剖析
Android 源码剖析,算是要求较高的考核。不过这在大厂面试中十分广泛,因为很多大厂对 Android 源码的剖析和了解都有相当高的要求。
那么常见的 Android 源码剖析有哪些呢?上面咱们简略列举一些供大家参考:
- 1.Android 零碎的启动流程剖析。
- 2.APP 启动的流程剖析。
- 3.Activity 的启动流程剖析。
- 4.Zygote 过程的创立和启动流程剖析。
- 5.Window 窗口创立和加载的流程剖析。
- 6.Dalvik 和 ART 的了解。
- 7.RecyclerView 的源码剖析。
浏览源码是一件绝对干燥的事件,如果平时工作中波及不到的话就很难坚持下去,因而须要十分强的毅力。不过话又说回来,如果你可能熟练地把握 Android 源码的话,那么就十分有机会进入大厂了。
Android 进阶技能
这部分个别是对 Android 高级开发工程师的考核,次要波及的点次要是一些性能优化,技术细节方面的问题。
要想成为一名高级开发工程师,性能优化以及架构设计永远都是绕不开的话题。做技术如果只是广而不深的话,是不可能成为一名高级开发工程师的。只有一直晋升本人的不可替代性,能力进步本人的价值。
那么常见的 Android 进阶技能有哪些呢?上面咱们简略列举一些供大家参考:
- 1.App 稳定性优化。(crash、性能以及体验等)
- 2.App 启动速度优化。
- 3.App 内存优化。
- 4.App 界面绘制优化。
- 5.App 瘦身优化。
- 6.App 平安优化。
- 7. 网络申请优化。
- 8.WebView 应用优化。
- 9.RecyclerView 的缓存刷新优化。
- 10.AOP 技术的原理和实际。
- 11.gradle 脚本继续集成技术。
- 12.App 过程保活。
以上只是 Android 进阶技能的一小部分通用性技术,除此之外还有很多细分畛域相干的进阶技能。总之,如果这项技术是你把握而其他人广泛不理解的,那么它就属于进阶技能。
新技术钻研
Android 这些年的技术倒退基本上曾经趋势成熟,所以对于新技术的钻研也并不是那么看中,可能面试官就是随口问一下,想要晓得你的学习欲望强不强罢了。
那么有什么新的技术能够在业余时间进行钻研呢?上面咱们简略列举一些供大家参考:
- 1.Android 组件化。
- 2.Android 插件化。
- 3.Android 热更新技术。
- 4.Android JetPack 框架技术。
- 5.Kotlin 开发技术。
- 6.Android Hook 技术。
- 7.AOP 技术。
- 8. 依赖注入技术 IoC。
- 9. 跨平台开发技术:ReactNative、Flutter 等。
下面的内容,其实很多曾经算不上新技术了,如果你当初还不理解的话,那么你最好花点工夫理解一下,否则我只能说你是真的 out 了。
开源我的项目源码剖析
开源我的项目源码剖析和 Android 源码剖析一样,也是考核应聘者对原理的了解。如果仅仅只是会应用而不对其原理加以理解的话,那么你也只能算是达到高级程度,这样是无奈进入到大厂的。
那么开源我的项目的源码剖析咱们应该怎么做呢?首先咱们须要带着问题一点点浏览源码,搞清楚其外部的实现逻辑,而后梳理出其大抵的设计架构,画出 UML 图,最初总结出其中使用到的设计模式和思维。
那么有哪些优质的开源我的项目值得咱们去钻研其源码呢?上面咱们简略列举一些供大家参考:
- OkHttp
- Retrofit
- Glide
- LeakCanary
- RxJava
- ARouter
- EventBus
- ButterKnife
- GreenDao
- Dagger2
以上我列举的基本上都是咱们平时开发过程中常常应用到的开源我的项目,认真钻研和剖析他们的设计思维和精华,并踊跃使用到咱们平时的编码当中去,能够让咱们的技术失去质的飞跃!
算法
局部大厂对 Android 开发工程师的算法也是有肯定要求的,这部分没有什么好说的,关上 LeetCode 去多刷刷题就能够了。
虽说 Android 开发工程师也须要把握肯定的算法,不过和那些业余做算法的相比必定是没那么高的要求的,咱们并不需要把 LeetCode 的每道题都刷一遍,只有把一些简略和中等难度的题刷一遍就能够了。
那么常见的 Android 算法题有哪些呢?上面咱们简略列举一些供大家参考:
- 1. 各类排序。(尤其二分法插入排序、归并排序须要着重把握其思维)
- 2. 手写反转链表、链表复制、链表合并。
- 3. 手写队列或者链表等数据结构的实现。
- 4. 字符串匹配、去重问题。
- 5. 双指针算法问题。
- 6. 数组查重问题。
- 7. 二叉树的遍历和序列化。
- 8. 贪婪算法相干问题。
一个好的算法可能极大地晋升利用的性能,如果你平时有心的话就会发现在 Android 源码中也常常能看到算法的身影,感兴趣的能够浏览一下 SparseArray 的源码。
最初
如果你可能始终保持看到这儿,那么首先我还是非常拜服你的毅力的。不过光是看完而不去付出口头,或者间接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多口头起来吧!
以上这些内容均收费分享给大家,须要完整版的敌人,能够加我的技术交换群:34+5659+112,群内有很多 Android 大佬。
能够十分负责地说,如果你可能保持把我下面列举的内容都一个不落地看完并且全副消化为本人的常识的话,那么你就 至多曾经达到了 Android 中级开发工程师以上的程度,进入大厂技术这块是根本没有什么问题的了。