1. 程式人生 > >Android校招復習資料整理

Android校招復習資料整理

在10月份開始就沒有再參與校招了,面試過程真的很累,有時現場等面試一等就是幾個小時。加上畢業論文開題的壓力,所以沒有繼續參加各個公司筆面試了。過去幾個月中,複習時也曾經到處搜資料、搜真題。畢竟從小到大考試都是有教科書複習,有老師劃重點。現在找工作都沒有這些,只有靠自己。所以特別理解準備找工作的小夥伴們空有好好複習的決心,花了很多時間卻沒有複習多少知識,因為在搜資料過程需要很多時間。而我個人比較喜歡電子資料,所以我在整理資料的時候都是以電子檔的形式儲存。為了更方便檢視,做了一個網站,託管在GitHub。可以點選這個地址檢視:http://huachao1001.github.io

這裡強調一下,裡面的內容都是來自網際網路,難免存在錯誤。錯誤不僅僅是文字上的錯誤,也可能是本身的解釋都是錯的。或許此時你可能覺得是不是裡面大部分內容都是博主隨便複製貼上的,請放心,裡面內容是我自己整理的,並不是完全複製貼上,絕大部分是我用自己的理解重新寫上去的裡面的內容是我自己複習的資料,我不可能對自己不負責。只是想讓大家知道,對裡面的內容不要抱著完全正確的態度。

前面說到,複習資料存放在:。因為資料存放是在第三方網站,用的是免費套餐,允許每個月API訪問次數為300萬次。所以,如果當月訪問量太高的話,當月次數用完,月底可能就無法打開了。如果有小夥伴有云伺服器資源的話,可以私信我,我可以把資料轉移過去。下面說一說我複習的幾個月用到的資源,跟大家分享一下。

1 複習時間

2016年6月份開始準備,不斷刷題、買書、逛帖子。一直持續到8月中旬,其實複習時間並不是特別長,主要是把關鍵的知識複習好。

2 基礎知識

2.1 Java基礎

  1. ArrayList、LinkedList、Vector區別
  2. BlockingQueue與CountDownLatch
  3. Collections與Arrays
  4. Exception與Error包結構,OOM,SOF你遇到哪些情況?
  5. HashCode作用
  6. Java 1.7和Java 1.8新特性
  7. Java NIO
  8. Java基本資料型別及其相關操作
  9. Java的四種引用,強弱軟虛,用到的場景
  10. Map、Set、List、Queue、Stack的特點與用法
  11. Map相關子類區別
  12. Object公有方法以及wait和sleep區別
  13. Override與Overload區別
  14. String相關內容學習
  15. foreach與for迴圈效率對比
  16. interface與abstract類的區別
  17. static關鍵字
  18. synchronized、lock、reentrantLock區別
  19. 不同情形下return和finally的執行順序
  20. 關鍵字:transient、volatile
  21. 反射原理及應用
  22. 泛型特點及其型別轉換
  23. 生產者消費者問題的五種實現
  24. 執行緒以及ThreadLocal
  25. 執行緒池的使用
  26. 解析XML的DOM與SAX以及PULL區別
  27. 鎖的等級:方法鎖、物件鎖、類鎖
  28. 面向物件的的特徵和含義及多型實現原理

2.2 Android基礎

  1. 在AndroidStudio中自定義Gradle外掛
  2. Activity與Fragment的生命週期
  3. Activity卡頓原因
  4. Activity啟動過程
  5. Activity四種啟動模式與IntentFilter匹配規則
  6. Activtiy的狀態儲存
  7. Android 7 .0、6.0、5.0新特性
  8. Android記憶體優化方法
  9. Android動畫
  10. Android檔案快取方法
  11. Android長連線,怎麼處理心跳機制
  12. Asset與res/raw,res/drawable
  13. AsyncTask原理與使用
  14. Bitmap相關
  15. ContentProvider用法
  16. IntentService
  17. Json相比XML優劣勢
  18. Looper、Handler、MessageQueue
  19. Merge與ViewStub佈局標籤
  20. OkHttp
  21. Service相關
  22. Sqlite的基本操作
  23. UIL原理解析
  24. Volley原理解析
  25. Zygote程序啟動過程
  26. 啟動Activity的幾種方式
  27. 如何保證Service不被Kill
  28. 如何加速啟動Activity
  29. 怎樣退出終止App
  30. 外掛化原理(以DL框架為例)
  31. 註冊廣播的兩種方式
  32. 熱補丁技術概括
  33. 自定義View,有這一篇就夠了
  34. 通過自定義Gradle外掛修改編譯後的class檔案

2.3 資料結構

  1. 各種排序演算法複雜度對比
  2. 排序演算法
  3. 資料結構基本概念及複雜度分析

2.4 作業系統

  1. IPC幾種通訊方式
  2. 什麼是虛擬記憶體
  3. 死鎖的必要條件,怎麼處理死鎖
  4. 段儲存,頁儲存,段頁儲存
  5. 虛擬地址、邏輯地址、線性地址、實體地址的區別
  6. 程序與執行緒
  7. 銀行家演算法

2.5 計算機網路

  1. 3次握手和4次揮手過程
  2. HTTP響應報文格式及各種響應碼
  3. HTTP請求報文格式
  4. Http1.1和Http1.0的區別
  5. Http怎麼處理長連線
  6. IP地址分類
  7. OSI與TCP/IP各層的結構與功能
  8. Ping的整個過程。ICMP報文是什麼?
  9. TCP與UDP區別及其各自優缺點
  10. TCP和UDP資料報格式
  11. TCP擁塞控制和流量控制
  12. http與https區別
  13. 開啟一個網頁,整個過程使用到哪些協議
  14. 滑動視窗與回退N針協議
  15. 路由器與交換機區別

2.6 資料庫

  1. 關係資料庫基本概念
  2. 關係模式的規範化
  3. 函式依賴與候選碼的定義
  4. 資料庫中資料查詢
  5. 資料庫查詢優化
  6. 資料的新增、刪除、修改
  7. 表的建立、修改表結構、刪除表

2.7 JVM

  1. CAS是什麼?
  2. GC收集器有哪些?
  3. GC的三種收集方法
  4. 記憶體模型以及分割槽
  5. 判斷一個物件是否存活
  6. 雙親委派模型
  7. 物件的建立、記憶體佈局、物件的訪問定位
  8. 新生代老年代記憶體劃分比例及其各自特點
  9. 類載入的五個過程
  10. 靜態分派和動態分派

3 看過的書

  1. 任玉剛的《Android開發藝術探索》
  2. 周志明的《深入理解java虛擬機器》
  3. 何紅輝與關愛明的《Android原始碼設計模式解析與實戰》
  4. 考研用的輔導書,當初用的是王道論壇編寫的《資料結構》、《作業系統》、《計算機網路》、(計算機組成原理沒去複習)。以及武漢大學編寫的《資料庫原理與技術》。
  5. 左程雲的《程式設計師程式碼面試指南》
  6. 《劍指offer》
  7. 《Java程式設計思想》(作為“字典”檢視)

4 經常瀏覽的網站

5 寫在最後

  1. 好多小夥伴加了我Q為好友,但是提的問題很多是一樣的,博主時間精力有限,為了方便小夥伴們的討論,特地建立一個討論群,歡迎小夥伴們加入。
  2. 討論群