邯郸市锦诚网络科技有限公司竭诚为您服务,服务涵盖|邯郸软件开发|邯郸APP开发|邯郸OA|邯郸软件|邯郸APP

邯郸市锦诚网络科技有限公司

示例图片三
网站首页 > 新闻资讯 > 业界资讯

高级Android到底有什么要求!

2017-06-13 09:09:23 邯郸市锦诚网络科技有限公司 阅读

255, 


才能施展自己的才华和能力,那么到底如何能“快速”成为高级工程师呢?接下来就进入正题:两个部分非技术要求/技术要求


金三银四已经过去了移动端的冬天就要来了吗?未必!拿到满意的offer相信才是每个人最想得到只有有了机会和平台。


高级工程师所要达到非技术要求:


更换一个icon会和UI争得你死我活,1.沟通:为什么把沟通放在第一位?因为在平日开发过程中几乎一大半的时间实在和各部门沟通。会为了某些需求文档上的语义不清和伟大的pm据理力争,测试过程中会和QA 为了某些事遗留线上crash还是最新版本改出来的问题争论,留给我开发的时间其实不多,所以说为了提高我开发效率,良好的沟通技巧事必不可少的其实大部分的程序员都是属于笔记内向的但是可以观察在身边哪些性格比较外放同时技术水平不一定最好的同事能在这个职场上混的更好,所以说不管是为了自己今后的发展也好,为了今天的开发任务能按时完成也好,大家都需要去提高沟通技巧,至少你要去学着主动和别人沟通,这样也可以让问题尽早的暴露,而不会造成延期和线上问题。最后我想说的虽说现在程序员,但是绝不仅仅是程序员,要做一个有着产品思维、有着运营思维、有着Qa思维的程序员!UI思维就算了太天马行空了哈哈)


更体现在遇到困难的时候,2.态度:态度不仅体现在工作态度和别人沟通上。不论何时,不论deadlin压的多么的紧,大家都要把自己的态度端正好,要正视自己现在身份,把自己的本职工作做好。同时态度也体现在心态上,特别是提测临近而线上问题和遗留老问题纷至沓来的时候,更需要又一个良好积极向上的态度来应对一切,就我个人经验,一定要不断的给自己心里暗示:什么问题都是可以解决的什么bug都是可以解决的如果自己实在解决不了及时和自己的上级领导沟通,尽早暴露问题)


很多很多年前我一位老领导和我说过一句话让我受益匪浅:如果你想在这个行业做到做好,3.潜力:很多人都觉得自己都毕业好多年了哪还有潜力?这种观念是错的潜力将伴随你很久。一定要不断发掘自己的潜力,超过别人的时间段不是周一到周五,而是周末别人都在嘻嘻哈哈的时候,如果你每个周末都能给自己定个小目标,然后坚持去完成,就能慢慢的超越很多人,现实生活中我会遇到很多阻塞我事情,这时候就需要良好的心态来平衡了坚持!


说了这么多看似题外话的内容,接下来我还是讲点大家最关心的问题吧:


高级工程师所要达到技术的要求:


A ndroid基本知识


这些都是基本知识也是开发过程中所必须掌握的同时也是为今后的发展所打的基础,四大组件、Fragment自定义控件、动画、组件之间的消息传递等等。这个基础上我还要掌握组建的生命周期呀,activ启动模式的区别和场景应用、scheme跳转协议、组件之间消息传递的机制、动画的种类和区别、属性动画的特点和作用等


A ndroid技术难点


其中binderAndroid系统进程间通信最重要的手段之一,A IDLBinder多进程、View绘制流程、事件分发、消息队列等。这类知识对于定位自己为高级Android工程师的人来说是必须掌握的同时他也是能鉴别高级和初中级工程师的一块试金石。现阶段app发展离不开多进程的运用,经常会启动例如定位、推送等需要在后台开启动的进程来来保证主进程的内存运行;所以合理的使用多进程也是十分必要的view绘制是自定义控件的理论基础,只有掌握了view如何绘制的才能个性化的自定义控件;事件分发一直是Android开发的难点之一,也是必须掌握的后期我也会在博客上推出这个系列;关于handler机制也是android一块难点,因为包括Asynctask系统启动、Intentservic等底层都是通过handler来实现的所以掌握后handler机制不仅能提高你实战开发能力,更能让你系统的解整个android系统运作的情况。


网络框架的理解


但不外乎这三类:网络请求框架、图片加载框架、事件处理框架、IOC框架,现如今Android网络框架可谓纷繁杂乱。其中的代表分别是RetrofitvolleiOkhttpfrescoglidepicassoeventburxjavabutterknifdaggerdagger2平时应该多看下这些的源码的设计理念,不仅可以纠正我一些代码漏洞,要知道这些成熟的开源框架在github上已经经过了无数次的检验,所以学习这些框架能快速提高我代码能力,毕竟在大家还没有转型前写代码的能力是工程师的根本。


A ndroid系统的一些核心机制的运作:


阅读源码能提高我今后设计架构自己代码的能力,同时也能从底层了解整个android系统的运行原理,其他一些比如主线程的消息循环、主线程如何和AMS如何跨进程交互、SystemServ进程中的各种Servic工作方式、AsyncTask工作原理等。这些知识也是作为一个Android高级开发工程师必须掌握的不能整天沉溺于ui和四大组件的交互,要站在更高的角度去考虑Android有些问题。


5.android编译构建


但是也是最容易被很多人忽视的一个知识点,构建编译打包是开发过程中的最后一环。现在大型app开发团队都有自己的自动化构建工具,比如常用的jenkin这个基础上大家要对一些常用的工具有深入的解:比如git使用和它内部原理,gradl如何加快我编译apk时间以及它一些基本语法,proguard作用和混淆的内部原理,lint如何来检测我代码中的问题的和如何自定义lint配置等。


Powered by MetInfo 5.3.14 ©2008-2018 www.metinfo.cn