1. 程式人生 > >對於自己(Android)秋招的一點總結(感慨)

對於自己(Android)秋招的一點總結(感慨)

之前因為一直在忙於秋招,也沒有進行進一步的學習,一直都在複習已有的知識,尋找自己的不足,所以沒有更新過部落格,現在拿到了百度,猿輔導以及Keep的offer(百度已籤),打算結束秋招了,然後就寫一篇自己的秋招的經歷,對自己秋招時光的一個總結,並且給以後的學弟學妹一點建議吧。

自我介紹

先介紹一下我吧,我是一個雙非學校的應屆生,但是我並不是從大學一開始的時候就是學習Android的,我大一到大三上學期都在搞ACM競賽,一直到去年打完青島現場賽才退役(苦逼的沒有拿到牌,如果拿到了可能秋招之路就會好很多吧)。 其實很多的ACMer在退役以後都會轉入對演算法崗的學習,在我面試的過程中也遇到過很多的面試官問過我這個問題。我個人不是特別想考研的,但是對與演算法的學習可能還是需要藉助研究生的實驗室的資源,在本科可能我不能找到這種的資源,又因為我原來有學習過一點Android,所以我就轉入了對Android的學習。 所以可能因為沒有學習多久的原因(之前一直在慕課上跟著學習),我在春招沒有找到實習,當時的面試官都是對於我的演算法和資料結構這塊非常認同,但是對於技術或者說是專案希望我能更好的學習,於是我4-5月都一直在寫我的一個小專案

SHIN_Music音樂播放器,但是因為這件專案我錯過後續的秋招。所以我暑假就只能在家裡自己進行學習。在這裡要感謝幾位學長,對我的關心和指導,給了我很多的面試內推,以及面試的時候的一些建議。

我投的所有公司(只多不少)

我聽從了學長的建議投了很多的公司,這樣對於我們這種雙非學校的學生進入大廠的機會才會多。

公司 狀態
百度 Offer
猿輔導 SP
KEEP Offer
頭條 備胎池(大概率排序掛)
360 備胎池(大概率排序掛)
迅雷 備胎池(大概率排序掛)
順豐 備胎池 (大概率排序掛)
珍愛網 終面掛
騰訊提前批一 複試掛
騰訊提前批二 總監面掛
騰訊提前批三 複試掛
網易 二面掛
阿里巴巴 一面掛
多益網路 一面掛
途牛 一面掛
小米 一面放棄
新浪 一面放棄
YY 一面放棄
愛奇藝 一面放棄
京東 筆試掛
招行信用卡 筆試掛
OPPO 簡歷篩選掛
VIVO 簡歷篩選掛
快手 簡歷篩選掛
思特沃克 簡歷篩選掛
好未來 簡歷篩選掛
老虎證券 簡歷篩選掛
觸寶 簡歷篩選掛
銀聯 簡歷篩選掛
攜程 簡歷篩選掛
蘇寧 簡歷篩選掛
金山 簡歷篩選掛
點我達 簡歷篩選掛
知乎 簡歷篩選掛
有贊 簡歷篩選掛
4399 簡歷篩選掛

這就是我投的簡歷,可以看到我有8個走完了所有的流程,但是為什麼我現在只有3個Offer,原因很大是因為學校,也可以是說我的能力不能抵消掉學校上與其他人的距離。但是這也是無可厚非的,因為別人的學歷是因為原來別人的認真學習的結果,這也是公平的。 用原來我聽到過的一句話:很多好的大學學計算機,並不是一開始就是教程式設計的,是先讓你找到計算機的本質----計算。然後從底層開始學起,有可能在畢業的時候你就可以造出一臺簡單的計算機了。這就是我們和別人的區別。用人公司當然更加傾向與985,211的學生,就像我們傾向於BAT一樣。

我的建議(菜雞的建議,大佬請繞路):

  1. 對於春招一定要把握好,因為春招的標準會比較低
  2. 一定要把基礎知識打牢,因為這些是你在大學中學到的,更好的體現你的學習能力
  3. 簡歷一定要真,並且面試之前回顧一遍簡歷
  4. 一定要寫一個稍微大一點的專案,這樣你才能和麵試官有共同話題,面試官才能找到你的優點
  5. 多投簡歷,多積累面試經驗,每次面試完以後對自己不會的東西進行查詢記錄
  6. 學習新東西的時候,不斷的回顧之前自己會的東西

一定要打有準備的仗。

我的經驗

主要是下面幾塊的複習和準備:

自我介紹

自我介紹這種東西最好還是能夠準備一下,因為你有準備的話,你才能夠在面試的前一分鐘更好的展現出自己,給自己有調節情緒的時間,如果當場想的話,可能就會很匆忙。 先看下我的自我介紹吧(PS:雖然不是很好,但是也展現了我的幾個優勢)

