騰訊IEG後臺開發(已拿到offer)

很幸運,這次春招內推面了三家公司,騰訊IEG,華爲Cloud BU,螞蟻金服-支付寶,全都拿到了offer。這三篇博客是按照offer的時間順序連着的,有興趣的話可以看我其他兩篇博客。

華爲Cloud BU內推面試總結(已拿到offer)
螞蟻金服-支付寶內推面試總結(已拿到offer)

今天是3月11日,騰訊IEG技術一面,電話面

2019年3月11日 星期一
本人浙江大學軟件學院研一研究生。
當時投遞崗位的時候沒有看清要求,寫着後臺開發崗,招C/C++/Java,果然越靠前越重要。。本來想投的是Java崗,奈何鵝腸後臺C++偏多。結果面試的時候面的全是C++和Linux,Java一點沒問。全程大概25分鐘,總結如下。

面試內容和我的回答

先自我介紹一下吧

好,我叫xx, 目前在xx,本科在xx做過xx,在xx實習過,實習期間xx。

你在本科的時候參加過xx的比賽,在那個比賽中,你扮演什麼角色?

我在那個比賽中作爲隊長,協調團隊的工作,同時作爲比賽項目的主力後臺開發。

你覺得這個比賽項目中最難的一點是哪裏。

我覺得是微信服務號中發送彈幕消息,一開始不知道怎麼實現,想法很簡單,後臺用一個消息隊列緩存用戶的消息,使用ajax輪詢的方式訪問後臺的消息隊列,利用js顯示在網頁。後來覺得效率太低,會造成網絡擁堵,採用WebSocket與後臺服務器建立連接,利用sessionId完成全雙工通信。

你知道WebSocket是怎麼建立連接的嗎?

好像是通過http建立。。。。然後。。不清楚了。

在WebSocket通信的過程中,遇到過什麼問題嗎?

額,有時候消息會發送失敗,,,顯示斷開連接。。但是不知道爲什麼。

你的項目是部署在什麼系統下的?

Linux系統。

Linux的進程間的通信有哪些方式?

信號量機制、共享內存、管道、共享文件

Liunx下如何查看共享內存的情況呢?

這個。。我不清楚。

嗯,你知道Linux下有哪些socket模型嗎?

Socket模型??

就是epoll,poll,select這些。說說他們的原理,以及epoll和select有哪些不同點。

嗯,epoll,poll和select都是linux下I/O多路複用的實現,可以實現單線程管理多個連接,select是基於輪詢的,輪詢連接的狀態,返回I/O狀態,poll和select的原理基本相同,只是poll沒有最大連接數的限制,因爲它是基於鏈表的,而select是基於數組的,有最大連接數的限制。epoll和那兩者的區別是,epoll不是基於輪詢的檢查,而是爲每個fd註冊回調,I/O準備好時,會執行回調,效率比select和poll高很多。

select的最大連接數是多少?

在32位的機器上貌似是1024個。

在windows系統下多少?

這個。。。。我不清楚。

好的,沒關係。linux下如何查看某個端口的佔用?

用netstat + grep名命令。。

你知道TCP和UDP的區別嗎?

嗯,TCP是面向連接的可靠傳輸,UDP是盡最大努力傳輸的不可靠傳輸。

你在玩王者榮耀的時候,請問在對戰過程中,用的是UDP連接還是TCP連接?

應該是UDP吧,因爲對戰的時候網絡傳輸的大部分是玩家人物的狀態和位置,不需要時刻知道,有丟包的可能,所以有時候人物會瞬移。。。(胡亂猜,後來想想應該是TCP,不然別人打你一下,你這邊網絡不好,剛好丟包了,不就不掉血了嗎哈哈哈哈,這也是亂猜的)

嗯,問你一些C++的問題。你用過C++的STL庫對吧,有哪些容器?

map,vector,list,queue,set…

你知道他們分別是如何實現的嗎?

知道一些,首先他們都是根據添加動態擴容的,vector是連續存儲,也就是數組的方式實現的,list內部存儲結構是鏈表,set是有序的集合,內部的數據結構是紅黑樹,map內部數據結構也是紅黑樹。(答得很籠統。但是我是比較清楚的,因爲這部分看過Java的STL源碼,原理應該是差不多的。)

