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

bt2-L 1.4 性能技術專家需要具備的能力

資深開發者再進一步發展,主要有兩個方向,即技術經理和技術專家,分別對應業務方向和技術方向。

技術經理需要有技術廣度,除了Android技術過硬,對其他技術也要有所了解,同時商業思維和項目管理能力等也要很強,最重要的是具備團隊建設能力,負責的團隊能夠以較高的速度、質量和滿意度落實規劃;技術專家需要有技術深度,對Android的某個領域有非常深入的理解,可以牽頭完成復雜技術攻關,可以從領域的視角出發為產品提供發展建議。

在規模較大的企業內,技術專家一般分多個方向,常見的有音視頻、跨平臺、圖像處理、性能優化、DevOps、端智能等。每個方向涉及的知識點都非常多,因為它們是與平臺無關的通用技術,無論是Android、iOS,還是前端、后端,這些方向都會涉及到,所以開發者可以將其作為個人技術特長深入學習。

限于篇幅和筆者的個人經驗,本書主要介紹的是Android性能技術專家需要掌握的相關知識,本節先介紹性能技術專家需要具備的能力。

性能技術專家一般指在性能優化相關領域有深入實踐的開發者。除了業務手段,性能技術專家更要能從系統底層出發,根據系統運行機制,提出針對業務的優化思路和方法。

性能技術專家的判斷標準如下。

具備獨到的技術深度,在部門內技術影響力強。

能夠發現產品存在的體驗問題,提出系統的優化方案并取得收益。

能夠根據技術領域的發展趨勢,為產品提供優化方向。

不限于技術方向,可以從多維技術角度思考,為業務提供技術價值。

對團隊的整體技術提升負責,在技術分享、技術規范、代碼審查等方面有比較多的經驗。

性能技術專家需要具備如下技術能力。

熟悉Android NDK開發,掌握常用的NDK的使用場景。

掌握Linux系統編程,能夠從Linux系統角度思考優化方案。

熟悉Android虛擬機核心模塊,能夠根據問題快速了解具體技術細節。

熟悉Android啟動、內存、卡頓、功耗、包大小等的底層原理,具備相關優化能力。

掌握Android ANR(Application Not Responding,應用無響應)、OOM(Out Of Memory,內存不足)、崩潰等穩定性問題的解決思路、方法和工具。

熟悉Android App構建過程,能夠對編譯速度進行優化。

性能技術專家一般是公司中性能方向的“權威”,能夠結合Android系統的運行機制,為產品提供性能診斷、優化建議和分析工具。要達到這個階段,開發者需要有全面的知識體系,同時在實踐中通過解決大量的問題,沉淀分析經驗和理論,從而對Android系統架構從下到上有深入的理解。

一般公司在招聘這個階段的開發者時,在技術方面會考察得比較深入,可能會從Linux進程管理、內存管理、CPU(Central Processing Unit,中央處理器)調度,一路問到Android虛擬機的AOT(Ahead Of Time,預編譯)、類加載、代碼執行,然后問到上層的界面渲染、內存申請等細節。當然,不會要求面試者對所有細節都非常熟悉,只要能打通某個線,具備相關基礎知識即可,這樣再學習其他知識也很容易。

本書的主要目的,就是為讀者提供成為Android性能技術專家的學習指引,解決普通App開發者不了解、不知道Linux和Android虛擬機的使用場景的問題。無論你現在做什么業務,性能優化都可以派上用場,相信讀完本書,你可以對性能優化和成為性能技術專家有更深刻的認識。

主站蜘蛛池模板: 潮安县| 鄂温| 区。| 靖宇县| 许昌县| 涿鹿县| 金溪县| 石柱| 北宁市| 彰化县| 石城县| 鸡泽县| 齐河县| 嘉义县| 延边| 沙河市| 禹城市| 社会| 遂宁市| 左权县| 辛集市| 乐昌市| 会昌县| 玛沁县| 曲沃县| 确山县| 遂平县| 大冶市| 滨海县| 廊坊市| 泾川县| 静安区| 米泉市| 大港区| 海原县| 麻栗坡县| 南汇区| 江安县| 若尔盖县| 昌宁县| 东丽区|