2018屆小碩程序員的秋招征程|掘金技術徵文

我來自中科院某研究生所計算機專業, 大學也是軟件工程專業。讀研時方向混亂,實驗室呆着也沒啥項目,論文沒有,實習沒有(只有本科的渣創業公司實習),原本是想要找算法崗,後來感受背景不夠,競爭激烈,只能轉戰研發崗,找一些要求不那麼專業的崗位。

前期準備:

  • 關於刷題:刷題很少,leetcode有150+道,8月就沒刷題了,我是按照leetcode tag 標籤刷的,有鏈表、樹、二分查找、hash表、堆等分類標籤,我刷題完了在我的博客上記錄了一些當時刷的題,偶爾會回顧一下(很是偶爾)。。我的leetcode題解
  • 關於語言: 其實讀研,沒搞什麼研發的高大上項目,有個java 的水項目。對c++我也只是停留在課程設計水平。。因此準備看看java. 相關的書就是《深刻理解JVM》, 《java併發編程的藝術》。。我我的沒咋看,就看了幾章JVM, 其他時間看了點java面試題。 因此java崗的面試,我很吃力。。。那些不怎麼要求語言的,還能對戰幾面。。。
  • 關於計算機基礎      操做系統問的多(進程線程,通訊),網絡(TCP UDP HTTP)網絡編程(selector, poll , epoll )
  • 關於偷懶        偷懶的我,好多東西都是在面試中學會的,由於本身基本處於焦慮狀態,專業書本也看不下去。。總結下面試,不少時候也有重複的問題的。好屢次面試都出什麼大文件裏查找的問題。再就是看《劍指offer》 《程序員面試寶典》,會發現不少面試題似曾相識吶。。啊哈哈哈 面試官陪你一塊兒寫算法題,感受也是一種鍛鍊和提高。。
  • 關於小技巧   面試過程當中,遇到會的算法題,不要寫的太快。僞裝有個按部就班的思考過程。有的面試官可能不看重你是否作出來,而是看你思考的過程吧。 另外面試官一直否認你的時候,氣場千萬不要弱! 若是他是真的不看好你,你再低姿態也沒用,反而本身不開心。 萬一他是考驗你的自信心呢? 若是 我再遇到面試官一直嘆氣質疑你項目太簡單,技術過期的話,我會首先認可在學校確實和企業有差距,可是IT技術原本就是突飛猛進的,我有學習能力,我以前都能搞出來,新東西確定也能很快搞定吶!必定要相信本身!!絕對不要慫!

春季實習面試

2017微軟轉正實習生

  • 第一面沒問算法,直接問項目,首先我解釋了幾個課程設計,後來按着機器學習一直問。。沒怎麼回答好。。後來說了一下簡歷寫的個小遊戲。html

  • 二面開始問我迷宮查找怎麼實現的,就是深度優先和廣度優先的搜索。問了倆算法,比較簡單:一個是樹的層序遍歷,另外一個求通過root的兩個樹節點之間的路徑長度。手寫代碼,講思路和測試用例。另外引伸了一下求兩個節點的不通過root的最短路徑長度。我說要求最近公共祖先,可是代碼還沒想出來咋寫呢,時間也差很少,就結束了二面。java

  • 三面居然問一些語言特性。。java hashmap 和 hashtable的區別(線程安全)。。c++ virtual, 析構函數,重載重寫。按着線程安全的問題問啊問。。我就知道互斥鎖。。最後給看了一個c語言strtoken函數的定義,而後白板實現。自我感受這個函數寫的差很少,就是前面一些語言特性沒回答好。。 對了,由於strtoken 不是線程安全的,面試官又問我該咋辦。。我又只能回答說加鎖。。。。。。mysql

微軟的消息等了過久了!!備胎一個月了,蘇州那邊打電話問我能不能去蘇州實習。。而後說不太能夠。。畢竟學校在北京。。而後GG了。。如今後悔,不應爲了怕導師而拒絕微軟啊,校招的時候實習經歷仍是比較有份量的。linux

小米實習面試

  • 1  最近公共祖先。 若是有parent 指針, 至關於求兩個鏈表的交點了。若是是普通二叉樹就遞歸判斷。 當初沒好好刷題呀。leetcode.com/problems/lo…c++

  • 2  旋轉數組二分查找git

最後小米實習去了一週。迫於導師淫威, 怕怕地辭職了。太慫了。。並且等我辭職後居然放假了而且導師也對咱們找工做放水了!! 又心塞!!!程序員

頭條實習面試

