其他分享
首页 > 其他分享> > 7年老Android一次坑爹的面试经历,请查收

7年老Android一次坑爹的面试经历,请查收

作者:互联网

### 目录(职业生涯规划) 1.Android系统的市场地位 2.Android程序开发的技能成长经验 3.Android程序员为什么需要学习Html5 4.Android软件工程师为什么不会被前端替代 5.为什么小程序无法替代原生开发 6.为什么Html5无法取代NativeAPP 7.Html5在Android中的应用场景 8.如何成为一名合格的高级Android程序员 *** ### 如何成为一名合格的高级Android程序员 **首先规划好自己的职业规划(方向很重要):** 首先先给自己定一个目标,就是做这个行业要在几年内达到一个什么岗位,这是一个比较长的时间。所以我建议大家先给自己定一个薪资的目标,比如一年后跳槽达到15K。想要进入什么公司这些比较短期的目标。当我们把这些目标定下之后,就去严格的执行,在工作之余的时间来提升自己的专业技术。多去跟大神交流,毕竟有人带要比自己摸索强的多。 ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129315720871.jpg) **三年:** 我个人认为程序员的第一个坎就是做了三年开发的人,比如说Java,这些人基本对于增删改查非常的熟练。可以应对大部分常规的项目开发,完成公司给布置的任务,这个时候就是一个标准的初级程序员。但三年之后如果还是这个样子,那这个人基本就废了。有的人会利用工作之外的空余时间来学习自己没有接触过的技术,去啃技术性书籍的底层原理。在这三年之中让自己的技术提升很多。**而还有一部分程序员在这三年内的技术水平基本没有得到提升。三年后,这两批程序员的差距就会显现出来分为两个层次。** **五年:** 作为一个五年的程序员,项目已经做了不少。这个时候就应该往架构师或者项目经理这块发展,而不仅仅是个普通的程序员。其实我认为程序员也是一个体力工作者,每天不停的写代码,如果公司项目多,还需要不断的加班。时间久了自己的身体肯定是撑不住。**所以应该给自己定一个目标,利用能用的一切时间,把自己的技术水平达到架构师的技术水平,职位的提升对于一个人的事业帮助很大。** **十年:** 到了十年的阶段,基本就是这个行业的专家了。做技术的一般都会选择出去创业,任何人都禁不住创业带来回报的诱惑。所以在这个阶段中,自己除了要精进技术外,还应该不断的学习自己的管理能力以及自己说话的能力,为创业做准备。**即使不出去创业,十年这个坎,自己也要达到CTO的标准。** ### 技能篇 **(一)android初级程序员** **总结:**能干活,有学习能力,能跟着团队成员做项目; **技能:** 基础的组件的使用,熟悉Java基本的语法,Gson,xml数据解析,第三方框架的使用,熟悉android的常用API,熟悉网络框架或者API的使用,掌握数据库相关知识点,熟悉android的四大组件、生命周期,熟练掌握界面布局,了解android项目目录的组织架构等等; **要求:** 初级程序员一般都是从电脑小白成长起来的,当然了也有可能是web或者是其他方面的大牛转换过来的,想要成为一个高逼格的初级android程序员需要多看多读多写多想,能够看懂他人的代码。能够知道问题大概需要什么方式,对android系统已经有了初步的认识等等。 **Android大厂面试基础题合集** ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129317256074.jpg) **Android程序员1-3年基础知识点合集** ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129318301670.jpg) **(二)android中级程序员** **总结:能够分析问题,能够解决问题;** **技能:**了解android的签名机制(实现原理,具体操作等等),打包机制(多渠道打包,打包流程等等),了解apk安装文件压缩(压缩图片,代码压缩,.so文件压缩等等),事件分发,View绘制流程,webview相关知识点(与Native的交互,性能优化等),熟悉数据库的使用(基本API,第三方ORM框架,ORM框架的实现原理等等),java反射原理与简单实践等,activity的启动模式,activity,service,fragment,broadcastreceiver广播生命周期,屏幕适配,AIDL与messager的简单实用,自定义组件(自定义View与自定义ViewGroup),动画(补间动画,帧动画,属性动画),通知栏消息,版本新特性等等等等; **要求:** 开始阅读android方面的而源码,不但能看懂别人的代码还需要能够修改别人源码,对android的体系结构,组成方式,常见开源社区,技术要点能够了然于胸。 **Android大厂面试中级题合集** ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129319805988.jpg) **Android程序员3-5年中级知识点合集** ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129320664921.jpg) **(三)android高级程序员** **总结:** 能够解决问题,能够发现问题; **技能:** 手动编写框架,设计模式,代码规范,项目进度,时间估算,启动流程,性能优化,OOM,没存溢出与泄露,JNI,脚本开发,activity启动流程,android中的IPC机制(Binder原理),对[iOS](http://lib.csdn.net/base/1 "Swift知识库")等其他[移动开发](http://lib.csdn.net/base/15 "Android知识库")现学现用等等; **要求:** 能够造轮子,比如写一个网络框架,事件总线控件,特效View等,重点是能够为产品造轮子。 **Android大厂面试高级题合集** ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129322192773.jpg) **Android程序员5-8年高级知识点合集** ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129323786511.jpg) **(四)android技术专家** 总结:对某一方面非常精通与专注; 技能:比如对android的对媒体模块十分熟悉,阅读过android多媒体模块的源码,能够更改其中的不足与BUG等等; 要求:熟读android源码,对android的某一模块有自身的看法并能够有相应的修改能力,能够知道团队他人的日常产品开发等。 **《Android源码解析》** ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129324931603.jpg) ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129325136397.jpg) **2.深入解析阿里巴巴路由框架 ARouter 源码** ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129326973122.jpg) #### 最后 **在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。** 附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。) ![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625129326723027.jpg) **本文在开源项目:【[GitHub](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md) 】中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…**

标签:cto,坑爹,程序员,https,Android,查收,com,android
来源: https://blog.51cto.com/u_15285976/2965359