面試官您好,首先非常感謝能給予我這次面試機會,我叫XXX,是江西師範大學電腦科學與技術專業的大四學生,在學校期間曾擔任校ACS協會副會長,ACM競賽隊一隊隊員。我從大一下學期開始學習演算法,去年11月打完ICPC現場賽退役,在此期間我對下一屆新生進行過演算法培訓,以及承擔過十餘場校級演算法競賽的出題以及策劃,在退役以後開始轉入對Android的學習,計劃於今年暑假髮布自己的APP(SHIN_Music播放器),在寫APP的階段我遇到過很多問題,於是我覺得對於Android的學習和演算法不一樣,演算法可能只要靜下心的去刷題,但是Android需要有大量的實踐,所以我希望能找到一份工作來鍛鍊自己的能力。謝謝。

在自我介紹中要更好的體現出自己的優勢,讓面試官認可你,能找到你們的共同話題。

Java

  1. 集合類:主要了解擴容機制以及相關的Hash演算法,擴充套件可以瞭解一下Android中的集合類
  2. 刪除集合類元素的正確使用方法
  3. hashcode的作用
  4. Java泛型
  5. Java三大特性
  6. Java的四種引用(強弱軟虛)以及用到的場景
  7. 為什麼要重寫equal方法以後還要重寫hashcode方法
  8. static class 與non static class的區別
  9. 多執行緒
  10. 同步的方法
  11. Synchronized與Static Synchronized的區別
  12. Synchronized與Lock的區別與使用
  13. 鎖的等級:方法鎖、物件鎖、類鎖
  14. Sleep以及wait方法的區別
  15. For與Foreach的區別
  16. 匿名內部類使用的引數為什麼要是final的
  17. 多執行緒列印
  18. Java是值引用還是物件引用
  19. 設計模式
  20. Thread的六種狀態
  21. GC

作業系統

  1. 程序和執行緒
  2. 程序的狀態:可以通過Thread的詳細講
  3. 程序排程演算法
  4. IPC
  5. 分段和分頁
  6. 死鎖:概念和編寫都要會
  7. 堆與棧

計算機網路

  1. 網路的分層模型(7層,5層,tcp/ip模型)
  2. TCP和UDP
  3. TCP三次握手和四次揮手
  4. TCP擁塞控制
  5. TCP滑動視窗與回退N針協議
  6. HTTP的方法
  7. HTTP狀態碼
  8. HTTP怎麼處理長連線
  9. HTTPS及其工作流程
  10. 使用URL請求頁面流程

Android

  1. 四大元件(生命週期),五大布局
  2. Fragment:與Activity進行對比
  3. Activity的4種啟動模式:可能會讓你實現一個效果,主要是結合TaskAffinity和FLAG_ACTIVITY_NEW_TASK標記
  4. Android中的程序類別
  5. 怎麼保證Service不被殺死
  6. Activity快取方法
  7. Intent的使用方法,可以傳遞哪些資料型別
  8. 自定義View繪製過程
  9. 動畫
  10. 為什麼Android使用Binder 作為 IPC 機制
  11. 螢幕適配
  12. OOM與記憶體洩漏
  13. 記憶體優化
  14. 多執行緒通訊
  15. Thread、AsycTask、IntentService的使用場景與特點
  16. Handler機制
  17. Touch事件分發機制以及滑動衝突
  18. ListView與RecyclerView
  19. APP卡頓
  20. Context
  21. 看過的框架或原始碼

演算法

因為我原來是搞ACM的,所以我沒有怎麼複習演算法,但是根據我原來學習演算法的經驗就是多做題目,我大學期間的刷題量應該是1300+吧,如果沒有基礎的話,可以看劍指offer,刷Leetcode。

看的幾本書或者部落格

  1. 第一行程式碼(基礎,當你把這本書完全吃透了可能面試問題基礎就能回答上了)
  2. 程式設計師面試寶典(基礎,這本書把所有的計算機基礎課程都覆蓋了)
  3. Android開發藝術探索(進階,當你能把這本書吃透就可以完全應付面試了,但是我沒有完全看懂,只是把自己用過的看懂,決定以後再看一遍)
  4. Java併發程式設計的藝術(對於多執行緒下的併發操作可能會有很好的瞭解,介紹了記憶體模型,我現在在看)

主要是這三本書,其他的我可能更多的是看別人面經,找到自己不會的點,然後根據這個點去找別人寫的部落格,去把這個面瞭解清楚,比如:

最後的幾句話吧

我的秋招結束了,這就是我的總結和感慨。 PS:一定要覺得自己的努力是有價值的 PPS:覺得要放棄的時候想想自己原來的努力 PPPS:努力不一定成功,不努力註定失敗 PPPPS:不是幸運不光顧你,而是他買了更好的東西在前面那個路口等你 PPPPPS:要看別人現在有多榮耀,你現在羨慕是沒有看到過別人榮耀下的努力 最後一句,這是我對自己一直的暗示(雖然有點不好聽,但是是我的真實感覺):不要覺得自己多厲害,你在一些人眼裡就是垃圾;不要覺得自己多垃圾,你在一些人眼裡就是成功的。

End (人生沒有完結)