1. 程式人生 > 其它 >2021Android進階學習資料!國內一線網際網路公司面試題彙總,成功入職騰訊

2021Android進階學習資料!國內一線網際網路公司面試題彙總,成功入職騰訊

最近很多人說,Android越來越不好找工作了,學習NDK開發會不會好點,今天就聊聊這個問題。是否應該選擇學NDK?

1.哪些場景下要用到NDK開發?

跨平臺的庫,如FFmpeg, skip,weex,
加固,防逆向
簽名校驗
圖片壓縮
音視訊解碼
OpenGL ES 高階特效
熱修復 andfix
人臉識別 face++
加密演算法
微信apk中的so檔案

技術專家VS管理,哪條路更適合你?

工作 3-5 年後已經進階到高階程式設計師了,很多人開始面臨一個問題:未來發展方向是技術專家還是技術管理,哪一條職業發展路徑更適合自己?

選擇哪條路線,首先要明確自己想要什麼。想做技術還是管理,都跟目標和職業規劃有關,每個人的實際情況不同,目標就不同,建議儘量做和自己的性格相符合的選擇,並且堅持。哪怕一時半會看不出效果,長期總是能夠看到效果的。

1. 怎樣的程式設計師適合做技術專家?

技術專家的核心就是深入而精通。對某個技術領域很熟悉、對程式碼編寫保持熱情、持續學習新的技術、能夠靜下心來做技術,而不是急功近利。性格相對內向、不擅長溝通協調、不希望花大量時間帶團隊、主要負責把關鍵技術做到專業和***,這樣的人更適合往技術路線發展,比如技術專家,架構師。

2. 怎樣的程式設計師適合轉型技術管理?

首先要明確,通常所說的技術管理者都需要做哪些事?

  • 團隊建設:人員激勵、團隊文化、梯隊建設。
  • 任務管理:任務分工、任務協作。
  • 管理規劃:新技術調研,支撐新業務的重構等。

相應地,需要的能力包括:向上彙報向下傳達能力、團隊管理能力、人員培養能力、上下游部門合作把控能力、業務需求溝通能力、重大問題的決斷能力、長遠目標規劃能力、執行力等等。

綜合來看,管理能力和技術能力的要求差別較大。作為技術管理者首先應該有角色認知的改變,不能以程式設計師的角度去看待問題,需要站在更高角度,從全域性思考問題。推薦有志走管理路線的移動端程式設計師參考這本書:《成為技術》

3. 兩種發展路徑的異同點

(1) 不同點:技術專家更依賴個人技術能力,需要結合業務做好技術規劃,框架設計,效能優化以及技術創新;技術管理者是協助團隊一起把產品做出來,負責團隊內外的組織溝通和相互協調。

(2) 相同點:終究需要面對管理,只是管理工作的多和少之分。即使你是架構師,也需要 lead 一個技術團隊。

因此,不論你未來是走純技術路線還是非技術路線,都需要增長自己的管理技能,因為到***總歸是需要管理溝通的。當你級別非常高,卻還不跟任何人打交道,完全靠個人能力來貢獻的情況是很少見的。

4. 如果選擇錯誤,是否還有二次選擇機會?

我認為需要先把職業目標和職業規劃想好,經常改變對職業影響較大。

(1) 技術轉向管理:要提前掌握相關管理知識並在角色認知上做出改變,以團隊為出發點去思考問題,對業務瞭解更多,提高部門內的影響力,有合適的晉升機會可進行轉型。

(2) 管理轉回技術:如果你面對諸多跨部門溝通,在性格等因素上感覺不合適,需要儘快做出決策,轉回技術開發。

大前端趨勢下,移動端程式設計師如何保持競爭力?

我從招聘網站上摘錄了某些一線公司的職位描述要求:

3 年以上工作經驗、深入瞭解移動端的底層和原理、獨立主導或開發過一款以上產品的核心專案、豐富的專案經驗或管理能力、有 React Native 或者Weex 的實戰經驗、掌握一些前端開發技術,HTML / JavaScript / CSS 等。前後端開發經歷是加分項。

可以看到,市場對 Android 程式設計師的要求越來越高,除了深入掌握 Android 底層原理,對前端 JS 等技術也有要求。

今天我們已經進入了終端碎片化的時代。從 2007 年 iPhone 代釋出至今的 12 年裡,智慧手機並沒有被取代的跡象。但創新仍在繼續,比如智慧手錶、TV、眼鏡、頭戴 VR 等等,可以想象這樣的裝置仍會繼續增多。

這些新裝置也是新平臺,與智慧手機類似,可以安裝第三方應用,且這些平臺基本都支援瀏覽器或內嵌瀏覽器引擎。早期 Hybrid 和後來 React Native 等探索,在顯示終端應用的開發上,前端開發已成為必備技術。

因此,大前端趨勢對移動端程式設計師而言,影響就是新的移動開發技術棧。

移動裝置作為主流終端,其應用開發技術也應該是大前端最關注的技術。以前移動開發技術棧以原生開發為主,現在的趨勢是跨平臺技術愈演愈烈。

那麼,在如今技術快速變化的環境下,移動端程式設計師該如何保持競爭力?

首先,加強 Android / iOS 技術深度儲備,深入理解系統底層原理,對新技術持續投入。

其次,逐步完善前端技術棧,廣度擴充,熟悉前端 JS,以及 RN,flutter 等跨平臺框架。

選擇 Android 細分領域並提高,比如應用開發、逆向安全、音視訊、車聯網、物聯網、手機開發、SDK 開發和智慧電視盒子開發等等,在其中選擇一個並不斷深入。

最後

想要了解更多關於大廠面試的同學可以點選這裡免費獲取《面試文件》除此之外,我也分享一些免費的優質資源,包括:Android學習PDF+架構視訊+原始碼筆記高階架構技術進階腦圖、Android開發面試專題資料,高階進階架構資料 這幾塊的內容。分享給大家,非常適合近期有面試和想在技術道路上繼續精進的朋友。快來獲取學習資料吧~