一般面經很少會告訴你如何臨場發揮,我覺得這邊文章對你很重要。
程式設計測試
面試1. 程式設計測試
程式設計測試是很多大公司都會有的環節。有些考察演算法,有些是考察程式設計能力,有些是考察設計。內容要看面試官想考察面試者什麼能力有關。對於這種測試,很多人就要問了,「這不就和高考一樣,拿到題目做,不就完了,和臨場發揮有什麼關係?」。其實這和高考大有不同。
程式設計測試的時候你是面對著命題者的。而且命題者往往有他想要考察的點。但是命題者都是語文水平和我們差不多的程式設計師,題目就是他們隨便寫寫的。意思的表達多少會有點不清晰。那麼這個時候就是臨場發揮的時候了。
審完題不要急著做,先簡單思考一下命題者究竟想要考察什麼,題意究竟是什麼。然後把自己理解的題意講給命題者聽,問下他題目是不是這個意思。
無論你理解的對不對,都沒有關係,理解的不對命題者會給你指出,總比你把**都寫完了才發現題目理解錯了好。無論對錯,無形中都為自己加了一些分。因為這反應了你平時是乙個動手做之前,先把需求理解清楚的人。那麼題目理解完之後就可以直接寫了嗎?錯。
對於一道題目,一定會有很多解題思路和方法。高考的時候是你最後的結果對,那這題就能拿到滿分。但是程式設計測試可不是。使用了不好的思路和方法一樣會掛掉。那麼這就又到了臨場發揮的時候了!
明確了題目意思之後,先講「那我思考一下」為自己爭取一些時間。然後就讓自己的cpu跑起來思考吧,盡量多想幾種方案。然後把自己的方案講給命題者聽,如果能講出每種方案的優缺點更好。
有的人可能覺得做到這一點很難。其實在我自己的面試過程中,以及與其他人交流面試的時候發現,程式設計測試的題目一般都能做出來。掛掉的都是掛在方法上。如果水平不是太差,至少能想出一種簡單粗暴的方法。但是,如果你把這個寫下來,往往拿不到offer。所以講你的思路就很重要了。把你的思路和解題方法講出來,和面試官一起**。面試官往往會試探的引導你去尋找正確方法,這就又給自己增加了機會。當**到面試官滿意的方法,或者實在想不出來,面試官說「那你就按當前討論的方法寫吧」的時候再動手寫。
按照上面的方法程式設計測試下來,就算你沒有用完美的方法解題,也一定會給面試官留下乙個好的印象。
2. 面試
面試環節可變因素實在太多,問到自己沒有準備過的問題非常正常。遇到自己準備過的內容,精確正確的回答是最理想的。然而遇到自己沒有準備過的問題,也沒有必要直接說自己不會。往往一場面試下來,你發現有幾次「這個我不會」,那offer也就沒了。那麼怎麼樣在自己不會的時候也能給面試官留下好印象呢?
讓面試官重複問題(確認問題內容,爭取思考時間)
複述問題(讓面試官確認一下你是否理解了問題,同時爭取思考時間)
表明自己沒有研究過(讓面試官可以諒解,畢竟再厲害的人也有沒有研究過的問題)
請求時間思考一下(爭取時間,拼命想)
30秒到1分鐘後,講思路與面試官**,不一定要有答案(表明自己的思路,以**的方式和面試官交流,面試官會引導你向正確的答案靠近。)
舉乙個我支付寶面試栗子,聊到了資料庫分表,面試官突然問了如下問題:
假如有乙個交易表,使用者和商家每進行一次交易就會在交易表中產生一條記錄,那麼分庫分表,要按照怎樣的規則分。
這個問題我之前並沒有準備過。於是我說:「不好意思,我沒有太明白您的問題,您能否再重複一下。」,他重複一遍之後,我又複述了一下問題,得到了他的肯定之後,我說:「我之前沒有研究過這個問題,我現在思考一下可以嗎?」,面試官不會說不行的。
然後過了大概三四十秒的樣子。我回答:「對這張表進行分表的話,我們希望的效果是同乙個使用者的所有資料都在乙個表中,同乙個商家的所有資料都在同乙個表中。但是任何使用者是可以和任何商家交易的。假設乙個a表中的使用者和b表中的商家交易,那麼產生的資料就無法確定放在哪個表中,所以不存在這樣的乙個分表規則。」其實我在那段時間裡就想到這裡,在說這段話的時候想到的接下來的。然後我接著說:「那麼不知道是不是可以將這個表通過使用者分表,另外再維護乙個商家到原始資料的索引表。來為商家提供查詢。」然後面試官說:「這樣確實可以,但是有些麻煩,沒關係,我隨便問問的。」
如果遇到沒有準備過的問題,按照這個思路,最後只要說出一些自己的思路。即使思路不太正確。也比直接說不會好。畢竟誰都有沒有研究過的問題。這樣回答至少說明了你樂於去思考。
總結擴充套件閱讀
螞蟻金服面試經歷-前期準備
面試官想看到的以及面試者需要準備的!
如何準備校招技術面試+乙隻小菜鳥的面試之路
螞蟻金服面試經歷 臨場發揮
一般面經很少會告訴你如何臨場發揮,我覺得這邊文章對你很重要。程式設計測試面試 程式設計測試是很多大公司都會有的環節。有些考察演算法,有些是考察程式設計能力,有些是考察設計。內容要看面試官想考察面試者什麼能力有關。對於這種測試,很多人就要問了,這不就和高考一樣,拿到題目做,不就完了,和臨場發揮有什麼關...
螞蟻金服面試經歷 臨場發揮
一般面經很少會告訴你如何臨場發揮,我覺得這邊文章對你很重要。程式設計測試面試 程式設計測試是很多大公司都會有的環節。有些考察演算法,有些是考察程式設計能力,有些是考察設計。內容要看面試官想考察面試者什麼能力有關。對於這種測試,很多人就要問了,這不就和高考一樣,拿到題目做,不就完了,和臨場發揮有什麼關...
螞蟻金服面試經歷 臨場發揮
一般面經很少會告訴你如何臨場發揮,我覺得這邊文章對你很重要。程式設計測試面試 程式設計測試是很多大公司都會有的環節。有些考察演算法,有些是考察程式設計能力,有些是考察設計。內容要看面試官想考察面試者什麼能力有關。對於這種測試,很多人就要問了,這不就和高考一樣,拿到題目做,不就完了,和臨場發揮有什麼關...