嗯,程序的內存模型分爲那幾個區域?

堆內存和棧內存。

那你知道棧內存和堆內存是用來幹嘛的嗎?

棧保存函數的局部變量和函數返回信息,堆內存用來保存類和對象。

那通過malloc申請的內存是在哪個區域的?

堆內存。

那你知道申請內存有兩種方式清除,free和delete,你知道這兩種方式的區別嗎?

嗯,free是清除malloc申請的內存,而delete是清除new出來的內存。

嗯,那你知道如果用free去清理new出來的內存會產生什麼問題嗎?

。。。。。。不清楚。

好的,沒關係。你知道,Java和C++的最主要的區別是什麼?

第一點是,在C++中,支持面向過程,函數可以與類隔離單獨存在,而Java的函數必須在類裏面。第二點是內存管理,C++需要程序員自己去管理內存,而Java是通過垃圾回收自動管理內存。(關於多繼承和單繼承的區別忘記回答了。。接口也忘了回答了,有點緊張)

你知道static關鍵字是用來幹嘛的嗎?

在一個類中,類成員和方法如果用static修飾,可以直接通過類名去訪問。它可以作爲多線程的訪問控制。。(瞎j8回答)。

現在有一道題目,你需要思考一下再回答。一個機器上有一個超大的文件,裏面有4G個32位int型整數,而機器的內存只有512MB,我需要獲得它的中位數,請問應該怎麼辦?

我想一下。。。。(中位數??不都是最大或最小前K個嗎?中位數怎麼辦?一分鐘之後。。)我想不出來,但是一定要先把文件分塊(這不是廢話嗎??),然後應該可以用堆排序的方式,但是我暫時想不出應該怎麼去做。

好的,沒關係,你可以回去再看一下應該怎麼做。時間差不多了,今天就到這兒吧,具體結果後面會通知你的,再見。

好的,再見。。

15分鐘後。。。
面試官打電話過來。

喂? xx啊,你現在是研一是吧?你什麼時候畢業?

嗯,2020年畢業。

2020年6月份對吧。

是的。

好的,我這邊再確認一下。

好的,請問。。。我這次的一面能通過嗎?

這個嘛,要根據綜合情況考慮的,現在還不確定。

好的,謝謝。

一面總結

剛面完,心情有點失落,感覺有點崩,其實這個Cpp是面試,而我想面Java崗位,但是不排斥Cpp,還是很想去鵝腸的。。。沒回答上來的問題我後面會繼續補充。還是需要多多沉澱,多多總結。

--------------------------------------------------割小牛子-------------------------------------------------

2019年3月29日更新

久等了~~~終於拿到騰訊IEG的offer了,另外華爲Cloud BU的offer也拿到了哈哈哈哈,下一篇博客是華爲Cloud BU的面經哦~,目前在等待阿里巴巴螞蟻金服Oceanbase部門的四面。騰訊IEG二面和三面的大致流程如下

二面(技術面),視頻面 2019年3月12日 晚18:30,騰訊IEG

引用部分是面試官

初次見到二面的面試官,哇,長得和我心目中技術大佬的樣子一模一樣,微胖,圓臉,禿頂,看起來三十歲左右。。

我:你好。

你好,你能看到我嗎?

嗯,可以的。

我第一次用這個系統(牛客網的視頻面試),以前沒用過哈,呵呵:)

。。。。嗯

你先自我介紹一下吧。

好的,我叫xxx,目前是xxx的一名研一的學生,本科在xxx,計算機專業。本科期間,做過xxx比賽,拿到了一等獎,大三參加保研,然後去了一家區塊鏈互聯網公司實習了7個月,期間做了balabalbalbal。。。

嗯,好,聽你說的項目,你主要Java這塊是吧

是的。。。(我就知道)

我們這邊主要是左C++後臺開發

我瞭解的,我C++也有一些基礎,本科有相關課程,只是沒做過網絡應用。。做一些算法項目(我這裏不應該說"項目"。。)。

