2014年10月Android面试总结

         最近打算跳槽,所以到外面逛了一圈,发现外面的世界还是比较精彩的,同时也认识了自己的一些不足,以及作为一个Android开发者,自己后面需要掌握的东西做一下列举。


        先介绍下本人的工作经历吧,本人11年7月毕业于一所四五线城市的地方性师范院校,学的是计算机,不过不是师范类专业,是工科类。11年年初就到魔都来打拼,当时在学校学的是Java,自己Java基础还算不错,11年的时候Android在国内的开发市场上还是刚刚起步不久,市场上做Android还是比较少的,所以当时没有Android开发经验,自己也只是在网上看过一些视频,就很轻松的找到了安卓开发的工作。


         刚刚开始做的是一家做电子政务的软件公司,做了一个安卓客户端,包括手机端和平板。然后做了一段时间进入一家手机方案公司,做一段时间系统级App的开发,同时也对安卓系统代码做了一个简单的了解。在后面就是现在的公司,是一家国内稍有名气的游戏公司,不过做的不是手游,是游戏周边的安卓APP。


           跳槽嘛,无非两个原因,一、钱给的不够,二、干的不爽。这个不是我说的,是马云说的,大笑


          由于我将近是裸辞的形式,所以到外面看的公司还是比较多的。魔都的这边的知名软件公司基本上也都去过(BAT除外),携程,京东(原先的易迅),爱奇艺,大众点评,唯品会,饿了么等。当然小公司也去过,各种创业公司、手游公司,电子商务公司都有,种类繁多。


主要有如下:

1、传统的App类开发,如PC端已经有了实现,然后需要在安卓客户端添加一种实现,这种类型较多,如QQ。

2、OTO类型的电子商务,这个深有体会,这种公司面试的居多,比如在线做运动类,孕妇婴儿类,汽车类、点餐类。这种就是传统行业与移动互联网相互结合的一种方式,这种商业模式,如果做的比较好的话,还是可以的。

3、车联网、物联网、安卓电视:这个原先只能在新闻网站上看到的东西,上海这边已经有很多公司在开始涉及了,这个以后也是一种发展趋势。


由于工作也将近4年时间,自己也当然面试过别人,自己也带几个工作经验较少的工程师一起协作过。下面总结下,市面上安卓面试,经常遇到的问题。

面试问题:

1、Java的一些知识,如线程、IO、网络、集合、反射、泛型,数据结构,算法,面向对象,涉及模式等。

2、Handler的一些问题,service,aidl,数据库,自定义布局,异步任务,Tcp/Ip协议,http协议。

3、NDK,Android Framework,网络优化,软件性能优化,内存优化,图片加载的各种优化,触摸事件的分发,布局的绘制原理等深层次东西。

4、是否了解过服务器开发,是否了解IOS开发,是否了解C++开发,是否了解使用开源工具,是否有过博客,github,overstock等。

5、团队怎么合作、团队运作流程、如果管理下属、如何与兄弟部门协作沟通

6、为什么跳槽,自己有什么优缺点,对自己未来有什么计划等

当然后面的2个问题是装B问题,有的时候是不问的。面试那么多,就像那样说的,林子大了什么鸟都有,也见过不少奇葩的面试官,再次就不列举了。


总结:

1、由于做安卓年限以及很多,后面几年的发展没有刚刚毕业的时候进步快,可能是因为工作需求以及满足,学习的东西不能继续保持。

2、安卓开发广度很大,我这边都有所涉及,从传统的软件公司到手机方案公司,再到互联网公司或者是游戏公司,对于系统级类型,单机类型,网络类型应用。但是深度不够,比如安卓系统层,内存优化,网络优化,各种网络层通信协议,算法,数据结构,面向对象,涉及模式,这些内容都是浅尝辄止,没有做深入了解。

3、除了安卓开发,也要会ios开发,就算不会,也要了解

4、没有怎么详细了解服务器端开发和C++开发。

5、不会一些脚本语言。


对于未来几年的规划:

1、外来4-5年后可以做管理方向发展,当然是以技术带管理,不是纯粹的管理,目标是移动开发主管或者是技术经理,了解项目和团队管理。

2、对于安卓开发在做一些深入了解。

3、了解IOS开发,了解服务器开发,了解UI设计原理

4、一定要会C++、一种脚本语言



原文地址:https://www.cnblogs.com/liushuibufu/p/4140912.html