1. 程式人生 > 其它 >androidui適配如何處理,位元組跳動+騰訊+華為+小米+阿里面試題分享,網際網路行業“中年”危機

androidui適配如何處理,位元組跳動+騰訊+華為+小米+阿里面試題分享,網際網路行業“中年”危機

為什麼要做職業規劃?

我們先聊聊第一個話題,為什麼要做職業規劃?

首先,我們要知道職業規劃是什麼,也就是如何持續選擇適合自己發展的工作的過程。

職業規劃其實就是對職業生涯乃至人生進行持續的、系統的、計劃的過程。職業規劃也叫"職業生涯規劃"。職業生涯規劃的好壞有時會影響我們的一生。

1-2年走的彎路

大學期間
實踐得晚:其實在大學我就通過導師接觸了Android,但是在當時選擇多的時候Java,c++,這些讓我硬是工作飄了一年我才才正式從事Android開發。從頭學起的這過程中看了一些關於 android方面的書籍,多數時候也只是停留在紙面上,在配置開發環填和開發過程中遇到一些問題導致自己不能堅持下來,想想那時真傻,有啥問題都不知道用谷歌搜搜,只知道按照書上的來,就算用百度搜一下也好啊,實踐得晚最大的弊端是之前花時間看 android方面的資料都算白費了,因為這中間一直是斷斷續續,看看遠沒有實踐來得印象深刻,沒有真正實踐的開發過app,很多東西基本都忘記了,浪費了不該浪費的時間。
該學哪些知識

  • 掌握Android 四大元件知識,深入瞭解相關生命週期,對於Application、Fragment、Intent常見的開發知識也必須掌握。
  • 掌握Android 基本佈局和控制元件的屬性和使用,常用佈局有LinearLayout、RelativeLayout、>ConstraintLayout等,控制元件有- TextView、ImageView、RecyclerView、ScrollView等。
  • 對Android的資源訪問使用有基本瞭解,瞭解Android針對不同國家、語言、螢幕、API的適配原理。
  • 掌握android系統服務和工具類的使用,對網路訪問和資料庫操作有基本認知。
  • 熟練掌握研發工具,如IDE、模擬器、網路代理、日誌等。

如何避免
在大學期間如果有專案經驗,無疑對你後面找工作是有優勢的。所以我建議在大一開始就一個提前規劃好,自己的發展方向,Android,Java,c++。有了目標,大學就朝著這個方向去學習,多接觸外面的人和事不要故步自封,在學校就是宅,打遊戲。這些後來積累下來的人脈,都是可以幫助到你的,這個就是圈子!

2-4年走的彎路

在工作中
基礎學科沒學好,知識不牢固: android是多個基礎學科結合的複合型產物(高階語言java、作業系統編譯原理、演算法與資料結構、設計模式等等),由於是從win32程式出身的,後來做專案直接學 android,java基礎這些只是看了幾本書,導致踩了很多沒有必要踩的坑,比如在 finalize方法中關閉資源、沒有關閉檔案流等等,沒有好基礎學科最大的弊端是踩了很多沒有必要踩的坑。
該學哪些知識

  • 熟悉SOLID基礎設計原則,掌握23種設計模式。
  • 對於研發語言特性java/kotlin有深入理解,如反射、動態代理、apt等。
  • 對Android架構有基礎瞭解,對apk結構和打包原理有深入瞭解。
  • 對於Android各個版本特性有基本瞭解,如MD設計、許可權管理、doze模式等。
  • 熟練掌握各種研發除錯工具,如git、gradle、mat、layout inspector等。
  • 掌握Handler\AsyncTask原理,熟悉多執行緒開發。
  • 對繪頁面制原理有初步理解,能夠實現一個複雜自定義控制元件。
  • 能夠熟練掌握開源庫的使用,如圖片庫(Glide\Fresco)、網路庫(Volley\okhttp\Retrofit)、工具* >>*
  • (Dagger\RxJava\EventBus)等,能夠對這些常用的庫進行二次封裝。
  • 熟悉應用常見的優化方法,避免編寫記憶體洩漏的程式碼。

如何避免
既然已經存在了這個問題,基礎不牢靠那就補基礎嗎?基礎這塊視訊都講的比較全面系統,覺得自己基礎不過關的可以去看看他的視訊!還有有資料,比沒資料好,系統的資料比有資料好。資料收集,導圖的製作也是加強我們對知識技能熟悉的過程!對了,有自己部落格,GitHub也是面試時的加分項哦!

4-6年走的彎路

跳槽時/轉行
跳槽時一定要注意,離開這家公司你會失去一些什麼,到下一個公司你能得到些什麼,在這段時間裡您不能承受之後的花銷,我就在家裡蹲了幾個月,無奈~別隻看薪資,這只是一部分因為在boos大多數都是誇大的!
轉行記得分析行業前景,以及自己現在掌握的技能是否能讓自己能夠短時間內,換到這個行業

  • java
  • Android
  • c++

    上面都是阿里的,很明顯c++待遇最好,因為他要求的知識技能也高,所以希望大家注意一定記得貼合,符合自身的一些情況,再選跳槽行業!

該學哪些知識

  • 掌握java高階特性,如JUC、執行緒池、NIO\BIO等;掌握jvm虛擬機器知識,如記憶體模型、GC原理、類載入機制、執行緒模型等。
  • 對Android執行環境有深入理解,理解Android沙盒機制,掌握AIDL原理及Binder通訊原理,瞭解app和activity啟動原理。
  • 掌握熱修復原理,各大廠商方案的優缺點。
  • 對於Android事件分發有深入理解,重點掌握觸控事件機制。
  • 深入理解Android繪製原理,理解VSYNC和surface機制和視窗原理。
  • 深入理解Android動畫原理,包括補間動畫和屬性動畫。
  • 對於Android安全機制有基本認知,理解Android安全原理。
  • 深入理解端上設計正規化思想,如mvc\mvp\mvvm\clean-arch等。
  • 理解架構演進,有良好的分層和拆分思路,掌握模組化、外掛化、動態部署等。
  • 對新技術敏感(,理解掌握下一代架構dynamic feature等。

總結

最後為了幫助大家深刻理解Android相關知識點的原理以及面試相關知識,這裡放上相關的我搜集整理的14套騰訊、位元組跳動、阿里、百度等2020面試真題解析,我把技術點整理成了視訊和PDF(實際上比預期多花了不少精力),包知識脈絡 + 諸多細節。



網上學習 Android的資料一大堆,但如果學到的知識不成體系,遇到問題時只是淺嘗輒止,不再深入研究,那麼很難做到真正的技術提升。希望這份系統化的技術體系對大家有一個方向參考。