面試經歷

昨天經歷了第一次面試,是應聘頭條的數據抓取崗位的實習生。從3月開始就很關注實習生招聘了,然後補各種知識、投簡歷了,在牛客網上看各種面經,做做題。我簡歷裏除了競賽外沒啥東西==,沒啥項目經歷感覺有點虧啊。。大多數簡歷都石沉大海了。收到第一個HR的電話是滴滴的,問我什麼時候能實習,我說得暑假,她說需要現在能實習的。。第二個也就是頭條的了,很感謝頭條能給我這次機會啊,於是就有了我昨天的第一次工作面試的機會,不過面試的時候真是有點緊張啊。


今日頭條(數據抓取實習生):

面試官一來就讓我說一下我的競賽經歷,不應該先自我介紹的麼==。於是我就準備長篇大論跟他講講了,從大一開始。。。講了沒幾句就被打斷了,說,其實我只是想知道你在競賽中的職責、任務是什麼,擔任什麼角色。。然後我就說我主要在競賽中做算法分析的,對於某個題目要用什麼算法實現等等。。感覺沒講清楚。。接着就給我一個題目:在一個整形數組中找和等於k的兩個數,問是否存在。電話那邊的聲音感覺好模糊,總是聽不清楚。終於聽明白後感覺這題很簡單啊,用個二分就行了。我想慢慢來,所以跟他說兩個for循環遍歷找一下就可以啊。他問時間複雜度,我說O(n^2).他說這複雜度肯定不可以啊。於是我說先排序,然後遍歷一遍,對於每個ai都二分查找k-ai是否存在。然後他說二分是針對整個區間還是怎麼?我說是對於整個數組進行二分啊。他說這樣會不會有什麼邊界情況出現,有沒有什麼問題?我想了想說應該沒什麼問題吧。。其實此時我的思維已經有點混了,感覺慌慌的。。於是面試官說加入k=4,數組只有一個元素2,那麼你那樣算不會有問題麼。。啊,糟了,我怎麼這個都沒想到。。於是更慌了,想了想說其實只有這一種bug吧,只要用hash判斷數出現過的次數就可以了,大於1才行。。啊啊啊,我tmd到底在說些什麼啊,蠢b了。然後面試官正要說些什麼,但此時我又想到了另一種解法,跟他說了下,於是面試官只好又跟着我來到了第三種解法。我說其實只要用hash記錄每個數出現的次數,然後再遍歷一遍數組,對於每個數ai都可以判斷k-ai是否存在就可以了。然後他問我時間複雜度是多少,我說要看hash的時間複雜度是多少,於是他又問hash的時間複雜度是多少,我說如果將數字作爲數組下標的話就是O(1)的,如果用hash函數的話應該就是O(log(n))的。他說爲什麼是O(log(n)),這是平均時間複雜度還是最壞的時間複雜度,我又有點懵了。。他又說hash的最壞時間複雜度是多少,我說如果最壞形成鏈表的話是O(n)的,他好像表示贊同,但還又問我那個O(log(n))是怎麼回事。。實在有點懵了,沒說出來,因爲用多了C++裏的map,聽誰說map裏的實現是log(n)的==

接下來面試官就說我簡歷上說學過python,那有沒有做過什麼pyhon的項目。。我說我寫過爬蟲登錄==,哎,我都不好意思說。。然後他問是那個網站,我說CSDN。他又問登錄名以及密碼是否有加密,我說沒有,我還在想這個爲啥要加密啊。。直接post過去就行了啊。。接着又問我HTTP傳輸的包的內容是什麼,,我又懵了一下,半天才說好像有個HEADER,裏面有個代理什麼的,還有一個反盜鏈什麼的。於是他問我反盜鏈是什麼,講一下。這裏我講得結結巴巴,本來感覺挺理解的東西,但一講就講不清楚,好鬱悶==。接着又問我還有什麼項目沒,我說我做過一個小遊戲。他說用什麼語言寫的,我說用Java,然後他就沒問了。最後又給了我一道算法題:一個關鍵字帶有一個生命週期,給你n個這樣的關鍵字,在接下來的每個時間點中又會新加入一個關鍵字,讓你接下來每個時間點找出有沒有生命週期已經結束了的關鍵字。比如一開始有生命週期20s,30s的兩個關鍵字,每次他們都要減少1s時間的生命,在20s時第一個關鍵字要過期了,在30s時第二個關鍵字要過期了。一開始我想只要用優先隊列就行了,但由於中間會實時插入一些關鍵字,這樣的話我只能每次都遍歷所有關鍵字,然後它們的生命週期時間減一。時間複雜度太高。一開始沒想出來後面就完全沒法靜下來想了。。面試官提示可以將它們轉化爲相對的時間就可以了,但我還是沒法冷靜想了,想了幾分鐘還是不行。。但我感覺應該不難的啊,只是我太緊張了==。哎,最終就這樣匆匆結束了,40分鐘不到。他也沒問我需要問什麼,感覺要掛了,的確下午就收到郵件把我拒了。


總結:

第一次面試,還是有點緊張,沒辦法。。一開始的那個簡單算法題我居然還沒想好,二分的話只要對ai後面的數進行二分就可以了。。還有我對於面試官的問題不總是答的那麼直接,經常會扯點其他的,不夠簡便,不夠清晰。。對於不是很清楚的東西就不要提,爲難自己。。最後的那個算法題今天早上想了一下就想出來了,只要設置一個初始的計時器,每次加一。對於新加入進來的關鍵字,將它的生命週期的時間加上當前的計時器時間作爲新的生命週期插入進去就行了,當然也需要優先隊列(堆)維護。在面試過程中我覺得勉強還行,但面試完後仔細一想發現自己其實答得很爛。。在項目以及各種知識點方面不行,於是當他最後又問我一個算法題時就是想看我這方面,也是唯一的方面有沒有特別強,以掩蓋前面的弱項。但最後沒有答出來,肯定就沒希望了。感覺在答思維題這方面需要很快能想到,一下想不到 後面就很難再想清楚了。


發佈了161 篇原創文章 · 獲贊 45 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章