專訪任玉剛 從菜鳥到資深工程師的高階之路

2021-07-09 06:12:54 字數 2883 閱讀 4344

csdn:請先自我介紹下,目前的工作領域以及公司。

csdn:從最初的android菜鳥到如今的android高手,這一路走來你有哪些辛酸歷程?給你最大的感悟是什麼?

任玉剛:雖然我在android開發技術領域有了一些自己的理解,但是仍然不敢自稱為「高手」,因為技術是無止境的,我們對技術應該抱有一顆敬畏的心理。

目前我從事android開發工作已經有3年了,和大多數android開發者一樣,我也是一步一步過來的。尤其是我12年剛接觸android開發時,由於缺乏專業的指導,整個學習過程基本上都是以摸索為主,這個階段就會感覺進步很慢,甚至有時候還會犯一些比較低階的錯誤,比如曾經用view去post乙個runnable,然後在run方法中做耗時的操作。這種摸索的學習方式在一年後有了改善,畢竟摸爬滾打了一年,我也漸漸有了自己的學習方式和心得體會,就這樣持續努力地學習著,到目前為止可以算是對android應用開發有了乙個不錯的理解吧。

如果問我這三年的學習生涯中最大的感悟是什麼,那我想說:「應該是學習路線和技術書籍的缺乏吧「。為什麼這麼說呢?

首先說學習路線。android開發給人的感覺是門檻很低,因此有不少人會說android很簡單,實際上android開發即簡單也不簡單。簡單是因為它入門快、上手簡單,不簡單是因為android的知識點比較瑣碎,如何從瑣碎的知識點中理解android的本質並形成乙個完整的知識體系,這是不簡單的。相信不少開發者會有這種感覺,那就是覺得android的好多知識點自己都懂,但是又不是特別懂,這點在面試中體現地比較明顯,「我做應用開發完全沒問題,但是大公司的技術面試卻很容易失敗」這種感覺相信很多人都會有,這就是碎片化的知識未形成乙個完整的體系的表現。如何對android建立全面的理解?這需要一種有效的學習方式,在學習過程中需要知道哪些知識點需要深挖、哪些知識點需要融會貫通、哪些知識點了解即可。有關android學習路線這是乙個深入的話題,並且有可能沒有最佳的學習路線,因人而異。我結合自己在android應用層的學習過程,描述了乙個適合我自己的學習路線,大家可以適當參考下:

然後說一下技術書籍。如果大家看了上面的那篇android學習路線,就會發現那上面提到的很多知識點都有一定的難度,並且也沒有相應的書籍去專門介紹這些知識點,我曾經翻遍了圖書館的android書籍,也沒有找到一本書有講述view的滑動衝突這方面的內容。所幸的是國內的android技術圈比較活躍,網路上會有一些比較不錯的技術文章可以供開發者提高android開發水平,但美中不足的是,不少技術文章都比較零散並且也沒有那麼全面。這個時候一本好的技術書籍,它的作用無非是巨大的。

csdn:為何想到寫《android開發藝術探索》這本書?契機是什麼?

任玉剛:相信很多人已經閱讀過《android開發藝術探索》並且也很理解我寫這本書的初衷,因為我在前言中做了詳細的描述。我在前面有提到,國內的android開發者在提高的過程中缺乏合適的學習路線和技術書籍,主要是市面上入門書籍太多了,但是我們不否認入門書籍為android技術普及所做的巨大貢獻,然而僅僅通過入門書籍的確無法進一步提高開發者的技術水平。為了讓android開發者更好地提公升自己的技術,於是我寫了這本書,讀過書的朋友都知道,書中很多知識點都是新穎的、網路上無法搜尋到的。

