對於自己(Android)秋招的一點總結(感慨)
之前因為一直在忙於秋招,也沒有進行進一步的學習,一直都在複習已有的知識,尋找自己的不足,所以沒有更新過部落格,現在拿到了百度,猿輔導以及Keep的offer(百度已籤),打算結束秋招了,然後就寫一篇自己的秋招的經歷,對自己秋招時光的一個總結,並且給以後的學弟學妹一點建議吧。
自我介紹
先介紹一下我吧,我是一個雙非學校的應屆生,但是我並不是從大學一開始的時候就是學習Android的,我大一到大三上學期都在搞ACM競賽,一直到去年打完青島現場賽才退役(苦逼的沒有拿到牌,如果拿到了可能秋招之路就會好很多吧)。
其實很多的ACMer在退役以後都會轉入對演算法崗的學習,在我面試的過程中也遇到過很多的面試官問過我這個問題。我個人不是特別想考研的,但是對與演算法的學習可能還是需要藉助研究生的實驗室的資源,在本科可能我不能找到這種的資源,又因為我原來有學習過一點Android,所以我就轉入了對Android的學習。
所以可能因為沒有學習多久的原因(之前一直在慕課上跟著學習),我在春招沒有找到實習,當時的面試官都是對於我的演算法和資料結構這塊非常認同,但是對於技術或者說是專案希望我能更好的學習,於是我4-5月都一直在寫我的一個小專案
我投的所有公司(只多不少)
我聽從了學長的建議投了很多的公司,這樣對於我們這種雙非學校的學生進入大廠的機會才會多。
公司 | 狀態 |
---|---|
百度 | Offer |
猿輔導 | SP |
KEEP | Offer |
頭條 | 備胎池(大概率排序掛) |
360 | 備胎池(大概率排序掛) |
迅雷 | 備胎池(大概率排序掛) |
順豐 | 備胎池 (大概率排序掛) |
珍愛網 | 終面掛 |
騰訊提前批一 | 複試掛 |
騰訊提前批二 | 總監面掛 |
騰訊提前批三 | 複試掛 |
網易 | 二面掛 |
阿里巴巴 | 一面掛 |
多益網路 | 一面掛 |
途牛 | 一面掛 |
小米 | 一面放棄 |
新浪 | 一面放棄 |
YY | 一面放棄 |
愛奇藝 | 一面放棄 |
京東 | 筆試掛 |
招行信用卡 | 筆試掛 |
OPPO | 簡歷篩選掛 |
VIVO | 簡歷篩選掛 |
快手 | 簡歷篩選掛 |
思特沃克 | 簡歷篩選掛 |
好未來 | 簡歷篩選掛 |
老虎證券 | 簡歷篩選掛 |
觸寶 | 簡歷篩選掛 |
銀聯 | 簡歷篩選掛 |
攜程 | 簡歷篩選掛 |
蘇寧 | 簡歷篩選掛 |
金山 | 簡歷篩選掛 |
點我達 | 簡歷篩選掛 |
知乎 | 簡歷篩選掛 |
有贊 | 簡歷篩選掛 |
4399 | 簡歷篩選掛 |
… | … |
這就是我投的簡歷,可以看到我有8個走完了所有的流程,但是為什麼我現在只有3個Offer,原因很大是因為學校,也可以是說我的能力不能抵消掉學校上與其他人的距離。但是這也是無可厚非的,因為別人的學歷是因為原來別人的認真學習的結果,這也是公平的。 用原來我聽到過的一句話:很多好的大學學計算機,並不是一開始就是教程式設計的,是先讓你找到計算機的本質----計算。然後從底層開始學起,有可能在畢業的時候你就可以造出一臺簡單的計算機了。這就是我們和別人的區別。用人公司當然更加傾向與985,211的學生,就像我們傾向於BAT一樣。
我的建議(菜雞的建議,大佬請繞路):
- 對於春招一定要把握好,因為春招的標準會比較低
- 一定要把基礎知識打牢,因為這些是你在大學中學到的,更好的體現你的學習能力
- 簡歷一定要真,並且面試之前回顧一遍簡歷
- 一定要寫一個稍微大一點的專案,這樣你才能和麵試官有共同話題,面試官才能找到你的優點
- 多投簡歷,多積累面試經驗,每次面試完以後對自己不會的東西進行查詢記錄
- 學習新東西的時候,不斷的回顧之前自己會的東西
一定要打有準備的仗。
我的經驗
主要是下面幾塊的複習和準備:
自我介紹
自我介紹這種東西最好還是能夠準備一下,因為你有準備的話,你才能夠在面試的前一分鐘更好的展現出自己,給自己有調節情緒的時間,如果當場想的話,可能就會很匆忙。 先看下我的自我介紹吧(PS:雖然不是很好,但是也展現了我的幾個優勢)
面試官您好,首先非常感謝能給予我這次面試機會,我叫XXX,是江西師範大學電腦科學與技術專業的大四學生,在學校期間曾擔任校ACS協會副會長,ACM競賽隊一隊隊員。我從大一下學期開始學習演算法,去年11月打完ICPC現場賽退役,在此期間我對下一屆新生進行過演算法培訓,以及承擔過十餘場校級演算法競賽的出題以及策劃,在退役以後開始轉入對Android的學習,計劃於今年暑假髮布自己的APP(SHIN_Music播放器),在寫APP的階段我遇到過很多問題,於是我覺得對於Android的學習和演算法不一樣,演算法可能只要靜下心的去刷題,但是Android需要有大量的實踐,所以我希望能找到一份工作來鍛鍊自己的能力。謝謝。
在自我介紹中要更好的體現出自己的優勢,讓面試官認可你,能找到你們的共同話題。
Java
- 集合類:主要了解擴容機制以及相關的Hash演算法,擴充套件可以瞭解一下Android中的集合類
- 刪除集合類元素的正確使用方法
- hashcode的作用
- Java泛型
- Java三大特性
- Java的四種引用(強弱軟虛)以及用到的場景
- 為什麼要重寫equal方法以後還要重寫hashcode方法
- static class 與non static class的區別
- 多執行緒
- 同步的方法
- Synchronized與Static Synchronized的區別
- Synchronized與Lock的區別與使用
- 鎖的等級:方法鎖、物件鎖、類鎖
- Sleep以及wait方法的區別
- For與Foreach的區別
- 匿名內部類使用的引數為什麼要是final的
- 多執行緒列印
- Java是值引用還是物件引用
- 設計模式
- Thread的六種狀態
- GC
- …
作業系統
- 程序和執行緒
- 程序的狀態:可以通過Thread的詳細講
- 程序排程演算法
- IPC
- 分段和分頁
- 死鎖:概念和編寫都要會
- 堆與棧
- …
計算機網路
- 網路的分層模型(7層,5層,tcp/ip模型)
- TCP和UDP
- TCP三次握手和四次揮手
- TCP擁塞控制
- TCP滑動視窗與回退N針協議
- HTTP的方法
- HTTP狀態碼
- HTTP怎麼處理長連線
- HTTPS及其工作流程
- 使用URL請求頁面流程
- …
Android
- 四大元件(生命週期),五大布局
- Fragment:與Activity進行對比
- Activity的4種啟動模式:可能會讓你實現一個效果,主要是結合TaskAffinity和FLAG_ACTIVITY_NEW_TASK標記
- Android中的程序類別
- 怎麼保證Service不被殺死
- Activity快取方法
- Intent的使用方法,可以傳遞哪些資料型別
- 自定義View繪製過程
- 動畫
- 為什麼Android使用Binder 作為 IPC 機制
- 螢幕適配
- OOM與記憶體洩漏
- 記憶體優化
- 多執行緒通訊
- Thread、AsycTask、IntentService的使用場景與特點
- Handler機制
- Touch事件分發機制以及滑動衝突
- ListView與RecyclerView
- APP卡頓
- Context
- 看過的框架或原始碼
- …
演算法
因為我原來是搞ACM的,所以我沒有怎麼複習演算法,但是根據我原來學習演算法的經驗就是多做題目,我大學期間的刷題量應該是1300+吧,如果沒有基礎的話,可以看劍指offer,刷Leetcode。
看的幾本書或者部落格
- 第一行程式碼(基礎,當你把這本書完全吃透了可能面試問題基礎就能回答上了)
- 程式設計師面試寶典(基礎,這本書把所有的計算機基礎課程都覆蓋了)
- Android開發藝術探索(進階,當你能把這本書吃透就可以完全應付面試了,但是我沒有完全看懂,只是把自己用過的看懂,決定以後再看一遍)
- Java併發程式設計的藝術(對於多執行緒下的併發操作可能會有很好的瞭解,介紹了記憶體模型,我現在在看)
主要是這三本書,其他的我可能更多的是看別人面經,找到自己不會的點,然後根據這個點去找別人寫的部落格,去把這個面瞭解清楚,比如:
最後的幾句話吧
我的秋招結束了,這就是我的總結和感慨。 PS:一定要覺得自己的努力是有價值的 PPS:覺得要放棄的時候想想自己原來的努力 PPPS:努力不一定成功,不努力註定失敗 PPPPS:不是幸運不光顧你,而是他買了更好的東西在前面那個路口等你 PPPPPS:要看別人現在有多榮耀,你現在羨慕是沒有看到過別人榮耀下的努力 最後一句,這是我對自己一直的暗示(雖然有點不好聽,但是是我的真實感覺):不要覺得自己多厲害,你在一些人眼裡就是垃圾;不要覺得自己多垃圾,你在一些人眼裡就是成功的。