本文介紹2024屆秋招中,BOSS直聘的推薦/搜尋系統工程師崗位一面的面試基本情況、提問問題等。
2023
年12
月,趕在秋招的末尾,投遞了BOSS直聘的推薦/搜尋系統工程師崗位,並不清楚所在的部門。目前完成了一面,在這裡記錄一下一面經歷。
首先,這一次的投遞就是在BOSS直聘這個APP上直接投遞的,沒有走官網投遞的流程;在這個階段(秋招都要結束了),再去網申的話我感覺意義也不大,所以一般就是看看BOSS直聘上合適公司、崗位的HR發來簡歷邀請(可能是當初找實習的時候使用者活躍度非常高,所以在APP上這大半年都一直會有HR發邀請的),如果有相關邀請並且感覺可以試一試的話,就會申請推進流程。
這一次面試和秋招的第一次面試(百度搜尋的機器學習、深度學習演算法崗位)一樣,是演算法方向的面試,所以可以明顯感覺到面試官對於實習經歷、專案經歷都不怎麼提問了,而是直接就問演算法方面的內容——當然,這個也和我比較偏向於開發(主要是演算法學不會),所以實習和專案經歷都是開發方向的工作有關。其中,面試官主要提問的演算法內容多數都是和資料結構有關的,主要集中在資料結構元素搜尋的時間、空間效能最佳化方面。雖然感覺演算法方面的面試是真的很難,但是也確實感覺這樣的面試很有意思,自己會絞盡腦汁地回想當初刷題時,那些高贊題解裡都用到了哪些演算法思想或者最佳化技巧——而如果是開發方向的面試,那麼提問往往都是集中在實習和專案經歷方面,感覺自己都快要背下來了,沒有演算法面試有意思哈哈哈哈。一場面試下來,也確實收穫到了很多新的內容與知識。
面試情況
-
上午
10:00
開始,持續25
分鐘左右。 -
線上影片面試,
1
位面試官;面試官很和藹。 -
首先做自我介紹;提問
25
分鐘。
提問問題
- 本科、研究生階段都有哪些專案、實習經歷?
- 研究生階段和阿里雲合作的專案是什麼樣的?是什麼型別的專案?大致做了些什麼?
- 陣列和連結串列有什麼不同?各自有什麼特點與優勢?各自的應用場景如何?
- 對於一個有序陣列,在其中查詢某一個值,最低的時間複雜度為多少?此時是用什麼方法來查詢的?對於一個有序連結串列呢?
- 對於連結串列中資料的查詢,如何最佳化其時間複雜度?對於一個連結串列,將其數值和位置以雜湊表的形式儲存,這個儲存的過程具體如何實現?這個過程的時間複雜度如何?
- 對於一個有序的連結串列,希望加快其查詢數值的速度,有什麼方法最佳化?
- 是否瞭解“跳錶”這個概念?
- 兩個無序陣列,如何找到二者中元素的交集?時間複雜度如何?是否可以最佳化?你提到在雜湊表中加以查詢,此時查詢的時間複雜度一定均是
O(1)
嗎?如果這兩個陣列的某一個或者每一個陣列中,有重複的資料怎麼辦? - 雜湊衝突是如何解決的?時間複雜度如何?
- Java和C++中,有哪些和雜湊表有關的資料結構?其各自的底層實現是什麼?為什麼紅黑樹可以實現雜湊表?
- 兩個無序的陣列,如何找到二者中重複(既在陣列
A
中,又在陣列B
中)的元素? - 一個有序的單連結串列
A
,含有100
萬個結點;希望構建一個新的連結串列B
,分段地儲存A
中的部分結點,從而最佳化A
中查詢元素的效能;那麼你認為B
應該每隔多少個結點儲存一次A
中的結點?如果B
儲存了10
萬個結點,那麼基於B
查詢A
中任意一個元素,平均查詢的次數為多少? - 個人的職業預期與規劃是如何的?
演算法題目
- 無(這裡是指沒有手撕演算法程式碼的題目)。
面試結束反問
- 這一崗位對於機器學習、深度學習演算法方面的知識是否有要求?
- 這一崗位更側重於演算法的研發(數學方面),還是演算法的落地(開發方面)?
反饋情況
- 面試已經結束
1
個多月,暫無任何回覆,肯定已經涼了。
至此,大功告成。