一面掛。 問求第k大個數字。用快排寫的。 寫的比較慢。 又問項目。感受沒亮點。 掛!github


內推秋招

百度複合搜索提早批面試

  • 一面: 進程線程,三次握手,死鎖以及怎麼處理。項目。 算法題:兩個鏈表求交點
  • 二面: 1) 智力題, 一個密碼鎖有6個數字, 求不當心拿反了仍是正常數字的機率;求不當心拿反了和拿正的數字同樣的機率 2)算法題,一個數組 1-n 中缺失了一個數字。查找到那個數。 我用二分查找作的。 3)面試官感受不懂機器學習, 讓我講了下svm, 給她說了下原理。web

  • 三面:部門經理,有點傲氣。。喜歡打斷人說話,問職業規劃之類的(職業規劃真的會有不少人問到,好好準備)。問有沒有男友(懵逼),問對頭條和百度的見解。 問遇到困難怎麼解決,我一不注意說Google一下。。而後立刻意識到啊這是在百度啊。。接着添上 或者百度一下。。。面試

最終說兩週給消息, 也沒給。掛了!!/(ㄒoㄒ)/~~

360中科院專場

面試真的靠緣分和運氣嗎,感受水過的。

  • 一面問,寫個atoi吧,考慮好各類狀況。 我就寫。。剛寫了兩分鐘,面試官忍不住了,你咋寫這麼多。。。我說我得考慮充分啊,他說別寫了講講吧。。。就講了下。而後又問,編輯距離知道嗎?我說動態規劃,剛要寫,而後他說好,知道了不用寫。而後問了下svm,gbdt 的東西, 就過了

  • 二面說,山東人啊。。360好多山東人呢。。哎你這項目都是工程的呀,咋來找算法,我說由於熱愛 = =(心裏:我就是試試看啊)。 沒寫算法題,聊了聊項目,問svm 摺頁損失公式,並問L2正則做用。居然過了(黑人問號??)

  • 三面hr: 自我介紹,優勢,對360的瞭解, 對人工智能研究院的瞭解。。。

目前狀態是進入offer(備胎)池, 聽說360以往也是這樣的狀況,會有不少人選入備胎,有效期到年末。聽說有師姐在備胎好幾個月後收到了360offer...因此你們保險起見,不要以爲360三面過了就穩了。。基本當沒有這個備胎。。

百度本地鳳巢

  • 一面:因爲我簡歷寫的熟悉java, c++略懂,他就問了下簡單的c++的語言特性, const 關鍵字。面試官很nice,告訴我別緊張。。就想了解一下我會的東西。而後問了排序,按某種分類把排序算法分類一下。我按時間複雜度分的。後來又問了下各個排序的原理講了一下。 算法題:記不太清了,就是一個二叉樹遍歷的變形,輸出二叉樹中路徑尾節點能被5整除的路徑?寫了個遞歸的,又問非遞歸的。。大體說了下。他問,是否是刷題挺多。。我說,你們都會刷一些吧。。。問用linux開發嗎?我說寫過c/c++ makefile。 面試官就噼裏啪啦記錄。

  • 二面:shell 命令。。不熟, 問怎麼用shell腳本寫內存監控,直接說不會。 後來又讓我用shell查找統計一個文件裏的幾行記錄,我說我用sql吧。。。。面試官無奈地點頭了。後來問 linux 讀文件的時候內核發生了啥?而後問了selector, poll epoll... 當時都沒看(如今也沒來得及看 = =), 就記得selector 監控多個io通道啥的,大體說了下。 算法題: minstack. 參見劍指offer,可是第二個棧不用每次都push min

  • 三面:開放題。 問了搜索相關的。 問好多url,裏面可能有好多重讀字段怎麼存儲。開始說前綴樹,想了想,說先按照? / 分詞, 存儲倒排索引。面試官莫名以爲我不錯,但我本身感受二面三面答的都很差。

最後百度提早批只有這一個部門過了,而後百度提早批通常是面試經過後經理或者hr要你身份證號,通知你9月初筆試。筆試經過後10天左右告知。9月底會發正式offer,告知薪資之類的。

百度金融

  • 一面 java 內存結構, 程序計數器存的啥?爲啥創建鏈接三次握手,而釋放鏈接要四次揮手?(把過程說了下,說四次揮手是由於服務器還要發數據給客戶端,發送完畢後還要肯定一次,不知道對不對)算法題:1)兩個字符串中,一個字符串相比另外一個字符串少了一個字符,找出來這個字符。 我說排序後用雙指針或者hash表,寫了代碼。2)算 a + b, 不能用加號或減號。說了用位運算,可是進位那裏卡殼了,正確答案見blog.csdn.net/unimen/arti…
