主頁 > 後端開發 > 面經分享:看非科班研究生如何轉行斬獲 ATM 大廠的 Offer ?(附干貨分享)

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

2020-10-21 18:29:01 後端開發

前言

先介紹一下自己的情況吧,本科和研究生都是通信專業,本科是某 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

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

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

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

幸運只給有準備的人,“狗屎運”并不是真狗屎

雖然自嘲自己走了狗屎運,但是我永遠都明白一個道理:幸運永遠只會留給有準備的人,機會來了,你得有能力才能抓住,

因此,在面試這些一線互聯網公司之前,我早就開始做準備作業了,包括學習新的技術,提升自己的技術水平,甚至刷面試題,看面試帖,這些都對我的面試起到了極大的幫助,關于面試的準備,我主要是做了以下幾個方面:

以下內容涉及到很多網盤資料(包括視頻、筆記、技術文獻以及面試題庫),有需要的:點這里可以看到全部內容,免費進行下載,

(1)通過視頻來系統性地學習

大學學得內容廣,但是泛,不夠系統不夠深入,所以只能夠通過業余時間來“補課”,我的方式是自己搜羅整理了一套Java零基礎的學習視頻,從零開始學起,全部視頻看完之后,基本上有一個非常清晰的思路和框架結構了,

(2)閱讀前輩的一些技術筆記

這些筆記是找學長和論壇上的技術牛討來了,翻閱了不少,確實對很多技術點的認識有所幫助,學習到了不少的思路,


(3)刷題備戰,直通大廠

刷題是為了了解現在的大廠面試時會問到什么,另外也能夠提升自己對技術的記憶點,使得在面試時更有底氣,實際上,刷題時我們靈活一點,學會舉一反三,在真正面試時還是能夠起到一定作用的,

總結

愛默生說:一個朝著自己目標前進的人,整個世界都給他讓路,所以,作為二十歲的你,不惑很簡單,多思考多規劃,未來會更清晰,朝著自己的目標一步一步走下去,盡早地取得成功,畢竟,年齡在程式員界里,也是一種優勢,

如果,你沒有靠山,就讓自己成為自己最穩的靠山吧!

以上文章中的資料,均可以免費分享給大家來學習,無論你是零基礎還是作業多年,現在開始就不會晚,100%免費獲取資料只需:
——點這里可以看到全部內容,免費進行下載,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/184238.html

標籤:java

上一篇:青書學堂自動掛課高起專后臺掛課教程方法

下一篇:拿到京東Java社招offer,過來還愿分享面經

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more