從內容上來說,《android開發藝術探索》是一本android高階類書籍,採用理論、原始碼和實踐相結合的方式來闡述高水準的android應用開發要點。書中從三個方面來組織內容。第一,介紹android開發者不容易掌握的一些知識點;第二,結合android源**和應用層開發過程,融會貫通,介紹一些比較深入的知識點;第三,介紹一些核心技術和android的效能優化思想。可以看到,書中通篇幾乎沒有入門知識,更加側重於android知識的體系化和系統工作機制的分析,通過這本書的學習可以極大地提高開發者的android技術水平,從而更加高效地成為高階開發者。

有很多讀者和我反饋,說這本書適合面試,很多公司的一些看起來很難的面試問題書中都有提及。但是我寫這本書的目的不是為了讓大家更好地面試,而是更好地提高技術從而成為高階工程師。

csdn:寫這本書期間有沒有遇到過困難,又是如何克服的?

任玉剛:寫書的過程是艱辛的,遇到最大的困難就是難以堅持。由於白天需要上班,晚上有時候還有加班,因此寫書的時間就只有週末和每天晚上下班後了。大概書寫到第4章的時候,有時候寫著寫著就會突然覺得好難受,壓力好大的感覺,但是想到這本書對廣大android開發者的意義,想到我寫這本書的初衷,我就會覺得這件事必須堅持下來,很多時候我們缺乏的就是堅持。回想起寫書的過程的確很辛苦,但是書出版後我收到了很多讀者對我的反饋,其中最多的反饋就是類似於「謝謝你寫了這本書,讓我很多知識點都豁然開朗」這種了,我很欣慰,總算心願得以完成。可能有人說,寫書是為了賺錢,這個了解的人都知道,通過寫技術書籍來賺錢其實是不划算的。就我來說,寫這本書的目的是為了更好地提高android開發者的技術水平,同時傳播我的技術,我是乙個熱愛開源、熱愛分享的android程式設計師。

csdn:在你看來,android開發者在學習過程中最棘手的問題是什麼?

任玉剛:其實棘手的問題有很多,這裡列舉幾個,比如自定義view、滑動衝突、ipc、原始碼閱讀等等,android開發者都深有體會,自定義view算是乙個比較難的話題了,滑動衝突就更不用說了,很多開發者都搞不清楚如何處理滑動衝突。ipc的話主要是指aidl和binder相關的一些東西,這個在android開發中真的很重要,至於原始碼閱讀這個就更難了,很多人估計會覺得無從下手,其實這些都是可以理解的,因為它的確有難度,但是它們都是可以克服的。

自定義view和滑動衝突其實歸根結底就是view相關的東西,把諸如view的滑動、事件分發以及view的底層工作原理搞懂,自定義view和滑動衝突就可以很好地解決了。

再強調下,閱讀android原始碼是乙個合格的android工程師必須要掌握的技能,不閱讀原始碼是不可能理解系統的工作原理的,不理解工作原理就無法真正地提公升技術水平。

來自Google資深工程師的API設計最佳實踐

來自google資深工程師joshua bloch的分享 api設計最佳實踐 為什麼api設計如此重要?api是乙個公司最重要的資產。為什麼api的設計對程式設計師如此重要?api一旦發布,出於相容性考慮,不能輕易地隨心所欲進行修改,比如刪除引數。從api的上帝 設計者的視角出發,有助於提高 質量。...

專訪王亮 從演算法工程師到創業AI企業服務步步為贏

本文摘自 王亮新書 aso優化大師 最近兩年ai成為風口,除了技術上的突破外,最主要是落地成本的大幅降低。ai的應用,本質上就是取代一部分人的腦力工作,ai將無處不在。對創業新人來說,除了關注自己的產品外,都應該多學一些ai的基礎知識,多讀相關的書籍,擁有基本的ai思維。aso優化,本質上講,就是要...

匯程式設計序 菜鳥IT工程師的工資

有8位it菜鳥工程師,第一行資料是他們的基本工資,第二行是績效工資,程式設計求出總工資放在第三行。多多多多加工資哈。data segment dw 6290,7230,2943,3360,7469,6871,3067,3086 dw 7288,7160,5733,7030,5281,6891,485...