又是一年畢業季的到來,想一想研究生真是過的飛快。最近忙着實習與校招,目前尚未正式收到offer可是問題也不是很大,前段時間在菜鳥網絡基礎架構部門實習時經歷了不少,與一羣比我牛逼不少的人共事也學到了不少(儘管也被批評了不少),接下來我將會一邊總結實習過程當中的感覺、遇到的問題,一邊規劃一下將來一年的學習計劃。html
其實這塊業務並無什麼技術含量,簡單點說就是離線拉取數據,並對數據進行CURD。其中,比較有意思的是全程使用Java8的stream類庫,這個知識點我找時間總結一下(包括foreach、map、reduce、paralleStream等等)。另外須要考慮不少額外的東西,例如數據其實天天只更新一次,因此爲了提速接口rt採用了redis來作緩存;同時HTTP接口拉取監控數據不穩定,很容易超時或者鏈接失敗,致使改次請求沒法獲取數據,這時須要對代碼進行良好的異常處理,還須要考慮數據拉取失敗時的重試策略(這塊還沒來得及完善,基本思路是設置最大重試次數,在異常捕獲處從新拉取)。web
另一個點,因爲是對ip維度進行統計、聚合,那麼ip數量很大時若是仍是串行執行就很慢了,因此須要使用多線程來提速。面試
這塊我打算專門寫一篇博客來細講,就不在這多說了,屆時會把連接更新過來。先甩一張架構圖鎮樓。redis
最近也參加了不少家公司的面試,有如意也有被虐的很慘的,如下是一些知識點的總結(實際上下面的不少都沒有涉及到,畢竟校招仍是考察基礎更多一些)。算法
以上是零零散散的知識點,另外語言的基本功、系統設計能力、設計模式等也是後臺開發者必備良藥。私覺得,上面這些點掌握80%,去面阿里拿個P6應該沒問題了(不知道會不會被噴哈哈)~shell
上面說的這些知識點,其實我都只是略懂一二甚至不少都只是瞭解的層面,因此在接下來的空閒時間裏我決定儘量地去學習和整理這些內容,並以博客的形式記錄下來。數據庫
這塊東西其實不少,我以爲沒有必要把全部的東西都看一遍,一來不現實二來其實也用不到那麼多。分佈式系統的原理性包括分佈式一致性、分佈式事務等核心原理是必需要理解透的,能口若懸河的扯個二、3個小時的程度我以爲就能夠了。經常使用的分佈式工具好比zookeeper、Kafka、Hadoop這類系統,也是必須去學會使用及瞭解原理的,師兄給個人建議是拿Hadoop去從源碼級別看起,能學到不少書本上沒有的東西,我會盡可能朝這個方向去努力的。設計模式
爲了強迫本身去學習,開啓了一個系列博客寫做計劃,目前已經有第一篇產出:ZooKeeper學習之一:安裝及命令行使用,後續我會繼續加油。緩存
有人可能想說研三不都已經結束找工做了嗎怎麼還要刷題?稍微考慮遠一點,正式工做了通常來講都是沒時間去刷題了,萬一要跳槽去一些外企或者喜歡面算法的公司(快手等)的時候,就很是尷尬了,因此仍是要把之後的壓力分攤到如今來。服務器
刷題是一種好習慣,應當堅持。
機器學習、深度學習、AI等名詞幾乎是近兩年來IT圈內最熱的詞彙,若是隻是說熱度高,那麼並非每一個人都須要去學習,而是說這門技術你是否可以用得上、可否產生價值。
我在研究生期間更多的是彌補本科落下的代碼量、實習經歷,本身也不夠勤學去追趕新潮技術,因此對於機器學習這方面只是停留在「聽過」的層面。而在阿里實習的過程當中,我發現即便是後臺研發人員也可能遇到須要使用到機器學習、統計學習等方法來解決的問題。例如在進行彈性擴縮容項目開發時,就須要對服務的流量進行預測,這塊其實是時間序列的數據的預測,天然涉及到了統計和機器學習相關知識(將推薦轉換成分類問題)。
沐神(李沐)最近開啓了一個深度學習教程,看了第一節課感受很親民,有時間的話能夠追一追:動手學深度學習。
整體上說,作技術開發仍是多敲代碼多采坑多記錄多積累的過程,因此還猶豫什麼,just do IT~