文章目錄
暑期實習戰績
首先介紹個人基本信息。
學歷信息:211本碩, 東農本科,成績排名:3.6%;北郵碩士,成績排名:18.5%
項目信息:天氣項目
實習信息:一段小公司的實習。
接下來介紹暑期實習的戰績。
收到筆試的公司包括:完美世界、百度、快手、美團。
收到面試的公司包括:小米、蘑菇街、百度、快手、美團、阿里。
拿到offer的公司包括:小米、美團、快手、百度。
其中阿里是面試掛掉,蘑菇街是拒絕了二面,完美世界是沒有發起面試。
整體下來非常滿意,美團是很心儀的大廠,同時還是比較核心的部門。
面試官和mentor都很友善,可以說是非常期待接下來的實習了,希望能飛速成長!
如何準備
在說如何準備之前想給大家舉個小例子告訴大家不要盲目準備,要根據自身狀況來準備。
以DNF爲例,我們是冒險家,最終目標是想要通關團隊副本(公司),爆出想要的裝備(offer)。
- 基礎比面經更重要,面經是用來查缺補漏。
既然想要通關副本,自身屬性和刷圖技巧二者必不可少。毫無疑問自身屬性更重要(基礎),自身屬性(基礎)好的情況下,也需要了解每個副本的不同技巧(去牛客刷對應公司的面經)。
- 非科班或讀研期間所做的項目非找工作方向的同學(我就是)要找到自身亮點。
團隊副本固定都是要c和奶,那麼非C職業(跨專業)肯定會較難打一些。而非C職業(跨專業)也可以通過一些好的裝備(項目或實習經歷)來增強自身的競爭力。
- 刷題要日積月累,100-200 道最佳,刷題雖好,不要貪刷哦。
爲了刷100級史詩裝備,我們肯定要先做一套100級的傳說裝備去刷副本。LeetCode就是我們做100級傳說裝備的地方,但只要裝備齊了就不要再去刷這個副本了。
- java 基礎很重要,雖然是 Android 開發但 java 基礎問的真的很多,不侷限於 java 基礎還包括多線程和虛擬機。
武器(Android)肯定是對自身最重要的,但首飾(java)對自身屬性也有很大的提升。不能忽略首飾對自身的提升。而算法題則更像防具,爲我們提供防禦力,但卻不像首飾(java)和武器(Android)直接增加力量屬性。
- 一定要有一個項目,即使是個比較差的項目也比沒有好。但有了項目之後一定要擴展新的功能,同類項目面試官可能看了很多,一定要擴展功能來豐富自己的項目,並學習新的技術棧。
這個就更好理解了,我們有了裝備(項目)一定要強化和增幅,爲什麼旭旭寶寶比別人猛,因爲他增幅高呀。但你只要有神話裝備,肯定就比沒有神話的強。
6. 無論是做項目還是看書,建議記錄成博客,方便梳理思路和複習。最重要的是,當自己做的項目的確有人在看也做成畢設的話,真的是很有成就感的事情。
我做了什麼準備
-
從研一開始堅持刷題,博主刷了 467道 LeetCode 題,並寫了一個專題《一起攻克LeetCode》。
-
跟着《第一行代碼》做了天氣項目,並將該項目進行擴展,擴展新功能以學習想掌握的技術棧。
-
閱讀《Android 開發藝術探索》,《Java 虛擬機》,《Java 併發編程的藝術》,《圖解 HTTP》,
《圖解 TCP_IP》,《java 核心卷》並撰寫博客記錄總結。 -
去牛客網刷面經查缺補漏。
-
不斷的改簡歷,主要是改項目描述和個人技能。項目描述一定要展示出技術棧或者成長,這是我的項目描述,僅供參考。
通過和風天氣提供的數據接口,編寫了一個天氣APP。首先根據定位找到當前所在城市,通過OkHttp+Gson庫實現對接口數據的獲取。之後展示當前城市的天氣信息,包括隔小時天氣、天氣預報、生活建議等。最後,通過自定義View+動畫的方式動態的展示當前城市的日出日落時間與空氣質量。
複習指南
Java 基礎
書籍推薦
-
《Java 核心技術》:這是一本工具書,只看第一本即可。使用方法是:根據面經考察的知識點再去翻這本書找到答案。
-
《Java語言程序設計-基礎篇(第10版)》:這是博主研究生上 Java 課的教材,講的也很好。
重點題目
-
Java 面向對象編程的四大特性與含義
-
String a="" 和 String a=new String("") 的的關係和異同?(要詳細到哪些存在棧中,哪些存在堆中)
-
Object的equal()和==的區別
-
異常
-
反射
-
Java 基本類型
-
Java IO
-
抽象類與接口
-
四種引用類型
-
淺拷貝與深拷貝
虛擬機
書籍推薦
《Java 虛擬機 第二版》:面試必看,如果時間緊張的話只需要看2、3、7、12、13章即可。
重點題目
- 虛擬機內存分佈
- 各種 GC 算法
- 類加載過程與雙親委派機制
- 內存模型
多線程
書籍推薦
- 《Java 多線程編程核心藝術》
- 《Java 併發編程的藝術》
重點題目
- sleep 與 wait 區別
- 線程安全(涉及的較多包括:關鍵字、數據結構、多種鎖)
- 線程的狀態
- java開啓線程的方式
- 線程池
- 線程間協作的一些方法
- 死鎖
源碼
- HashMap 源碼
- ArrayList 源碼
- LinkedList 源碼
- concurrentHashMap 源碼
Android
書籍推薦
-
《第一行代碼》:這是我入門的一本書,包括一個天氣項目。
-
《android 開發藝術探索》:面試必備面試必備面試必備。如果不知道學哪幾章,去看我的博客,我博客總結了那幾章你就看哪幾章。
注意
- 開發藝術沒有涉及 Fragment、BroadcastReceiver、Service 的基礎,這些可以看《第一行代碼》。
- 最好短期內擼一個項目出來。至少是有開發經驗,同時可以引導面試官問一些項目相關的技術點。
設計模式
書籍推薦
《Android 源碼設計模式解析與實戰》:主要在於理解和與所學習過的源碼相結合。舉個例子,比如說你讀過OkHttp 或 View 事件分發的源碼,那麼就可以理解責任鏈模式。
重點題目
-
單例模式(DCL、靜態內部類)
-
觀察者模式
-
工廠模式
-
生產者消費者模式
-
MVP、MVC 框架
算法
- 劍指 offer
- LeetCode Hot 100
- 二分查找
- 快排、歸併、堆排、選擇排序
- 二叉樹的前序後序中序層序旋轉
- 筆試 dfs 和 dp 較多,而面試較少,面試考察基礎算法
面試手撕代碼一般較爲簡單,LC medium 及其以下,因此刷題切忌刷太多,100-200 道是最佳面試題量,在於精而不在於多。
計算機網絡
書籍推薦
-
《圖解 HTTP》
-
《圖解 TCP_IP》
重點題目
Http
- 狀態碼
- HTTPS
- HTTP 1.0、1.1、2.0 的區別
- GET\POST\PUT 的區別
TCP
-
TCP 的四層結構
-
TCP 報文
-
TCP 的三次握手四次揮手
-
TCP 的流量控制與擁塞控制
-
TCP 與 UDP 的區別以及適合於什麼場景
-
七層結構
複習鏈接
1.很好的android知識點彙總與學習(Java基礎)
2.2019Android秋招提前批面試總結(已拿BAT等6家offer)(Android面試題)
3.我的個人博客(主要包括我面試準備的一些知識點總結以及源碼分析以及 Leetcode 刷題指南,對於準備android 面試肯定有很大幫助)
展望與總結
- 實習開始後,向一直在看的釐米姑娘博主學習,每週都要寫彙總博客來記錄實習工作;
- 好好學習 js 和 RN,以及閱讀retrofit源代碼撰寫文章記錄;
- LC 每日一題和周賽不要落下;
- Java 併發掌握較差,從頭認真學習;
- 實踐一般,對於需求要以工程師的角度思考問題;
- 參與撰寫一個算法學習的開源項目,歡迎大家 star 項目鏈接。
寫在最後
首先我也不是什麼大神,寫這個主要是記錄和分享。希望能對明年找工作或者準備暑期實習的同學們有所幫助。
我知道這個過程真的很艱難,但我相信人類的智慧都彙總成一句話:等待與希望!