頭條面經分析

2021-09-25 09:19:06 字數 4049 閱讀 1507

7月14日(一面、二面)

一面45min:

首先做了自我介紹,然後簡單回答了面試官對於專案中的一些疑問,沒有太多的深入。

一面面試官比較和藹,問的問題比較專業,比較基礎,簡單做了一下回憶:

virtual函式能不能用在建構函式中,為什麼?

我的回答:一般建構函式不能virtual,析構函式才用virtual。面試官說,為啥,我說我平時都是這麼用的,不確定啥原因。面試官也挺好,說沒關係。

點評: 這一道題目是一道虛函式動態繫結的常見考題。

你遇到過記憶體洩漏問題嗎?

我的回答 :沒有遇到過,但是對同乙個區域進行兩次del,應該會造成記憶體洩漏,其他不清楚。面試官說,好的。

點評: 考察實際專案中的記憶體洩露問題,難度偏大。

你知道系統死鎖是 怎麼造成的嗎?

我的回答:作業系統我沒有學過,但是 我是做網路的,我們網路中也有死鎖以及防範的方法,於是將計算機網路中的各種鎖成因,以及避免方法進行了說明,並在最後說,我覺得所有的死鎖問題根源在於資源的搶占,並且,多個程序間形成了迴圈依賴,即得不到被其他程序占用的資源,也不釋放自己已經佔據的資源。面試官比較滿意。

點評:  作者的回答有點類似哲學家吃飯說的東西,死鎖在面試中也是常考題。

說說hash衝突的解決方法:

點評: hash衝突的方法是乙個比較簡單的問題,在面試中也常常被問到。

你一般用過c++的那些高階屬性

用過容器來的,陣列,佇列,棧,優先順序佇列,hash類的map,set。 面試官說還有別的嗎?我一時想不起來,他說 用過智慧型指標嗎,我說沒有,了解嗎?我說不了解,用過auto嗎?我說用過,一般用auto做函式或者變數的定義,然後大致說了一下我平時使用的場景。感覺自己有點弱。

點評:  智慧型指標屬於c++問題中比較難的一類問題,一般面試中也會被問到。

了解程序間的通訊嗎?

我說,程序間的通訊包括管道,命名管道,訊息佇列,共享記憶體等。一般管道比較慢,訊息佇列做同步,共享記憶體快。

點評:  程序間通訊屬於面試必問知識

http提交表單的方法有啥?

我說,不知道,估計面試官是想知道post,get哪些方法吧,早都不記得了。

點評: http協議基礎是考察的頻率也比較高。

c++函式只宣告,不定義會在哪一步報錯?

我說,我不知道,一般我沒有這樣寫過。

點評: 基本回答出在呼叫過程中會錯誤即可。

最後是一道程式設計題,鍊錶的題目,很簡單,但是還是有個小錯誤,在面試官的誘導中,自己發現了。

總結: 這乙個一面的題目是偏簡單的,基本能全部答出來問題不大。

5分鐘後,hr打**,說一面通過,10min後二面可以嗎,我說可以。

二面(50min)

二面不用自我介紹了,直接上來就說,我在看你的部落格,我當時驚呆了,面試官在我的部落格上尋找著知識點,整個氛圍比較輕鬆,他說你刷了很多題目,我說,是的,然後看了leetcode600多道題目的刷題量。

挑了乙個自己覺得做的最好的專案介紹,我就挑了乙個介紹一下。回答了面試官的疑問。

問了我tcp是怎麼保證可靠性的,udp呢?

我的回答:tcp本身通過ack確認機制來保證確認資訊收到了,並通過重傳機制對丟失資訊進行重傳,也就是說,應用端將資料交給tcp,自己啥都不用管了,他一定能傳到,所以稱之為可靠性,udp沒有這樣的機制,直接 最大化傳輸,但是,並不意味著他就不可靠,只是可靠性的保證交給了應用端去做。面試官挺滿意。

點評: tcp的可靠性以及和udp的區別是面試中必考內容。屬於一定要答出來的知識點。

tcp

可靠傳輸

1、確認和重傳:接收方收到報文就會確認,傳送方傳送一段時間後沒有收到確認就重傳。

2

、資料校驗

3

、資料合理分片和排序:

我在你的部落格上看到你負責遠端伺服器集群維護,能具體描述一下嗎?

