A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【精华中的战斗机】给Android程序员的一些面试建议(中)

涨薪机密——潮流新技术、新框架资源以后不定期更新,



       上篇说到底技术掌握到什么程度才能比较轻松地通过面试呢?之前说了那么多,好像和Android没有一点关系,下面就开始以Android为例来分析下面试过程所需的技术。

Android面试过程所需要掌握的技术

       一场面试都有一个流程,拿Android面试来说,面试内容不可能全是Android问题,里面应该会有编程基础相关的问题。我对Android面试中的问题做了下分类,如下所示:


类别
  描述
数据结构和算法
熟悉或者知道
Java
熟练掌握
Android
熟练掌握
设计模式和架构
熟悉

       一般来说,一个Android应用开发岗位是不需要太强的数据结构和算法的,但是这并不意味着候选者可以完全不懂数据结构和算法,所以数据结构和算法大家还是要稍微了解下,由于它不是必须的,所以就算面试过程中回答的不好也没关系,只要后面的Java、Android相关的问题能够完美回答就好。有同学和我反馈,说面试挂在了数据结构和算法,这在社招中应该是不多见的,这多半是因为Android的问题也没有很好地回答出来,这就是社招和校招的不同之处,校招看基础,社招看技术深度和业务。

       关于设计模式和架构,其实中高级面试对这个的要求并不是特别高,熟悉下常见的设计模式基本就ok,比如单例模式、工程模式、观察者模式等。
       接下来主要描述下面试过程中对Android技术的要求。在我对Android的理解这篇文章中,我对Android的技术类别做了一下划分,如下所示:

类别
描述
开发者所需级别
基本知识点
熟练掌握
初中级
深入知识点
熟练掌握
中高级
基本知识点的细节
掌握
高级
系统核心机制
熟悉、掌握
高级、资深
琐碎的知识点
了解
所有级别

       对于大部分面试者来说,大家的目标岗位应该是中高级,中级岗位(百度T4)需要掌握的知识点是:基本知识点、深入知识点;高级岗位(百度T5)需要掌握的知识点是:基本知识点、深入知识点、基本知识点的细节和系统核心机制。

1.
基本知识点
比如四大组件如何使用、如何创建Service、如何进行布局等。这类知识是需要熟练掌握的,并且也没什么难度。

2.
稍微深入的知识点
比如AIDL、Binder、多进程、View的绘制流程、事件分发、消息队列等。这类知识对于高级开发者来说也是必须掌握的,然而相信很多候选者在面试之前并不能对这些问题了如指掌。这些问题基本都是面试过程中很常见的问题,也是高级岗位所必须掌握的问题,不搞定这些问题无法达到百度的高级工程师的标准,因此也不可能通过面试。

3.
基本知识点的细节
比如Activity的启动模式和标记位、Service同时处于start和bind状态时的停止问题、AsyncTask的同步异步问题以及使用时的限制等,这种问题还有很多。这类知识点,大家在开发过程中可以并不会去注意,这会导致一个问题,那就是开发应用没问题,但是在面试时面试官只要稍微问下细节或者特殊情况,就hold不住了。 这类问题也是高级开发者所需要掌握的,有些面试官喜欢问一些看似刁钻的问题,但是候选者如果回答不了也是不好的。

4.
系统核心机制
比如主线程的消息循环、主线程如何和AMS如何跨进程交互、SystemServer进程中的各种Service的工作方式、AsyncTask的工作原理等。这类知识对于高级开发者也是建议掌握的,因为它们可以让开发者理解Android的运行体系。 这类问题并不是所有的Android面试都会涉及到,但是技术含量高的大公司有可能涉及此类问题。

5.
琐碎的知识点
此类知识点我把它们定义为一些重要但是没有什么技术难度的问题,比如如何打开一个网页、如何打电话、如何发短信、如何定位、多点触控等,这类问题往往不好记忆,但是需要的时候去查一下就能立马搞定。这类问题基本上不会出现在面试过程中。

大家结合自己对Android的学习过程以及面试经验,在面试中遇到的问题是不是都是包含在上面的5个分类之中呢?
对于1和5相信所有人都没有问题,但是对比2、3、4中的内容,大家是不是都能很好地Cover呢?
换句话说,如果2、3、4中的内容大家都能很好地掌握,面试中的问题还能难倒我们吗?
在前面的分析中提到,技术是觉得面试是否成功的关键因素,那么在面试前要做的就是把技术搞好,同时注意沟通和态度,这样的话通过面试岂不是很简单的事吗。




其他精华资源推荐:
【强荐!】2016年最新Android学习路线图——按此路线图学习月薪过万{ 火速收入}
平均薪资近12K,Android续写“刷薪”记录!
[持续更新]2016最新Android视频教程+源码+技巧/经验+软件+面试



14 个回复

倒序浏览
感谢楼主分享
回复 使用道具 举报
就喜欢这种分享,让我们能够清楚定位,掌握方向
回复 使用道具 举报
感谢楼主分享
回复 使用道具 举报
overoverno
回复 使用道具 举报
赞一个,赞一个
回复 使用道具 举报
顶顶顶顶顶顶顶顶顶顶顶
回复 使用道具 举报
写的很好  学习中会重点掌握
回复 使用道具 举报
校招看基础 社招看技术深度和业务 这句话讲的很有水平
回复 使用道具 举报
感谢楼主分享,学到了挺多
回复 使用道具 举报
真好,清晰了一些 感谢
回复 使用道具 举报
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
回复 使用道具 举报
支持,赞一个!
回复 使用道具 举报
写的不错已经收藏了
回复 使用道具 举报
感谢楼主分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马