面經分享:看非科班研究生如何轉行斬獲 ATM 大廠的 Offer ?

  • 2020 年 10 月 20 日
  • 筆記

前言

先介紹一下自己的情況吧,本科和研究生都是通訊專業,本科是某 Top2,研究生是香港某大學。了解了通訊行業的就業情況和工作內容後,大概今年3月份的時候開始想轉互聯網。

本人相關的基礎情況是:學校學了C++、數據結構與演算法以及電腦網路,做大作業和畢業設計用的 python,畢業設計有接觸機器學習。

當時是投遞暑期實習,沒有什麼經驗,以刷 LeetCode、複習電腦網路和看面經為主,最終面試的情況是:

  • 位元組影片架構實習3面掛
  • 阿里螞蟻金服交叉面掛
  • 騰訊TEG實習offer

因為參加過春招,所以我對秋招的時間點很敏感:

  • 6月中旬阿里巴巴和字節跳動開啟提前批
  • 7月中阿里開啟正式秋招
  • 8月初騰訊開啟秋招
    *t 9月基本都是Hr面和談offer了

牛客網上看到很多人8月底才開始投遞,在那邊抱怨為什麼很久沒有面試,這是因為時間安排上出了問題。所以想去什麼公司,就要儘早做好準備,關注對應的招聘公眾號和牛客網資訊。

下面,我將按照如下提綱來分享自己的一些經驗,希望能給大家帶來幫助:

  • 面經分享:阿里、位元組、網易、shopee、美團
  • Offer情況與選擇
  • 校招經驗談

阿里雲

簡歷面

  • 自我介紹
  • 在騰訊實習了多久了、做了哪些東西、技術棧如何、畢業設計的項目
  • 最近在看的書(因為是非科班生,當時在看MySQL技術內幕和微服務設計,嘮嗑了很久)

二面(P9)

  • 電腦網路:為什麼要進行三次握手四次揮手、UDP如何可靠、FastTCP、Https建立連接的過程
  • 資料庫:說說對 MySQL 的了解,索引的底層實現,Redis老生常談(持久化、雪崩、擊穿)
  • 演算法題:記不清了,大概率 LeetCode 的簡單題難度
  • 項目:很詳細的問了我畢設的項目,因為我本科是通訊,但是畢設是機器學習相關的,問得很詳細,追問我覺得的創新點在哪,為什麼要從這個角度去優化,落地場景如何,如果繼續去做,優化點在哪

交叉面(P9)

  • 主要是問的項目,問了我的三段實習經歷,其中2段是通訊的,然後畢設項目和一個小程式項目,以我講為主,問的時候基本圍繞是項目怎麼去實現的,技術難點在哪,現在來優化的話怎麼進行優化。
  • 然後問了一下本科和研究生的課程情況,對於電腦專業,自己學了哪些東西,看了哪些源碼(菜雞隻看了看Redis和ConcurrentHashMap)
  • 理論知識:資料庫的事務、臟讀、對鎖有了解嗎(我只答了定義、樂觀鎖悲觀鎖、怎麼實現)、資料庫優化

位元組(飛書)

一面

  • 自我介紹
  • 倆演算法題:單鏈表判斷是否有環、LRU
  • 理論知識:瀏覽器輸入一個url後的具體過程、HTTP與HTTPS、TCP三次握手四次揮手、linux調優、進程調度演算法

二面

  • 自我介紹
  • 實習情況、學校學了哪些電腦相關課程
  • 倆演算法題:兩鏈表交叉的第一個節點、二叉樹的左視圖
  • 大量轟炸作業系統(這個是我的薄弱項):進程執行緒、進程通訊、進程調度演算法、死鎖、邏輯地址到物理地址的轉換、虛擬記憶體

網易雲音樂

一面

  • 自我介紹、為啥來互聯網、學了哪些電腦的課程
  • 理論知識:TCP如何實現可靠的、TCP和UDP異同、資料庫基礎知識、資料庫結構優化
  • 演算法題:鏈表反轉
  • 實習做了哪些東西、小程式的項目、畢設機器學習項目
  • 作為非科班生的來互聯網的準備、規劃

二面(主管面)

  • 自我介紹
  • 實習情況
  • 理論知識:資料庫範式、封鎖類型、MVCC、樂觀鎖悲觀鎖、資料庫索引的實現原理、B+樹與B樹、分散式的了解、執行緒不安全的情況、如何避免死鎖、看了哪些源碼
  • 實習做了哪些東西
  • 資料庫日誌相關的一個場景題

Shopee

一面

  • 自我介紹
  • 演算法題:dfs實現層序遍歷
  • 理論知識:資料庫基礎知識、B+樹與B樹、LSF、進程執行緒協程區別、linux調優、TCP老生常談、Google的BBR演算法
  • 實習的情況、小程式的項目

美團

