書名: Android性能優化入門與實戰作者名: 張世欣本章字數: 983字更新時間: 2024-04-24 17:47:42
1.2 高級開發者需要具備的能力
高級開發者一般指能夠獨當一面的開發者。他應對日常需求在Android平臺上的實現方式均有所了解,能夠對一些復雜的需求進行合理的設計和拆解,同時能夠兼顧擴展性和性能。此外,這也要求其在項目協作方面有比較強的能力,可以積極組織協調各個職能部門的同事,推進項目落地。高級開發者一般需要3~5年工作經驗。
高級開發者的判斷標準如下。
● 有比較多的項目實踐經驗。
● 能夠獨立處理比較復雜的項目需求,合理地將其拆解并實現。
● 實現需求的同時注重效率和項目架構。
● 能夠指導團隊內的實習生和初中級開發者。
● 能夠成為項目某個模塊的負責人,評估相關業務需求的合理性和迭代規劃。
高級開發者需要具備如下技術能力。
● 掌握Android Framework的常見原理和具體工作,比如事件循環機制、Activity/Fragment啟動流程、生命周期、布局的繪制流程、事件分發等。
● 掌握Jetpack常用組件的實現原理和適用場景。
● 熟悉跨進程通信的基本使用,了解多進程的使用場景。
● 掌握常用的設計模式,了解常見的架構模式的優缺點。
● 熟悉常用的第三方框架的原理和設計思想,能夠根據場景選擇合適的框架。
● 熟悉Android App構建過程,了解常用的字節碼處理三方庫,能夠實現通用的編譯時修改插件。
● 了解常用的性能優化工具,有性能優化意識。
高級階段的Android開發者一般是團隊里的核心成員,需要具備豐富的實戰經驗, 除了會用Android的相關技術,還要明白不同技術的優缺點和使用場景。另外由于其有獨立負責的模塊,在開發任務繁重的時候,可能會有初中級開發者一起協作,那高級開發者就需要承擔起指導的責任,合理地拆解和分配需求,帶領伙伴既快又好地實現項目需求。
一般公司在招聘高級開發者時,更偏向于有復雜項目工作經驗的人,“復雜”的判斷標準如下。
● 業務復雜,涉及技術多,比如音視頻、Hybrid(混合模式)相關。
● 日活高,比如百萬、千萬甚至更高。
● 開發時間長,團隊成員多。
面試時除了項目復雜度,個人在其中承擔的角色也應非常重要。比如有獨立負責某個復雜模塊或者開發底層組件經驗的人,一定比只處理開發列表頁等簡單業務的人有優勢。
一般公司在招聘高級開發者時,會通過一個業務需求使用的技術,引出實現細節、底層原理進行考察,比如從網絡框架一路問到三次握手。所以如果你是初中級Android開發者并想要晉升,或者是高級開發者并想要變得更強,可以從這些方面深入學習,做到對項目里使用到的技術,深入理解其原理和設計思想,同時能將其和計算機基礎結合起來。