年末老是一個充滿回顧與展望的日子,在2020這場哀鴻遍野的「寒冬」裏尤其明顯。java
其實不論是公司、集體仍是我的,都須要在這個時候找個機會停下來,思考一下這一年來的收穫與成長、失去與遺憾。android
每一個人都有本身的希冀與計劃,每一個人又同你我同樣,是犯有輕微拖延症的普通人。git
面向即將到來的一年你們總會立各類 flag,臨近年終時又老是自嘲式的將計劃延期至新的一年。github
2020是一個神奇的一年,發生了許多大事,但回到我的身上也只是一件一件小事。面試
一件一件小事本沒有什麼意義,但只要注意積累,重複練習,聚沙成塔,應該也會有必定的價值~
下面總結一些2020年的一些小收穫算法
下面是你們更關心的問題:編程
騰訊、阿里巴巴、字節跳動、華爲、美團、滴滴、百度 ...設計模式
一線大廠通常有不少部門負責不一樣的項目,裏面不乏知名大學畢業,技術大牛,每每在某一領域已經作到極致,有專門的團隊負責某一功能點(性能優化、性能監控、中間件工具組件等),能投入人力物力去作好項目,而且薪酬福利可觀,只是工做強度會很大。數組
我在一位同事身上看到不少優秀的學習習慣和方法,在這裏不得不認可比你優秀的人還比你努力,是什麼能讓他變得如此優秀?性能優化
此次換工做差很少花了四個月時間,刷題、複習、學習,面試了數十家小中型公司,可是隻面了兩家大廠:騰訊和字節跳動,最終去了字節跳動。 兩家都是內推的方式,若是身邊有大廠的朋友,建議內推試試,避免在 HR 這關被篩了簡歷。
今年完成了第一次跳槽,積累了一些面試相關的資源,在這裏總結一下,但願對讀者有用。
首先是簡歷,通常找一個模板,填寫掌握的技能和項目經歷便可。
github上有一個不錯的模板,詳情可見:https://github.com/CyC2018/Ma...
項目clone後,個性Resuem.md便可,而後導出爲pdf文件。
簡歷建議長度爲2頁,太長過短都很差。
建議用掌握與熟練掌握取代瞭解與精通。
算法題能夠說是如今找工做必刷的了。不過根據我面試的經驗,算法題總得來講問的仍是比較少,還有一些公司是基本不問算法的。
固然若是碰到字節,快手這種每輪都問算法的公司,若是由於算法題拿不到offer就很惋惜了。
算法題就好像高考語文的古詩詞默寫同樣,分很少,但丟了就很惋惜了。
根據個人經驗,大概刷了,掌握100道題就足以應付面試了。
固然徹底掌握須要重複練習,不是刷了一遍就能夠的。
這裏推薦一下極客時間上覃超的五遍刷題法:
1.第一遍,直接看解法
多解法,比較解法優劣,默寫好的解法
2.第二遍,打開leetcode,直接開始寫
多種解法比較,調優
3.第三遍,過一天以後,再重複作題
4.第四遍,過了一週,再來反覆練
5.第五遍,面試前一週,恢復性訓練
經過以上方法重複練習,大概刷100題就足以應付面試,若是天天刷3道,大概準備一個月便可。
Android 涵蓋點比較廣,建議以官方文檔爲主 : Android 開發者指南 ,官方文檔很詳細而且幾乎覆蓋全部的 Api ,若是你想學習Jetpack, 也建議從官方文檔入手 Android Jetpack ,比大多數博客更權威,是一種不錯的知識和資源獲取途徑。
能夠把 Android 分爲如下幾個大綱:
1.Android相關源碼
學習Android源碼有助於咱們學習其中的設計模式、思想、架構。熟悉整個源碼的架構,有助於咱們更加正確地調用 Android 提供的 SDK,寫出高效正確的代碼。
我把源碼相關資料整理成了PDF,內容涵蓋MMKV、Retrofit、OkHttp、EventBus、View、Handler、Binder、Glide、JNI的源碼深度解析。但因爲篇幅緣由,只作核心內容截圖展現,筆記全文共有486頁。
2.Android性能優化
在 Android開發中,性能優化策略十分重要。由於其決定了應用程序的開發質量:可用性、流暢性、穩定性等,是提升用戶留存率的關鍵。
在此獻上一份 Android性能優化的詳細攻略, 含:優化方向、緣由 & 具體優化方案、APP性能優化實踐,但願大家會喜歡。
全部知識點詳細內容都整理在了開源項目【GitHub】,有須要的能夠自取。
3.Android開源框架
隨着互聯網企業的不斷髮展,產品項目中的模塊愈來愈多,用戶體驗要求也愈來愈高,想實現小步快跑、快速迭代的目的愈來愈難,還有65535,應用之間的互相調用等等問題,插件化技術應用而生。若是沒有插件化技術,美團、淘寶這些集成了大量「app」的應用,可能會有幾個g那麼大。
因此,當今的Android移動開發,不會熱修復、插件化、組件化,80%以上的面試都過不了。
我花了將近半個月時間將Android熱修復框架、插件化框架、組件化框架、圖片加載框架、網絡訪問框架、RxJava響應式編程框架、IOC依賴注入框架、最近架構組件Jetpack等等Android第三方開源框架整合成了一套系統知識筆記PDF,長達1042頁!相信看完這份文檔,你將會對這些Android第三方框架有着更深刻、更系統的理解。
4.Android Framework
Framework 普遍的應用在各個領域。像掉幀監控,函數插裝,慢函數檢測,ANR 監控,啓動監控,都須要對 Framework 有比較深刻的瞭解,才能知道怎麼去作監控,利用什麼機制去監控,函數插樁插到哪裏,反射調用該反射哪一個類哪一個方法哪一個屬性……
Framework的重要性不用多說,爲此我整理了一份framework高級開發筆記,部分知識章節發佈到了GitHub已經標星18k了 ,今天就拿出來分享給你們。
主要章節:
第一章:深刻解析Binder
第二章:深刻解析Handler
第三章:Dalvik VM 進程系統
第四章 深刻解析 WMS
第五章 PackagerManagerService
按照上面大綱展開拓撲結構學習,最終造成知識大網。固然每一個知識點都須要深刻探索。
附加參考書籍: 《Android開發藝術探索》 《深刻理解ANDROID 卷3》 《Android進階解密》。
5.NDK模塊開發
NDK是原生開發工具包,這套工具容許Android使用C/C++代碼,並提供了衆多的平臺庫。
我整理了一套有關NDK的資料,主要內容包含:
6.算法(字節必問)
算法沒有什麼竅門,多學多練多總結。
訓練階段能夠按照
我本身也整理了一套算法資料,有興趣的能夠瞄一瞄。主要包含一下幾個知識點:
①數組-快速排序-第k大個數
②數組-對撞指針-最大蓄水
③數組-滑動窗口-最小連續子數組
④數組-歸併排序-合併有序數組
⑤鏈表-鏈表反轉-鏈表相加
⑥鏈表-雙指針-刪除倒數第n個
⑦二叉樹-遞歸-二叉樹反轉
⑧動態規劃-連續子數組最大和
⑨數據結構-LRU淘汰算法
全部知識點詳細內容都整理在了開源項目【GitHub】,有須要的能夠自取。
這篇博客主要在於總結和覆盤,同時也給了你們一個學習的方向。
大廠會系統性的篩選面試者,一二輪面試經過 java、Android 的技術問題了解面試者的基礎能力,能到達第三輪面試說明基礎能力合格,再經過項目問題考察面試者的項目/合做能力,固然若是是在線面試會有可能讓面試者寫編程題或者算法題。
對於面試者來講,能作的就是提高面試經過率,系統性學習和總結。
人在年輕的時候,最核心的能力是什麼?
我認爲是:篤定一件事並有耐心長久堅持的能力。
所謂的幸運,就是當你準備好了的時候,機會來了。