一面

  • 自我介紹
  • 演算法題:無重複字元的最長子串
  • 理論知識:TCP老生常談(三次握手四次揮手、TCP可靠實現、與UDP區別)、進程執行緒、進程調度、跳錶、固定分區與可變分區、段頁式存儲、頁面置換演算法、死鎖定義、死鎖條件、如何預防死鎖

二面

  • 自我介紹
  • 實習情況
  • 場景題:秒殺系統
  • 理論知識:JAVA設計模式、進程通訊、鎖和 ThreadLocal
  • 畢設機器學習項目、小程式項目
  • 對於非科班轉科班的看法、規劃

Offer情況與選擇

目前手裡的Offer情況是,騰訊TEG事業群、阿里雲基礎產品事業部、美團到店事業群、網易雲音樂,崗位都是後台開發。

來談談我的Offer選擇吧,具體怎麼選,這個見仁見智,我個人是從城市、公司、部門、技術、崗位、薪資這幾個角度來考慮的。

城市

在北京上的大學,上海深圳都呆了不短的時間,由於氣候和空氣原因,我是堅決不選北京的。

上海深圳房價較高,杭州略低,但是杭州房價有點虛高,對應的醫療方面我不了解,沒有納入考慮範疇。

教育方面還不在考慮範圍內(現在孩子都沒,等有孩子上學了在哪工作還不知道呢),深圳和上海應該比杭州熱一點,可遊玩性和舒適度我更傾向上海和杭州(杭州到上海高鐵75塊,很近的)。

公司、部門

我個人傾向是大廠更好,大廠在員工福利、培養方案、晉陞制度上更為完善,阿里和騰訊得分。

談到部門,這個其實是重點,阿里、騰訊、百度、美團、位元組、滴滴其實都是很大的公司了,不同部門之間的區別其實很大。

一個好的事業群,不論是人才培養、職位晉陞、福利待遇上面都是遠高於邊緣部門的。

  • 美團到店比較中庸;
  • 網易雲音樂是我很喜歡的產品,但是目前受到版權較少的困擾還未有明顯突圍的方向。
  • 騰訊的事業群是TEG,壓力沒那麼大,相應的待遇上比WXG和IEG差一些。
  • 阿里是在阿里雲,我對雲這塊比較熟悉,雲市場上阿里雲目前遙遙領先騰訊雲和華為雲,也跟面試官聊過好幾次關於阿里雲的發展方向,因此比較中意阿里雲。

具體部門的業務找內推人也有了解,現狀和前景都很不錯。阿里這邊我認為的比較好的部門有:阿里媽媽、淘系核心、天貓、阿里雲,釘釘目前也是非常紅火的(最近剛剛和阿里雲智慧融合)。

技術

技術成長看公司也看你的技術棧。騰訊、百度的 C++ 和 PHP 較強,位元組這邊應該是都有,但是今年招聘情況來看對 Go 的需求很大,阿里這邊的 Java 就不必說了,我個人更傾向 Java,看好 Java 和 Golang 的發展,因此阿里得分。

崗位

崗位都是後台開發,沒區別。

薪資

薪資上騰訊和阿里相當,美團得靠argue,雲音樂略低一點(網易大本營還是遊戲),薪資上其實我給的權重不是很高,我覺得差距在5W內都能接受。

作為應屆生的第一份工作,我覺得更應該考慮的是平台和技術成長,用發展的眼光來看待自己的職業生涯。

校招經驗談

我是一個做事喜歡講究方法論的人,要做一件事,搜集相關資訊,理清楚現狀,看到事物的本質,找到自己的定位,做好規劃,再穩步推進。

下面是一些資料,希望能給大家幫助:

  • 招聘資訊渠道:在互聯網行業,一般是公司官網、牛客網、官方招聘公眾號、內推群、非官方號(OfferShow等等)。
  • 招聘資訊時間線:可以去官網和牛客網,看看前一年的招聘時間,和牛客網前一年的帖子,知道大概的開始招聘的情況,避免投遞過晚或者大量筆試面試堆在一起的情況。
  • 實習:時間允許的話,最好實習,尤其是大廠的實習,能作為簡歷的敲門磚,面試的話題點,我在牛客網上甚至看到過阿里、位元組、騰訊都有實習經歷的同學。
  • 筆試書籍:強推《劍指offer》、《編程之美》
  • 刷題:我是以LeetCode為主,一開始也不會,從看答案到自己慢慢想,再到後面的一題多解
  • 資源網站:圖解演算法 、AlgoCasts演算法影片、Java Guide

資料庫、電腦網路、作業系統這塊的資料,作為一個非科班生,我覺得自己準備的也不好,就不獻醜啦。

行業越來越內卷,再加上今年的疫情,大量海歸迴流,大家找工作都很艱難。

牛客網上每天都有不少負能量爆棚的帖子,但是心態是要靠自己調節的,負能量爆棚的帖子下面往往都是很多人鼓勁,找到情緒的宣洩點,做好生活、學習、工作的平衡,道阻且長,行則將至,與諸君共勉!