第一面沒問算法,直接問項目,首先我解釋了幾個課程設計,後來按着機器學習一直問。。沒怎麼回答好。。後來說了一下簡歷寫的個小遊戲。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ㄒ)/~~
面試真的靠緣分和運氣嗎,感受水過的。
一面問,寫個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,告知薪資之類的。
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月初,校招還未正式開始,基本都是內推的。不知道校招會是什麼狀況,可是如今來看,內推已佔坑不少了,你們仍是早開始早準備。前期我是海投的,包括一些小點的公司,面試了不少次,無數次的自我介紹、項目介紹。 注意一下,有的公司校招和內推不影響的,內推掛了能夠再參加校招,而頭疼是內推掛了,校招也不能參加了。通常來講,部門之間的內推面試不衝突的,好比百度能夠面試好多部門。另外除了公司官網,要常常逛逛 北郵人 牛客等,多關注一些內推公衆號, 多發現招聘消息,多點機會!