int add(int num1, int num2)  
{  
    if (0 == num2)  
        return num1;  

    int sum = num1 ^ num2;  
    int carry = (num1 & num2) << 1;  
    return add(sum, carry);  
}複製代碼

        3) 二叉樹中序遍歷,遞歸 非遞歸都寫了遍。。。

  • 二面, 問項目,而後看到我有個模擬挖礦(比特幣相關的東西)的小應用,和金融比較相關,就簡單介紹了下。覺得我懂區塊鏈之類的,然而並無。算法題!鏈表帶random指針深拷貝的問題!! 我居然忘記咋作了,一直在想不用hash表的那種算法,最後面試官提示能夠用額外的數據結構,就說了用hash表存原節點和新節點的關係。完整答案:www.cnblogs.com/chrischennx…

  • 三面 人生理想,職業規劃,性格優勢。 而後說我不大自信。之後面試要自信

鏈家

5個筆試題,現場筆試後再面試。

  • 筆試
    1 數組中超過一半的數。 blog.csdn.net/lskyne/arti…
    2 括號是否是合法匹配, 用了個棧
    3 m個連續珠子有n個不一樣的顏色,求最小包含n個顏色的連續珠子長度 blog.csdn.net/zhccl/artic…
    4 一堆ip訪問記錄(ip, 時間),若是10分鐘內連續訪問超過1024次就是非法的,找出這些非法ip
    5 判斷循環依賴。(圖裏是否有環,應該是用拓撲排序)

  • 一面: 線程有沒有本身的獨立資源? 三次握手過程。 b+樹 data存在哪?(葉子節點),葉子節點有聯繫嗎?(有,鏈表相連的形式)爲啥?(方便遍歷,區間查找) 你以爲筆試題能答多少分?我說七八十吧,他說差很少。說他以爲沒啥問題了, 問了解鏈家嗎,我說。。租房賣房的吧。。。北京好多門頭店啊。。。最後又說鏈家技術不錯。。

  • 二面: 鄙視個人項目,以爲太簡單。。 哎, 我也知道啊。。我也很絕望啊。。。寫了個sql,問職業規劃,我說作搜索相關的吧。。他說鏈家沒有。。我說比較偏算法的研發吧,他說這說法好虛啊。。。最後說 嗯你等一下我考慮一下吧。。。而後過幾分鐘給我掛了。 感受職業規劃真的挺重要的,雖然以後不必定按本身說的作,但仍是要大體有個規劃,讓面試官以爲 你這我的是對本身負責的。 因此我職業規劃是什麼,我研究生上的這麼雜我也很絕望啊。。。。

網易有道

算法崗, 不match. 看我簡歷後,說他們主要是搞深度學習,象徵性地問了幾個算法題。記得一個題大約是:
www.cnblogs.com/huangwei102…

百度運維

數據庫索引 用了什麼數據結構, 和紅黑樹區別
hashMap 初始化多大, 何時從新擴容
兩個鏈表判斷是否有交點
翻轉字符串 in-place "how are you" 轉成 「you are how」
三次握手; 四次揮手何時是在 time-wait 狀態
http 協議組成部分
jvm 垃圾回收, cms 收集器
elatic search 索引合併?
線程 interrupted 是進入什麼狀態
讀寫鎖 : 讀寫鎖特色:
1)多個讀者能夠同時進行讀
2)寫者必須互斥(只容許一個寫者寫,也不能讀者寫者同時進行)
3)寫者優先於讀者(一旦有寫者,則後續讀者必須等待,喚醒時優先考慮寫者)
jvm OM 異常 一般是怎麼個狀況, 如何調優。。。

而後電話面試完就再沒消息了。。

華爲優招

啥也沒問基本。。聊項目也有沒有引伸出一些知識點

祖龍娛樂

1 給一個java 程序,說出執行期間,jvm各個內存存儲數據的變化,包括各個變量存儲在哪,對象構造的過程,程序計數器,棧的壓棧返回過程。而後評價我答的不太具體,只是說了各個數據的存儲區域。

2 申請了不少 對象, 會出現什麼問題? 各個內存區域都有可能由於什麼而出現問題?

3 垃圾回收算法
說了eden和 survivor 後, 讓具體描述那個 8:1:1 怎麼複製回收的

4 判斷html 字符串是否合法, 給合法的標籤列表, 要合法不能不一樣的標籤相互交錯。