我就把自己實驗室集群遠端訪問那套東西做了介紹,面試官問我他們如何通訊的,我把ssh的通訊過程搬過來。

c++和python的區別?

我說,動態靜態的區別,c++要經過編譯器,python不用,直接直譯器就可以搞定了執行了。回答的太簡單了。

5層tcpip中,每一層都包含啥協議?

點評 : 計算機網路的知識屬於必考內容。

程式設計: 動態規劃,完全揹包,挺簡單的,但是,腦子短路,有個地方寫錯了,但是面試官說,思路對了,就過了。

然後hr說過了,約了面試時間,7月17號下午3點。

三面(2小時)

面試官是前端開發部門的leader。

可以說,三面包含壓力成分。題目真心難。

首先,自我介紹,挑乙個專案介紹。然後非要我的原始碼,幸好在csdn上儲存了,所以,直接就當下來,乙個檔案乙個檔案的講。問了很多問題,將近問了50分鐘,終於講明白了。

點評: 出現了介紹專案要原始碼的情況,這種情況一般不是太多見,不管有沒有專案,建議將準備的專案做好上傳github,做好準備。

沒有實習經歷嗎?我說有,華為演算法研究部實習過,他說,為啥不寫在簡歷上,我說,簡歷做的早,之後沒有補充。

然後開始程式設計,問了我一道鍊錶題目,我直接說了核心解法,他說,你刷過,我是是的,好,過,下一道,字串的題目,我說我可能也刷過,我先寫吧,面試官笑著說,好的,然後,思路對了,內建函式忘了怎麼用了,他問,如果這道題 你忘了這個內建函式怎麼使用了,你怎麼實現這樣的功能,我說這個函式的原始碼我看過,可以直接用kmp等效。他說好,你能給我講一下嗎?我講的不好,畢竟不會表達,然後,我說了一句 ,能直接上**嗎?他說可以,我就用了3分鐘,寫了一下kmp,之後,面試官將我**拷過去。

點評:面試**現了kmp演算法,這個演算法是很難寫的。

最後一部分是面試中搞得最難的,當時,已經懷疑人生了,面試官讓我解釋 tcp為啥3次握手,4次揮手,都是 為了防止哪些情況的發生。tcp在做資料傳輸的時候,其中 包含那些資訊。我回到了ip,name,以及控制字段,面試官說不夠細緻。然後說了好久,我還是回答不出來。

點評: tcp三次握手,四次揮手,為什麼三次,四次,是滾瓜爛熟的問題,這道題目還額外問了tcp報文的頭部資訊

然後又問,你覺得客戶端的通訊時怎麼建立起來的,我大致回答了一下,他說不夠細緻,太籠統。我只能老老實實說不知道,然而,他並不罷休,說,如果給你這樣乙個任務,你會怎麼實現。我當時真的是覺得要涼了。

之後又做了很長一段時間的交流,詢問我對新技術的學習能力,簡單把自己的一些經歷做了一下講解,證明自己好學。然後讓我問他問題,這個時候大家一般要抓住機會,多和面試官交流。多為一些有意義的問題,即使失敗了,也會有很多對自己有用的資訊。

面試總評:除了演算法外, 這個同學的基礎知識和專案都答得一般,還可以答得更好。

面經 頭條 數倉

2019 06 16 星型模型 雪花模型 根據事實表和維度表的關係,又可將常見的模型分為星型模型和雪花型模型。星型架構是一種非正規化的結構,多維資料集的每乙個維度都直接與事實表相連線,不存在漸變維度,所以資料有一定的冗餘 當有乙個或多個維表沒有直接連線到事實表上,而是通過其他維表連線到事實表上時,其...

面經 數倉 頭條

1.sql4種以上去重 2.sql行轉列,不用explode 3sql抽樣不用sample,按照type欄位,每個type抽樣5 4.python,有序陣列,平方去重後的長度 1,0,1,2 不用set 5.字典排序,按照value排序 6.1,2 2.3 3,4.5 1,2,3,4,5 時間空間複...

頭條ai lab視覺組實習面經

1 簡單的介紹一下專案內容和自己做的工作。2 問了一下專案裡面提到的相關的點,比如cascade結構和detnet等亮點所在和作用。3 最新的一些 的follow。4 ssd及其改進,yolov1v2v3的講解。5 樸素貝葉斯的分類原理,寫公式並講解。6 乙個開放性問題,如果給定的訓練資料類別小於測...