如何分析Android职位

Java

○ Android语言

Android开发使用的是Java语言。与Java比较接近的是C++/C#之类,虽然并非语言懂得越多技术越厉害,但是精通两三门语言,侧面也可判断候选人的基本功是非常扎实的。

此外,工程师换方向也很常见,如果候选人之前用C++从事Linux应用开发(常见于嵌入式/车载系统/监控系统等),后转型Android开发,这都可算作“同类型经验”。不仅是Java和C++语言特性比较接近,Linux和Android也非常类似(内核都是一样的)。当然还有Windows转Android,iOS转Android,总体技能比较匹配。

○Android 框架

分层(框架)是计算机系统的共同特点,即Android是由不同层级组成的,分别是Linux Kernel(内核层)、Android Runtime、Libraries(核心库层)、Application Framework(应用框架层)和Applications(应用层)。

大部分Android开发是不需要做底层开发的,集中在Applications 层开发。只有手机厂商、特殊APP以及定制需求,才有可能涉及到底层的开发。

熟悉Applications 层是一个Android工程师基本技能,开发者得知道这里有什么功能,已经如何使用。Applications 可以简单理解为一些基础API的库房,也就是说,开发Android的大神们已经把很多功能实现好,并存放在这里了,你只要调用这些接口就可以完成功能了,比如说调用GPS接口获取位置服务。

是否了解和熟悉Framework 层可看成Android工程师技术能力跃升的分水岭。中高级Android开发(3年经验以上)应该对这层有所涉及和钻研,它可以帮助实现自定义API(完成更多功能)、代码的拓展性更好和对现有功能进一步优化。

○ 基本功

1.四大组件(Activity、Service服务、BroadcastReceiver广播接收器、Content Provider内容提供者)——熟悉四大组件是Android开发最基本技能之一。

2.基础UI组件(顾名思义,用于生成UI界面)

3.异步任务机制(AsyncTask、Looper/ MessageQueue/Handler、线程池)

4.布局优化(层级、绘制、碎片化处理)

5.图片加载(Bitmap、缓冲区)

6.数据存储(Android常用数据库为:SQLite )

7.网络和传输(熟悉http/socket协议和xml/json数据格式)

>>>猎头快速了解Android工程师候选人的经典五问:

1.您从事Android开发多长时间?

2.做了多少个在应用市场上架的APP呢?

3.有多少个自己独立开发的作品呢?

4.在团队开发中,您是承担部分开发还是参与全局把控呢?

5.有没有在Github关注或维护一些Android的项目呢?

Was this article helpful?

Related Articles