面試前小插曲
這是第一次接受正式的電話面試,還是在這里記一下。
百度投了運維部智能平台研發工程師,14號投遞內推,17號HR打電話約第二天面試。結果因為面試官較忙,沒能安排面試,所以將面試推遲到了周末。
但是,也沒有說周末具體什么時間面試,所以心里也一直吊着,有點着急。
所以,以后可以和面試官或者HR溝通,確定在面試官某個時間段有空,安排面試,不要是一個很大的時間區間,無休止的等待。周末等了一天,大概直到晚上
八點左右,突然面試官打來電話,但因為還有一個筆試正在進行,所以和面試官溝通推遲到第二天再面,可是我也沒有和他溝通具體的時間,所以,這次以后一定要長記性,
盡量約定具體時間,不然又要等一天,果然,第二天面試官還是晚上八點左右打電話來面試。
一面:
面試時間:8.20 晚8點
面試我的是一位女面試官,很和藹。她不會在面試時給你壓力,溝通的時候感覺比較舒服。感謝。
1. 首先問的是我簡歷上的項目,她讓我選一個深刻的項目跟她講一下。中途她會提出一些問題,比如算法的一些細節,為什么那樣處理。感覺主要是為了確定項目是否是自己真正去做的。總共面了18mins。
反思:項目感覺自己准備的不充分,雖然都是自己做的,但是因為自己沒有事先總結,所以在面試的時候有些表述有點啰嗦,而且,有些算法有點忘了。所以項目一定要事先准備好,很熟悉。
2. 問我熟悉不熟悉操作系統,主要問了線程和進程的區別,系統調度的基本單位(線程),以及線程和進程的並發。
反思:因為事先也有准備,所以基本都回答了,但是肯定因為緊張,回答的不全面。
3. 問我熟悉不熟悉網絡,七層模型,TCP屬於哪一層,TCP與UDP的區別,三次握手,四次揮手。這些基本都回答了。
又問了解不了解DNS,之前只是看過一遍,有點忘了,所以直接說不會,其實,后來我又突然想起來一些,但也不全面。
反思:DNS也是常問的問題,最好都提前復習。另外基礎問題要熟練,回答要切中要害。
4. 問我對於運維的了解,說實話我不太了解,所以就照常說了,面試官也幫我說應屆生不了解也沒關系。
反思:既然投遞了該部門,大體的一些東西稍微了解一些也是應該的。
5. 遠程打開了一個在線編程平台,先是上面一段代碼,讓我分析有沒有問題,代碼不難,我應該找出了里面的主要問題,回答的也挺快。
然后,她給出了一個算數運算表達式,讓我說一下如何判斷這個表達式的括號正常匹配。也屬於基本問題,就直接答了用棧來實現判斷。大體思路應該沒問題。
后來,她又增加了一些限制條件,比如存在大括號中括號的嵌入如何解決。在她的引導下,通過設置優先級來解決。
反思:雖然思路沒問題,到具體實現代碼還是沒有完全的把握,要多練習。
6. 平時看什么書,通過什么來學習?回答了一些正在看的書,然后說通過知乎博客學習。
反思:這些問題經常問道,有時候也很難完全反應過來,可以提前想一下。
7. 最后,問還有什么問題需要問她。
我就問了對於應屆生,她們有什么建議。
兩點:注重基礎,另外對我的簡歷提出了建議,表述不要模糊,盡量用數字來說明效果。感謝!
面試結束,總共約45mins.
總結:可能是一面的原因,問的都是基礎知識,感覺不難。但是,關於機器學習的算法,一點也沒有問。是否應該引導她向着自己的研究方向去呢?
最后面試官說,會將自己對我的評價以及簡歷交給二面面試官,然后確定是否二面。
希望能有機會再面吧,也希望可以偏向機器學習問問。
繼續努力,夯實基礎,強化代碼,熟悉項目。
感謝面試我的老師!
2018.8.21
二面:
面試時間:8.23 晚7點
面試我的是一位男面試官,聲音很低,也比較親切。
1. 首先讓我自我介紹,然后就說到自己本科研究生都做了什么,然后就開始問項目。與一面不同的是,這次面試官對於項目的細節問得更多了,而且對於我所做的領域也有一定的涉獵,問到了里面一些方法,而且還問了與其他的方法相比有什么不同,為什么。另外,關於項目的難點,亮點,以及怎么解決的,都有涉及。兩個使用深度學習的項目區別在哪里,真正需要認真去考慮!還問到,項目中主要使用了什么語言?平時用什么語言。
反思:雖然總體而言,因為項目是自己做的,所以也算熟悉,但是,因為沒有事先准備,其實有一些細節算法已經記不清了。所以還需要針對性的做一些准備。另外,在我的表達上,感覺有些啰嗦。應該盡量簡潔,切中要害,回答盡量簡潔,表現出自信和專業性。另外,感受比較深刻的是,面試官對於語言表達的准確性和簡潔性要求很高,有幾次我描述比較模糊的時候,面試官就開始提醒我了。是的,要准確!准確!准確!
2. 問完了項目,然后面試官說我們聊聊其他方面的內容,問網絡我熟悉么,然后就問了一個TCP流量控制有哪些方法,原理,應用場景是什么。因為看完太久了,所以只記得有一個滑動窗口的算法。但具體原理和場景也沒有回答出來。尷尬.....
反思:其實一面之后,面試回答還可以,應該預感會有二面,所以關於她們喜歡問的網絡的知識問什么不提前復習一下呢,機會總是留給有准備的人。
3. 然后問了Linux內核,對Linux系統熟悉嗎?因為確實用的不多,所以回答了不太熟悉。運維部應該是要求熟悉Linux的,所以這個會對我的面試成績有影響。
反思:一般來講,好多公司招聘都要求Linux使用經驗,所以為什么不花點時間快速熟悉一些基本的最常用的操作呢?這其實也挺重要的。
4. 面試官聽說我C++還可以,其實這也被糾正了,只能說了解。就問了我C++多態,虛函數的實現機制。感覺答的還可以,面試官也認可。
反思:聽清楚面試官問題的真正用意,敢於發問,對於自己會的知識盡量體現出優勢。
5. 最后是一個一道算法設計題目,關於動態規划的。求一個數組的最大子序列的和。因為見過這個問題,直接說了動態規划,以及思路。然后面試官問了復雜度,回答了O(N*N),問還有沒有更好的解法,我說暫時想不到,不知道單調棧能不能用在這里,實現O(N)復雜度。。后來還問了動態規划解題的一般思路和適用於哪些問題。
反思:中間在回答動態規划的時候卡在了“無后效性”的解釋上,然后忘了接着繼續回答了,這也可能會讓面試官以為我根本不知道動態規划的解題思路。還有,這個題目的時間復雜度應該是O(N),我回答說錯了。總之,動態規划是經常會考的算法,務必掌握,熟練。
總結:
1)相對於一面的基礎,二面稍微有了一點深度,但問題主要還是集中在語言,計算機網絡,操作系統(Linux)還有算法這一塊。
2)二面距離一面大概有三天時間,其實在一面之后,知道有機會二面,而且知道喜歡問的知識點,如操作系統,網絡這些,在這三天時間里完全可以認真准備,這樣對再出現的問題肯定就會有更好的回答。
3)對於項目要熟悉,表達要精確、簡練、專業。
4)聽清楚面試官的問題,敢於發問。
5)動態規划,這類經常考的問題一定得熟悉,一般思路,以及實際編程都要掌握。
6)還是沒有問機器學習的相關問題,所以,可能運維部門不太需要做機器學習算法相關人員吧。。。
7)這次面試過與不過都看緣分,不過也正常,嘿嘿過了就更好了,感恩。
回答問題要明確,扎實。
上士聞道,勤而行之
中士聞道,若存若亡
下士聞道,大笑之
不笑不足以為道
共勉。
2017.8.24