比如?

額,其實就是一些算法題目,數據結構相關的。

Spring Cloud 瞭解嗎?

。。。寫過demo,沒用來做過項目,它主要包括balabala…(我自嗨起來了,面試官並沒有多大興趣。)

嗯,那我先說一道算法題吧,怎樣判斷一個鏈表有沒有環,你把代碼打出來。

(牛客網的系統是可以實時打代碼的,面試官那邊可以實時看到) 好的。思考中。。(這道題好像以前做過,很短的代碼,可就是想不起來了。。鏈表有環不就是鏈表的尾部指向了鏈表的中間?這樣的話遍歷一遍鏈表,把遍歷過的節點都放進一個set, 放進去之前查看set中有沒有該節點,有的話就說明有環。嗯,開始搞。。。) 噼裏啪啦…… 三分鐘後。好了。

你給我講講你的思路

balabalbalba。。。

嗯,這樣做可行,有沒有其他做法,不用set?

思考一分鐘後。。我想不到了。(我知道還有一種,確實看到過這題,忘記了)。

提示你一下,在一個環形跑道上,一個人跑的快,一個人跑得慢,兩人同時跑,最後跑得快的再次和跑得慢的相遇了。

哦哦哦哦哦,我知道了!設置一個快指針一次往後移動兩個,設置一個慢指針一次移動一個,如果在某次移動後,快指針等於慢指針,說明有環。(這個提示勾起了我的回憶。。想起來了)

嗯,再說一道數學題,不需要打代碼,說出你的思路就行了。有一個圓柱形的水桶,一隻螞蟻從外壁A點爬到內壁B點,求螞蟻行走的最短距離。

。。好的。。這問題怎麼又如此熟悉。。總覺得在哪裏看到過哈哈,思考一分鐘後。。。我知道了,建立一個三維座標系,先求出A到B的直線在水平面上的投影距離L,由圓柱水桶的半徑R和L可以求得A點到B點沿水桶曲線的投影圓弧長度M,A到桶頂的垂直距離爲H1,B到到桶頂的垂直距離爲H2,最短距離等於根號下M平方+(H1 + H2)平方(勾股定理)。

嗯,挺好的,大概就這麼個意思。看你簡歷上有幾個項目,你給我講講這個xxx項目

好的,這個項目是我在實習期間做的,它主要功能是balabala…技術棧主要有balabalba…(講了兩三分鐘吧)

感覺你這個就是用別人做好的工具套一層殼啊。

我。。。不是的,自己實現的部分也很多,比如balabla…

你之前在區塊鏈公司是吧,你對最近的一個新詞“數字票據”怎麼看?

額。。。數字票據,就是依據區塊鏈不可篡改的特性,把實際的票據數據上鍊,保存在區塊鏈節點上,主要用於供應鏈系統中吧,讓供應鏈系統中每個部分的企業之間相互信任。(瞎幾把解釋中。。我也不怎麼懂)

其實它這個和分佈式數據庫系統,也沒啥差別。。

額。。是的(迎合),我覺得區塊鏈技術本身就是分佈式系統 + 不可update的數據結構 + 加密算法。本身確實沒什麼新的技術。

嗯。。(面試官這個時候也沒啥好問的。。感覺也是第一次面試??) 你平時除了學習之外有啥愛好嘛?

。。。(???這是涼了嗎,問這個了就?)看看電影,聽聽音樂,寫寫博客。有時候會和室友一起出去騎行之類的哈哈哈。。。遊戲嘛,以前喜歡玩,現在覺得有點浪費時間,就不玩了。(當時我不知道是騰訊互娛的面試,隨口說自己不喜歡玩遊戲。)

好吧,今天面試就到這兒,面試結果後面會通知的,再見。

再見。

二面總結

感覺面試官不經常面試,沒有問幾個技術問題,也可能是我不太用C++,他也不知道該問什麼。不過,在這裏說一句,項目經驗很重要!!項目經驗很重要!!項目經驗很重要!!,就算沒有做過實際項目,也要自己完成一些個人項目,不然任何大廠的二面基本都過不了,二面主要問項目和對技術的理解,面了三個大廠,基本都是如此。

