1. 程式人生 > >wxg大資料中心面試總結

wxg大資料中心面試總結

過了幾天回過頭來看這個總結,是自己太幼稚了。

既然準備去面試,那這種大量資料的題目、這種紅黑樹原理的題目,這種C++特性的題目就應該去準備。

權當看個笑話吧

2018.3.30

-----------------------------------------------------------------------------------

評價下自己的表現,一面還可以,後面就陷入bug了

儘量不漏題

完全沒想法的,其實就四個題目: 一開始不會作業系統,兩個作業系統題。

後面一個 xxx為什麼沒有cpp檔案;一個紅黑樹原理。

被問紅黑樹原理我真的嚇一跳,面試官反問你都不知道紅黑樹原理,在做題的時候是怎麼從堆樹、伸展樹、trie樹、紅黑樹選擇一個合適的資料結構呢。(聽到trie樹的時候我感覺心裡一苦,這大概把我當成完全只會套資料結構吧…… 不過這裡幾個樹我還真就紅黑樹原理不知道啊) 紅黑樹就我打過的ACM而言,沒有遇到過需要手寫紅黑樹的情況啊,就我太菜了。

關於演算法題,心態很差:

       如果給出的題目很簡單,但是資料量很大。就開始懷疑自己掌握的傳統演算法合不合適。 可能是因為是大資料中心吧,每次的題目都會涉及到 大規模資料(2G的資料量), BigInteger 兩種中的至少一個。 一涉及到這兩個,我心裡就涼半截。    比如說某個常規nlog可做的題目,資料變成1e7個10^100000級別的大整數,假設10位4B, 4e11B的資料量……。我就會懷疑nlog是不是太慢了,是不是能壓到o(n)呢? 畢竟這麼大量的資料,給出一個稍微差一點的演算法,多跑的時間以分鐘、小時計啊。 而且提出一個要跑幾個小時的做法,不符合我的個人習慣……。每次被問到這種題目,都忍不住去想:標解O(n)甚至低於O(n)的吧……不會……  如果是要一個nlog的演算法,那大整數的意義是什麼啊???

   因為資料範圍和時限的模糊(主要是面試題不可能給你個時限……就是讓我知道別人的時間複雜度是怎樣的,我心裡也有點譜啊),陷入自我懷疑。

    二面白板寫題,給了一個基本上是 “給不知道多少個BigInteger, 然後BigInteger的大小也沒有直接的上限,求個和”這樣的問題。 瞬間害怕,兩個不知道,這寫出來的程式炸不炸感覺全憑想象力啊,會不會因為資料量太大直接加太慢啊,有沒有其他做法啊,和題目中的其他條件有什麼關係嗎? 然後顫顫巍巍寫了個字串模擬大整數加法…… (上字串模擬感覺實在是不應該,當時一時短路以為只能寫C++……好歹寫成vector形式的啊,不過當時大整數是一位一位給出的,習慣性就字串上了)

    然後整個面試過程中,常常出現同一個問題,我的關注點和麵試官的關注點不在同一個地方這樣的事情。比如二面第二題,很可能我一開始的方向是對的(與面試官無交流),然後出於謹慎向面試官提交了一個絕對正確的做法(其實我提交的做法可以進一步優化的)。完美避過了面試官想知道的“關於某個知識點我是否瞭解”。

    然後非演算法題,又另外一個模式了,演算法題終究是多個方案,你給出一個你認為最佳的。非演算法題,就像填空一樣,答案唯一的。 然後因為各種原因吧(主要是太菜),面試完了一百度,原來面試官想問的是這個……   (題目是:煤都是____   感覺答黑的、硬的可以燒的都不太對, 一百度……原來問的是撫順……)

超坑的,我好久沒看過自己的部落格了,面試官看了下blog, 他面完我上來一看。好幾篇轉載…(因為這幾篇都是學習筆記吧,可以說,就看完好幾個別人的部落格,然後總結寫一個。因為其中有很多精彩的東西都是別人想到的,所以感覺寫成原創不太合適。但事實上是我一個一個字打出來的啊,不僅有別人的想法,還有我自己的理解的,不然直接看別人的就好了,幹嘛要重寫,感覺把自己坑了,以後都寫原創了)

很可惜,wxg的崗位是非常心儀的崗位,但因為各種原因吧,第一個面的騰訊,沒經驗,準備不充分,太菜……涼涼