本文介紹2024屆秋招中,華為技術有限公司的通用軟體開發工程師崗位的3
場面試基本情況、提問問題等。
2023
年07
月投遞了華為技術有限公司的通用軟體開發工程師崗位,所在部門為海思半導體與器件業務部。目前完成了一面、二面與三面等全部流程,在這裡記錄一下3
場面試的經歷。此外,華為的校招流程確實非常曲折,在之前的文章中也介紹過我的華為校招經歷,這裡就不再贅述;之前一直想著先不分享華為的面經,等報批透過、Offer下來之後再發;但是寒假前HR說開始報批,到現在都還沒有下文,所以肯定Offer也是無了(但不虧,畢竟開的13
級,真要能開出來的話也得再考慮考慮),終於可以把面經發出來了哈哈哈哈。
這一次面試中,一面、二面為專業面試,三面為業務主管面試;3
場面試均為線上影片面試,面試官都非常和藹。海思的面試整體開始得都相對比較晚,所以一開始還以為是筆試成績太差導致已經涼了;一直到11
月底,才開始進行面試流程。總的來看,華為的面試對於技術方面的考察其實並不是很多,至少沒有我原本預計的多——演算法題目倒是2
輪專業面試都涉及了,但是每次也都只有1
個題目,而且題目的難度也不高,主管面就完全沒有演算法方面的考察;計算機八股題目也是相對很少,其中一面的面試官應該是技術棧不在C++方向,所以就沒有問太多的八股,二面面試官倒是問了一些八股,但是也都是比較基本的內容,主管面依然沒有問八股方面的內容。但是,對於實習經歷與專案經歷,3
場面試都是尤為重視的,幾乎全部的問題都是由實習與專案經歷來入手提問的。整體感覺,雖然面試的方向是軟體開發的崗位,但是和其他網際網路公司的面試比起來,華為的面試還是和國企、銀行等單位的技術崗面試比較類似,更偏向於實習與專案經歷、個人綜合能力與素質等方面的考察。
一面的預約過程整體比較曲折,首先是面試時間不斷變化,先後幾次都是到了指定的面試時間之後,又通知說要延後到另一個時間;其次,在最終確定的面試時間內,我首先是不知道這一面試時間(和原本預定的時間不太一樣),所以面試開始了一段時間後對接人打來電話我才知道要現在面試;隨後我又一直進不去華為的面試系統,導致又延期了半天時間,才開始了最終的面試過程。但是在最終的面試中,面試官老師依然還是很和藹,並沒有對上午我的延誤(雖然其實也不是我的問題哈哈哈,是我沒收到系統的通知)有什麼在意。面試過程中,面試官同樣是非常和藹,提問問題時也都很有耐心,會結合自己的實習、專案經歷來具體提問。
二面是在一面結束後1
小時開始的,而且這一次開始我也沒有收到什麼通知,還是面試開始了幾分鐘之後面試官發來提醒我才知道面試開始了。但同樣的,雖然還是遲到了,但面試官依然並不在意這些,面試過程中也是提問得很有耐心。面試過程中提問了一些比較基本的計算機八股知識,但是也都是先問“是否瞭解”,如果瞭解的話再進一步講一講,並不會強制提問。並且在演算法題目方面,我雖然得到結果了,但沒有用字首樹做出來,也就是沒有完成最優的實現;但面試官依然說沒有問題,能夠完成就可以。此外,可能由於這個是最後一輪專業面試,面試官也在面試完成後就當場宣佈透過了。
三面是主管面試,所以相對前兩輪面試,面試官會更嚴肅、更有壓迫感一些;但我也很喜歡這樣的氛圍,因為如果面試氛圍太友好的話,面試官可能就感受不到我抗壓的能力了。這一輪面試大致詢問了一些實習、專案經歷後,就將主要的時間放在了思維題目、場景題目與邏輯題目的考察上了。雖然沒有被問到那一道很出名的”牛過橋“問題,但是透過其他題目的詢問與思考,這一次也是親身體會到了華為對於邏輯題目的考察要求。此外,面試最後面試官也詳細介紹了所在部門、崗位的所在地與技術棧、具體工作內容等。
除此之外,在面試後,就是經歷泡池子、保溫、通知報批等環節了;這些後續環節,我在前期的部落格或者其他平臺也都分享過,且本文的重點也只是對3
場面試的記錄,因此這裡就不再對面試結束後的後續流程加以贅述了。
1 一面
面試情況
-
下午
17:00
開始,持續55
分鐘左右。 -
線上影片面試,
1
位面試官,為部門員工;面試官很和藹。 -
首先做自我介紹;提問
55
分鐘。
提問問題
- 對照著簡歷,再簡單介紹一下自己總體的實習、專案、科研經歷。
- 研究生是保研的嗎?本科和研究生所學的專業是否屬於比較專業性強、小眾的專業?簡歷中的專案都是本科、研究生階段的嗎?
- 個人對於未來工作安排、崗位方向有何想法?為什麼有轉碼的想法?自己希望工作晉升的路徑如何?
- 自己對於Groovy語言的接觸如何?都用這一語言做了哪些工作?在哪些場景下需要用到這一語言?
- 國家級獎項主要都是在本科階段獲得的,研究生階段獎項情況如何?研究生階段參與過哪些專案?這些專案的級別如何?是否有過研究生階段的國家級獎項?
- 介紹一下研究生階段關於葉綠素產品生產的專案經歷。具體都做了些什麼?遇到了什麼問題,其中最大的困難是什麼?自己學習到了什麼內容?
- 為什麼上述專案中的葉綠素產品原本會有缺失資料的情況?完成程式碼撰寫後,在程式碼部署方面遇到了哪些問題?你是如何解決的?最終提交給達摩院的程式碼是什麼狀態的?
- C++程式碼在編譯的時候,第三方庫是在哪一個環節加以連結的?在上述這一專案中,連結時第三方庫是靜態庫還是動態庫?是執行時的庫嗎?
- 你的畢業課題中,提到的時間序列重建演算法是什麼演算法,具體是怎麼構建的?所用到的神經網路模型的架構是怎麼樣的?這樣一個模型在本領域內當前的研究進展如何?你是否對其有一定創新,創新點在哪裡?創新點帶來的效果提升程度如何?
- 多工神經網路模型的“多工”具體體現在哪裡,是怎麼實現的?其與普通的神經網路相比,在哪些構造上有區別?其有何優勢,結果有何精度上的改進?其是否可以對具有一定相互關係的多個輸出結果加以更高效地預測?
- 在神經網路模型訓練、應用過程中,都是如何對模型的精度加以衡量的?多工模型是如何衡量精度的?如何對比多工模型與傳統模型之間結果精度的差異?
- 上述神經網路模型課題的內容中,你所完成的工作都有哪些?你的研究和目前很火的AIGC大模型研究之間有何聯絡,有何差異?你的神經網路模型的輸入資料是什麼格式的,是以向量格式來輸入的嗎?
- MATLAB語言接觸過多少?都基於其做過哪些工作、實現過哪些演算法?研究生階段為什麼用MATLAB比較少?
- 都參與過哪些實習專案?目前在滴滴的實習都接觸過什麼專案、做過哪些工作?在路網專案中,如果發現自有資料庫中的資料有問題,會進行哪些處理?這個過程是否是一個比較清晰、流程化的工作?
- 研究生階段植被遙感的專案具體是做什麼的?其和前面提到的葉綠素產品專案相比有什麼區別?二者分別處於完整專案流程中的哪一個環節?
- 上述專案中,如何量化不同環境因素對於目標因素的影響程度?這一量化演算法的具體實現過程如何,用到了哪些數學原理?
- 所擔任的研究生會副主席工作是哪一個級別的,校級還是院級?
演算法題目
- 找到多個字串對應的最長公共連續子串;寫在編輯器中即可,無需執行,寫完後需要講思路。
面試結束反問
- 無。
反饋情況
1
小時後,收到二面開始的通知。
2 二面
面試情況
-
晚上
19:00
開始,持續55
分鐘左右。 -
線上影片面試,
1
位面試官,為部門員工;面試官很和藹。 -
首先做自我介紹;提問
55
分鐘。
提問問題
- 挑選一個自己印象最深刻的專案,介紹一下自己完成的工作、遇到的問題、解決問題的方法、自己的收穫等。
- 在上述專案中,在開發環境配置、程式碼部署與應用方面你遇到的問題難點在哪裡?你的具體解決方法如何?其中對於Docker的應用程度如何?
- 在上述專案中,你們是如何與阿里雲對接的?需要給他們提交的程式碼是什麼狀態的?
- 你的畢業課題方向是什麼?這個是你的選擇還是導師的選擇?這個課題全部都是你完成的嗎?
- 上述課題中,神經網路模型的用處體現在哪裡?如何應用這個模型?在這個過程中,是否需要和其他課題組、部門加以協作?
- 上述課題中,具體需求、要做的內容是什麼?對此你都做了哪些思考?研究的創新點在哪裡?這一研究涉及到的資料量有多大?
- 上述課題中,輸入、輸出資料都有哪些?為了解決海量資料的資訊提取問題,你有哪些思考,都做了哪些資料或模型方面的最佳化?這些最佳化是源於你自己獨立的想法嗎?你所做的研究,在當前最新的深度學習、遙感研究領域,處於如何的位置?你的創新點具有怎樣的研究價值?
- 個人技術棧如何?筆試情況如何?當前的刷題情況如何?
- 程序間通訊的方法都有哪些?
- 在你的專案與實習經歷中,是否有過對程式設計模式方面的應用?你知道哪些程式設計模式?
- 個人對於資料結構的瞭解情況如何?樹都有哪些類別?二叉樹是什麼意思?平衡樹是什麼意思,有什麼特點?搜尋樹是什麼意思,有什麼特點?
- 對於計算機網路的瞭解情況如何?TCP和UDP都是什麼,有什麼聯絡與區別?二者各自的應用場景如何?UDP可以實現可靠的傳輸嗎,如何實現的?
- 深複製與淺複製有什麼區別?
- 對於字典樹的瞭解情況如何?
演算法題目
- 給定一段話與一個字首列表,對於這段話中的每一個單詞,如果這個單詞包含字首列表中的某個或多個字首,那麼就將句子中的這個單詞替換為這個最長的字首。
面試結束反問
- 無。
反饋情況
- 面試官當場表示面試透過。
3 三面
面試情況
-
晚上
18:30
開始,持續45
分鐘左右。 -
線上影片面試,
1
位面試官,為部門主管;面試官很和藹。 -
首先做自我介紹;提問
45
分鐘。
提問問題
- 都有哪些實習經歷?在滴滴的實習主要都是做什麼的?用過哪些程式碼語言?在實習過程中,遇到了哪些困難?你是如何解決這些問題的?你從中學習到了什麼?
- 在實習、專案經歷中,是否遇到過和別人的想法、觀點等出現分歧的情況?你是如何解決這些分歧的?解決的效果如何?
- 有兩個城市
A
與B
,相距50 km
,我們有100
根胡蘿蔔希望由A
地運送到B
地;有1
頭小毛驢,每次最多可以承載50
根胡蘿蔔,且其每行走1 km
就要吃掉1
根胡蘿蔔;請問最終可以運送到B
地的胡蘿蔔個數最多為多少? - 有
4
個人,需要划船過1
條河,每個人過河的用時分別為1
、2
、5
與10
分鐘;現在只有1
條船,每次最多乘坐2
個人,請問4
個人全部划船過河需要最少多久時間? - 如果你所負責的一個工作任務馬上就要截止了,但是突然發現有一個方面的內容有問題,工作任務無法按期完成,你會怎麼做?
- 假如你在一個沙漠中迷路了,很渴,此時突然看到一口枯井,旁邊還有一個破碗,你會有如何的想法?
- 是否瞭解、認同華為的文化?
- 你對於工作地點的意向如何?本部門所在的
4
個城市,你最有意向的是哪些? - 你是哪裡人?本科在哪個城市?
- 本科、研究生期間的學習成績排名如何?
演算法題目
- 無。
面試結束反問
- 自己剛剛的邏輯題目、思維題目解決情況如何?是否需要注重這方面的提升?
- 工作崗位的技術棧如何?是否需要補充硬體方面的知識?
反饋情況
1
天后,對接人通知已透過。
至此,大功告成。