上岸了!感謝一路幫助我的人

從投第一份簡歷,到現在正好兩個月。感謝兩個月來身邊的同學,??途W小伙伴,我的學長,親人等對我的支持,沒有你們,我很難堅持到現在。
三月很慘淡,百度不招Android,騰訊沒給面試機會,阿里一面掛,頭條兩次一面掛... 一共投了二三十家,收到的面試寥寥無幾,甚至沒有哪一家能進入二面,整個人真的很難受。但是,找工作還是要繼續(xù)要,漸漸的開始總結面試,把面試錄音記錄下來復盤,反復復習知識點,查閱其延申的內容,多敲代碼,終于在四月迎來的轉機。360,華為,蘑菇街,騰訊,拼多多...offer雨般的到來,我一下子覺得之前的付出都值得了。
說了一堆,回饋牛客的時間到了。我面試的是Android實習。

Android

第一行代碼,藝術探索,進階之光
進階之光是對藝術探索的補充,藝術探索太理論化了。進階之光覆蓋面更廣,書中有很多例子,可以幫助我們理解。

  • Activity生命周期和啟動模式
  • ListView優(yōu)化,RecyclerView的實現原理,兩者比較
  • Fragment生命周期以及簡單使用
  • 廣播:標準廣播,有序廣播,本地廣播,以及運用
  • 文件存儲:文件,SP(緩存),Sqlite
  • Content Provider的簡單使用
  • 網絡,HttpConnection
  • Service,AsyncTask(源碼),IntentService(源碼),Handler機制(源碼)
  • Glide源碼(我看的是郭霖的博客),OkHttp源碼(看的是進階之光) 如果需要進一步了解還是要去看源碼的
  • View機制源碼,TouchEvent的三層傳輸,解決滑動沖突的方案,簡單的自定義View,測量布局繪制
  • Bitmap加載優(yōu)化,采樣率,LruCache以及它的實現
  • 內存泄漏的幾個場景,單例,Handler等
  • 線程池,幾種常見的線程池,線程池相對于線程的優(yōu)點。
  • 幾種動畫,以及區(qū)別(問的少)
  • MVC/MVP/MVVM,參考進階之光
  • 進程之間通信方式,網絡的Socket;磁盤的文件,ContenProvider,數據庫;內存的Intent,Binder
  • Binder,問的比較少,面試的時候可以說不知道,大部分面試官不會為難的
  • 還有一些比較細的知識點,需要自己去總結了,多去寫代碼,不要只看不練,如果時間不夠,結合自己的簡歷準備,有著重點的學習/復習。

Java

Java核心卷I,JVM虛擬機,Java并發(fā)編程。后兩本沒有全部看完,主要看的是GC和類加載那一塊,并發(fā)的話主要是查詢知識點順帶看的。

  • Java基礎,8種基本數據字節(jié)數,封裝繼承多態(tài),接口運用,基本文件,輸入輸出...之類的
  • 幾種內部類,尤其是靜態(tài)內部類不持有外部類的引用(內存泄漏那一塊)
  • 反射
  • 集合框架很重要,ArrayList/LinkeList區(qū)別,HashSet/TreeSet區(qū)別,HashMap(源碼)以及和HashTable,CurrentHashMap,SyncMap的區(qū)別。HashMap幾種遍歷方式,CopyOnWriteArrayList的實現。
  • 線程/線程池,四種常用的線程池,線程池處理的流程(進階之光),鎖(類鎖/對象鎖,可重入鎖/不可重入鎖,公平鎖/非公平鎖,簡書上有一篇比較好的文章)
  • GC三種算法,GC_Roots的選取,GC的時間安全點,安全區(qū),大對象的處理,7中收集器的原理
  • 類的加載
  • 還有一些關鍵字:volatile,final(修飾域,方法,類,哪兒運用了),finally,finalize,static(域,內部類,方法,哪兒運用了)

數據結構

  • 棧實現隊列,隊列實現棧
  • 排序:插入,冒泡,選擇,快排,堆排,歸并,要求時間復雜度,空間復雜度,穩(wěn)定性,要求會寫
  • 查找:二分法,散列(散列沖突的幾種解決方法)
  • 樹:前序中序非遞歸遍歷,層次遍歷(要求5分鐘內準確寫出來),生成樹算法(動態(tài)規(guī)劃/貪心)
  • 其他:鏈表倒置,回溯法,遞歸的運用
  • 建議:劍指Offer,LeetCode上騰訊/頭條的訓練題,大概加起來200+題

計算機基礎

操作系統(tǒng)主要復習:

  • 內存管理:內存分配算法,分段,分頁....老化,護航效果等等...
  • 并發(fā)調度:線程,進程,調度算法,進程之間通信等....幾種通信方式以及總結
  • 死鎖產生的原因,以及解決方法

計算機網絡主要復習:

  • 應用層協(xié)議:HTTP(頭字段,1,1.1,2各個版本的區(qū)別,狀態(tài)碼2/3/4/5),HTTPS(TSL/SSL),DNS,斷點續(xù)傳
  • 傳輸層:TCP(三次握手,四次揮手,滑動窗口,擁塞控制,流量控制),UDP,兩者之間區(qū)別
  • 網絡層:IP,(路由表生成)

密碼學:(這一塊主要因為簡歷中寫了Https,做的準備)

  • 對稱加密:DES,多重DES
  • 非對稱加密:RSA,Diffie-Hellman,Elgamal 之間實現原理的區(qū)別
  • 數字簽名,MD5

設計模式

《Android源碼分析》,這本書比較難懂,選擇部分內容看的,結合進階之光比較好。

  • 創(chuàng)建型設計模式:單例(每種都需要理解原理),工廠,生成器,原型 (前三個最重要
  • 結構型設計模式:裝飾器,外觀,享元
  • 行為性設計模式:觀察者,策略

知道Android源碼哪些地方使用了這些設計模式就更好了!

其他加分項

  1. 會使用git/github
  2. 簡單使用Linux(基本指令,權限系統(tǒng),文件系統(tǒng))
  3. 有寫博客的習慣

一時半會兒想的起來的只有這么多了。謝謝兩個月來,大家的陪伴!十分感謝!

不要放棄,要加油!堅持努力,一切都是上天最好的安排!

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容