官术网_书友最值得收藏!

bt2-L 1.2 高級開發者需要具備的能力

高級開發者一般指能夠獨當一面的開發者。他應對日常需求在Android平臺上的實現方式均有所了解,能夠對一些復雜的需求進行合理的設計和拆解,同時能夠兼顧擴展性和性能。此外,這也要求其在項目協作方面有比較強的能力,可以積極組織協調各個職能部門的同事,推進項目落地。高級開發者一般需要3~5年工作經驗。

高級開發者的判斷標準如下。

有比較多的項目實踐經驗。

能夠獨立處理比較復雜的項目需求,合理地將其拆解并實現。

實現需求的同時注重效率和項目架構。

能夠指導團隊內的實習生和初中級開發者。

能夠成為項目某個模塊的負責人,評估相關業務需求的合理性和迭代規劃。

高級開發者需要具備如下技術能力。

掌握Android Framework的常見原理和具體工作,比如事件循環機制、Activity/Fragment啟動流程、生命周期、布局的繪制流程、事件分發等。

掌握Jetpack常用組件的實現原理和適用場景。

熟悉跨進程通信的基本使用,了解多進程的使用場景。

掌握常用的設計模式,了解常見的架構模式的優缺點。

熟悉常用的第三方框架的原理和設計思想,能夠根據場景選擇合適的框架。

熟悉Android App構建過程,了解常用的字節碼處理三方庫,能夠實現通用的編譯時修改插件。

了解常用的性能優化工具,有性能優化意識。

高級階段的Android開發者一般是團隊里的核心成員,需要具備豐富的實戰經驗, 除了會用Android的相關技術,還要明白不同技術的優缺點和使用場景。另外由于其有獨立負責的模塊,在開發任務繁重的時候,可能會有初中級開發者一起協作,那高級開發者就需要承擔起指導的責任,合理地拆解和分配需求,帶領伙伴既快又好地實現項目需求。

一般公司在招聘高級開發者時,更偏向于有復雜項目工作經驗的人,“復雜”的判斷標準如下。

業務復雜,涉及技術多,比如音視頻、Hybrid(混合模式)相關。

日活高,比如百萬、千萬甚至更高。

開發時間長,團隊成員多。

面試時除了項目復雜度,個人在其中承擔的角色也應非常重要。比如有獨立負責某個復雜模塊或者開發底層組件經驗的人,一定比只處理開發列表頁等簡單業務的人有優勢。

一般公司在招聘高級開發者時,會通過一個業務需求使用的技術,引出實現細節、底層原理進行考察,比如從網絡框架一路問到三次握手。所以如果你是初中級Android開發者并想要晉升,或者是高級開發者并想要變得更強,可以從這些方面深入學習,做到對項目里使用到的技術,深入理解其原理和設計思想,同時能將其和計算機基礎結合起來。

主站蜘蛛池模板: 增城市| 阳曲县| 青铜峡市| 万宁市| 青冈县| 内丘县| 广西| 钟祥市| 青冈县| 墨竹工卡县| 独山县| 龙游县| 天等县| 永昌县| 五大连池市| 黎平县| 成安县| 新民市| 沛县| 梓潼县| 蓬溪县| 大埔县| 通河县| 晋中市| 岢岚县| 易门县| 渝中区| 陈巴尔虎旗| 宕昌县| 伊宁县| 梨树县| 华容县| 军事| 广平县| 望江县| 贡嘎县| 秭归县| 郑州市| 利津县| 永仁县| 屏山县|