这是一份面向Android开发者的复习指南,跳槽薪资翻倍

不是安卓不行了,是你跟不上了

我的很多读者都在反馈说,现在一个岗位可以收到的简历数,是前几年的几倍。我们必须承认,僧多粥少就是 Android 行业的现状,别说初中级工程师,就是高级工程师也是一抓一大把。企业招人的眼光也越来越高,如果你没点“真东西”,是真的挺难的

前几天和一位 Android 前辈聊天,他说面试中很多工程师,对特别基础的问题都停留在“使用过”或者“听说过”。没有深入到技术细节里,在竞争激烈的市场中就只能被淘汰。

下面这些,是他提到的几个问题,你能快速回答上么?

  • SoftReference(软引用)在内存不足时会被虚拟机回收,那它会不会导致 OOM?
  • Android 的 Touch 事件中 CANCEL 事件是如何产生的?哪些场景下会发生 CANCEL 事件?
  • Handler 中的 Looper 无限循环,为什么没有阻塞UI主线程?
  • 你在简历中写“精通多线程”,那么:线程中自己的“工作内存”指的是什么? 为什么阿里开发规范中不允许使用 Executors 创建线程池?

你一定想说“面试造火箭,工作拧螺丝”。实际上,你的答案反映了你对技术理解的深度,以及解决问题的能力。

听起来很套路,但企业需要的是能对自己提交代码负责、对使用每一个工具负责的「高级/资深 Android 开发」。

在很多程序员看来,数据结构,算法这一类的东西感觉没用,在实践中都不常用,所以都会很忽视这类内容,但是在很多公司看来,尤其是大公司看来数据结构和算法这种东西确实最有用,而且经常在笔试和面试中出现。为什么会这样呢?

1、看似最枯燥、最基础的东西往往具有最长久的生命力

像数据结构,算法这类东西,还有有一些计算机原理之类的知识,这些东西都是编程和实践的根本。他们看似枯燥和基础,但是具有最长久的生命力。

我知道,你可能熟悉各种框架,各种开源库的使用,但是那又怎样?看着各种框架和开源库的文档,只要有编程基础,谁不会照着葫芦画瓢呢?

不要天天谈什么框架,什么库,框架每年层出不穷,可是扒下框架那层炫酷漂亮的外衣,里面还是那些最基础的知识和原理。就是这些算法,数据结构,计算机网络,计算机原理这些看似基础的东西。如果这些掌握扎实了,你才有更加深一步的可能。

编程语言和编程框架等这些表面的东西,对于一个基础扎实的程序员来说,学习起来很快,成长也很快,如果这些基础和原理都懂,你就可能会写出这样的框架来。技术更新迭代快,语言层出不穷,但是数据结构,算法,计算机原理这类的东西确实没有变。

2、数据结构和算法在面试的时候最容易量化和体现能力

什么意思呢?在面试或者笔试的时候,面试数据结构和算法,可以面出你的思维能力,思考能力,这个能力对于编程来说很重要。比如:如果面试你使用过什么框架吗?你说:会,使用过,然后你谈了谈使用这些框架的一些知识和遇到的坑,以及怎么解决的?通过这样的问题,不能看出的思维能力和编程能力,只能看出你确实会用这个东西。

而面试算法和数据结构不一样了,以为面试这种东西可以让你写出来,或者写伪代码,而且这些能力如果你有,你的成长空间也高。面试你编程的实践能力,不可能让你上机去敲一个模块的实现吧?而让你写个算法和数据结构却很方便,也可以量化。

所以,很多人平时不用算法和数据结构,在跳槽的时候,也会提前去复习算法和数据结构的知识,因为这是面试中很常见的问题。但是我还是建议大家能够一直有这种能力。不要因为不常用而忽视这些基本的东西,这些东西才是精华。

最后

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

选定你想去的几家公司后,先去一些小的公司练练,学习下面试技巧,总结下,也算是熟悉下面试氛围,平时和同事或者产品PK时可以讲得头头是道,思路清晰至极,到了现场真的不一样,怎么描述你所做的一切,这绝对是个学术性问题!

面试过程一定要有礼貌!即使你觉得面试官不尊重你,经常打断你的讲解,或者你觉得他不如你,问的问题缺乏专业水平,你也一定要尊重他,谁叫现在是他选择你,等你拿到offer后就是你选择他了。

金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

本文在开源项目:【腾讯文档 】中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

FoS0ZF)中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值