5 account (aid, money)
設計 addMoney, subMoney transMoney(Account a, int money) 的線程安全的算法。
我寫了以後,忘記考慮money的正負 是否溢出的狀況,把我鄙視一番。 還有轉帳的方法, 兩個對象都加鎖,會形成死鎖產生, 他問我咋辦,我說一次都申請了,寫的代碼成了整個串行的了。 最後纔想到 按順序申請,能夠每次先給id小的account對象加鎖, 然而他已經對我完全失望。其實感受一開始就對我沒抱但願的樣子。

頭條校招內推面試

  • 一面: (1)大文件100億個數字,求前m大的數 (2)進程和線程區別,啥時候應該用多線程,啥時候用多進程。 線程的好處? 協程?www.cnblogs.com/lxmhhy/p/60… (3)索引爲什麼用b樹 不用二叉樹 database.51cto.com/art/201504/…索引很大須要存到磁盤,高度小了,須要的io操做少(4)兩個有序數組,求第k個數, 說了雙指針的作法,O(k), 面試官讓想更優的, 沒想出來。應該是用二分查找的方法。 bookshadow.com/weblog/2015… (5) 看什麼技術類的書籍,講講jvm裏都講了啥。

  • 二面:(1) 面試官脾氣很好。。問了下數據庫事物隔離,一開始說不大瞭解,忽然想到以前看了髒讀,不可重複讀,幻讀。。說了以後面試官也沒深刻問。http://www.cnblogs.com/zhoujinyi/p/3437475.html 而後問mysql的一些問題,爲什麼通常不用select *, 要用select 須要的字段呢?嘗試回答了,不大對,面試官就解釋了一遍。。我忘了他講的啥了。。。好像以前還被問到 limit 分頁的數字大爲啥效率會變低。。數據庫不太瞭解。

  • 三面 :(1) 問了jvm的, gc, 怎麼判斷對象存活。 volatile(兩個特性) sychronized: 修飾一個類,其做用的範圍是synchronized後面括號括起來的部分, 做用的對象是這個類的全部對象。 修飾一個方法,被修飾的方法稱爲同步方法,其做用的範圍是整個方法, 做用的對象是調用這個方法的對象; 修改一個靜態的方法,其做用的範圍是整個靜態方法, 做用的對象是這個類的全部對象;修飾一個代碼塊,被修飾的代碼塊稱爲同步語句塊,其做用的範圍是大括號{}括起來的代碼, 做用的對象是調用這個代碼塊的對象; wiki.jikexueyuan.com/project/jav… (2)實現LRU O(1) 可是面試官描述得有問題,說使最近用次數最少的blabla..,我說你說的是LFU啊,不是LRU. 他說差很少!!??說了LRU的數據結構,他又說加過時時間怎麼整。。 我只能想到O(n)遍歷刪除的。(3)後來寫了求樹中兩個子節點直接最長距離的。。差點沒寫上來。 一開始想對每一個節點求左右高度,有重複計算,後來寫代碼時,就想到在遞歸中能夠求一遍就行了。寫好了面試官問了下邊界狀況,檢查了下沒問題。。而後說今天面試結束了,平常提問環節。。 瞎問了點問題。。

最後面頭條的感覺:感受面了假的頭條。。 頭條實習一面掛的陰影還在, 咋還能給我終面過了。面試真是運氣+眼緣啊。忐忑。 hr說九月中下旬給通知,也還不必定給offer。

小米內推

一面: 瞎扯項目, 算法題: 二維數組中,每一個元素有個數字,求某一個點到任意一點的sum和(只能向右或者向下) dp記錄到每一個點的sum。 第二個題, 求一個字符串,包含一個字符集的最短長度。網易有道一面題

二面: 項目,講了java 內存。進程線程。 26進制轉換。 一堆ip中,查找一個ip是否存在。

最後問能不能實習。好多公司都但願是先去實習。最後微信問了面試官結果,說是經過,再給hr報備。


最後總結: 目前9月初,校招還未正式開始,基本都是內推的。不知道校招會是什麼狀況,可是如今來看,內推已佔坑不少了,你們仍是早開始早準備。前期我是海投的,包括一些小點的公司,面試了不少次,無數次的自我介紹、項目介紹。 注意一下,有的公司校招和內推不影響的,內推掛了能夠再參加校招,而頭疼是內推掛了,校招也不能參加了。通常來講,部門之間的內推面試不衝突的,好比百度能夠面試好多部門。另外除了公司官網,要常常逛逛 北郵人  牛客等,多關注一些內推公衆號, 多發現招聘消息,多點機會!

相關文章
相關標籤/搜索