三面(HR面) 2019年3月21日 下午15:30,電話面

其實我以爲我已經涼了,因爲二面結束和HR面之間隔得太久了,9天時間,沒有任何通知,官網上的狀態一直是複試。沒想到突然給我發了面試邀請。

喂?你好,是xx同學嗎?

(哇,小姐姐聲音好溫柔哦~吼吼吼~) 啊,是的,是我。

我是騰訊IEG的HR,首先恭喜你經過層層甄選,通過了我們前面兩輪的面試,我這邊想對您做一些深入的瞭解。

啊,好的,哇小姐姐你說話好好聽,前面兩個面試官都好man好恐怖,突然su起來我不太習慣。

是嗎哈哈,前面兩個是我們部門的技術人員,balabala。。。(忘記了)

嗯嗯

你先自我介紹一下吧~

好的,balabala(和前面一樣)。

你說一個你覺得最有成就感的事情吧。

好的,是在本科時期拿了比賽一等獎,balabala。

你說你在這個項目中是作爲項目經理,你怎麼完成項目經理的職責呢?

確定項目需求,討論實施方案,制定階段計劃,人員任務分配,代碼review,代碼管理。(大概從這些角度回答的)。

你覺得在這個項目中的亮點或難點有哪些,怎麼想到或怎麼克服的?

亮點嘛,balabala,難點嘛,balabala,查閱資料等等

平時你是從哪些渠道學習新技術的?

技術博客,CSDN啊,掘金啊之類的,還有一些linux開發社區,發現一個新技術後,如果感興趣,會查找它的文檔深入理解並自己寫例子,balabala

你覺得你的優點有哪些,缺點有哪些?

優點嘛,就是專注力比較強,通常想一個算法問題可以想很久。喜歡鑽研新技術。缺點嗎(注意主力停頓幾秒,很關鍵)

是太優秀了沒有缺點嗎?呵呵呵

(哇,笑得好好聽,不如裝逼一下)缺點就是有時候太喜歡一個人獨處,覺得自己一個人做事比較有效率吧。所以有時候不能很好的融入集體。

嗯,其實這也不算缺點啦,很多人有時候都喜歡獨處,只是爲了獲得一個放鬆的狀態。

嗯嗯

那你覺得你還有哪些地方可以提升自己的嗎?

這個嘛。balabala。。

你對工作的城市有什麼要求嗎?

北上廣深,加杭州,都可以的,我本碩都在杭州讀的,比較適應杭州的生活。

哇,都是大城市哈,除了騰訊之外,你投了其他的公司嗎?

嗯,有的,投了華爲和阿里。

那如果華爲、阿里、騰訊都給你發了offer,你怎麼選擇呢?

這個嘛,要根據多方面來看的,首先是部門業務的前景,其次是轉正的概率,再次是薪資待遇方面的比較,因爲騰訊是第一家面試的公司,其他兩傢俱體的還不是很瞭解。

嗯,好的,你有幾個兄弟姐妹啊?

我家裏就我一個,我是獨生子哦。

這樣啊,那你父母同意你來深圳發展嗎?

他們不怎麼管我的,知道我不會走歪門邪道,對我很放心呵呵。

你有親戚家屬在騰訊工作嘛?

沒有的,據我所知沒有。

嗯。你身體健康方面有沒有什麼需要提前說的地方?

沒有的,我身體很健康呵呵。

好的,今天面試就到這裏嘍,面試結果會在7個工作日內通知你的,請保持手機暢通,再見啦~

好的,再見~。

三面總結

其實三面就是聊家常而已,HR小姐姐很好。我個人覺得HR面就是看你的語言表達能力,以及你的事業規劃、人生觀、價值觀的一些瞭解,不是壓力面,只要放穩心態就行啦!

三面下來感覺騰訊實習生的offer沒有想象中的難拿,有一定的基礎和項目經驗,應該都有面試的機會。

下面兩篇是華爲(已拿到offer)和阿里螞蟻金服的面試經驗~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章