前言
寫在前面的話,說到大廠人們無非現在想到的不是BAT,但是我想說的是位元組現在已經有后來居上的趨勢,以后肯定不會比現在的BAT差太多!今天分享的是一個朋友的位元組跳動四面面經,他自己都沒想到看完我的面試資料真的面進去了,下面是他的面試題和程序分享,需要面試資料的朋友點擊這里備注csdn即可免費領取,誠意滿滿!
一面 11.10 :44 min
-
說下專案,
-
執行緒與協程,(協程不會)
-
DNS查詢,
-
DNS投毒,(不會)
-
堆和堆疊的區別,
-
堆什么時候做記憶體回收,(錯了一半)
-
專案有無用過多執行緒,(無,只看過書上的demo)
-
多執行緒的引數,
-
用過哪些設計模式,我說單例、工廠、觀察者、代理模式,(他想讓我說策略模式、裝飾模式和配接器模式,但這三個我都不知道)
-
說一下代理模式和使用場景,
-
Redis字典結構、擴容,
-
HashMap解決Hash沖突的方法,
-
MySQL的二叉樹、B樹、B+樹、Hash索引比較,二叉樹的缺點,
-
MySQL的可重復讀是怎么實作的,MVCC怎么實作的,
-
MySQL如何判斷死鎖,回滾的時間是空閑的,能做什么優化,(優化不知道)
-
行程間通信方式,舉例說明一個,(舉例說明不會)
-
一個跟記憶體泄漏比較相近的詞,問我有沒有聽說過,具體忘了,答沒有,
代碼:二選一,做的第一個,沒bugfree,改動了一次,挺遺憾的,
- 字串最長子串
輸入: “abcabcbb” 輸出: 3 解釋: 因為無重復字符的最長子串是 “abc”,所以其長度為 3,
輸入: “bbbbb” 輸出: 1 解釋: 因為無重復字符的最長子串是 “b”,所以其長度為 1,
- 給定一組正整數,重新排列它們的順序然后組成一個最大的整數
輸入: [11,5] 輸出: 511
輸入: [3,30,34,5,8] 輸出: 8534330
反問:
問部門語言
是不是ToB
跟商業變現的區別
我看有些面經都直接問自己過沒過,面試官會直接說,我也問了自己過沒過,他說等hr通知,我心里咯噔一下,但覺得不至于不過,也不怎么慌,
五點四十五左右面完,六點半hr回復我了,六點四十的時候二面hr就給我打電話預約下次面試了,約到了第二天兩點,不得不說,位元組效率拉滿,
二面 11.11 54min
-
問了什么時候能實習,實習多久
-
專案里的登錄狀態怎么做的(一開始說的SpringSecurity的過濾鏈,看他表情好像說的不對,他給了點提示,我問是說cookie嗎,他說對,然后開始說cookie)
-
cookie與session區別
-
行程間通信方式,每個詳細說明(一面問過了,可能一面答得不好,被標記成答不出來了,所以又問了一邊,還好一面結束后好好背了一下)
-
url輸入后的程序,https版本,順便說了數字簽名、證書,session-key的建立
-
TCP三次握手、四次揮手
-
TIME_WAIT作用
-
HashMap原理和擴容(腦子一緊張,擴容給忘了,想了能有10秒鐘)
-
HashMap是否是執行緒安全的,從你剛才說的頭插法插入鏈表說一下為什么不安全,是一個什么樣的程序
-
如果想要實作HashMap執行緒安全,要怎么做(我問可以直接說ConcurrentHashMap的原理嗎,他說最好是根據HashMap的問題,一步步推匯出來,然后我就對比了HashTable、HashMap說了一下,最后說到為了保持可見性和速度,value用volatile修飾,引出了下面的問題)
-
volatile性質(說錯了,挺離譜了,我先說了可見性和原子性,又說了++不是原子性,自己打自己臉,面試官說那到底是不是原子性,我說部分原子性,他說不是原子性)
-
什么是原子性
-
快取行原理(說錯了,我說快取行在記憶體里,他說不對,然后說CPU什么的,我說不了解)
-
CPU調度(不會)
-
volatile為什么使用快取行
-
volatile對于64位快取行的優化
-
網卡的作業原理(資料到網卡,從網卡讀取出來的方法等,不會,只知道到了網卡怎么出去)
-
使用TCP的時候網路擁塞的處理(我答的流控制、滑動視窗那一套,看面試官表情應該是沒錯)
-
滑動視窗大小如何確定
-
TCP擁塞控制
-
TCP連接的時候的攻擊了解嗎(我說了一直發送SYN讓服務器多個連接處于SYN_RCVD狀態來消耗服務器記憶體,他問我確定是記憶體嗎,我說是吧,不太清楚)
代碼:基礎題型,Bugfree,
給定一個僅包含數字0?9 的二叉樹,每一條從根節點到葉子節點的路徑都可以用一個數字表示,
例如根節點到葉子節點的一條路徑是1→2→3,那么這條路徑就用123 來代替,
找出根節點到葉子節點的所有路徑表示的數字之和
反問:
問了結果,面試官一開始不想說,最后反問快結束的時候給說了,說給過了,基本符合他的預期,
問了三面側重點在哪,是專案還是基礎,面試官笑了,說不知道,說他自己看重基礎,說他自己不了解三面,
問了新人怎么培養,面試官說有官方培訓還有組內交流,
問了實習生多久參與線上專案,面試官說一個周,基本把實習生當正常員工用,面試官還問了有沒有轉正需求,我說有,
三面 11.12 25 min
-
問我投沒投別的公司,我說就位元組和滴滴,然后問我為啥沒投其他廠,我說美團、阿里現在不招,騰訊感覺語言方向不太合適,不太想去,
-
讓我對自己的基礎狀況做個評價,我說我對計算機網路、MySQL、Redis比較熟悉,作業系統相對薄弱一些,
-
問我考研專業課考了什么,我說只考了c語言和資料結構,還有部分演算法,當時他聽到后還挺吃驚的,又確認了一遍,覺得學的太少了,到這我就感覺不太妙了,
-
手撕生產者、消費者模型,10個生產者,10個消費者,佇列容量為30個,沒寫出來,這個怪我,之前看了一遍還手寫了一遍,但是當時都給忘了,能有10分鐘,沒寫出來,然后他說“你不是看過嗎”,我說有點忘記了,
-
講講同步IO、異步IO、(還有個IO我不記得名字了),從用戶態與內核態的角度講一下,(不會,都說了作業系統薄弱,還問我這種問題)
-
專案為什么用SpringBoot,
-
知道事務的傳播嗎,(沒了解過)
-
對于Spring你了解什么,我說了IOC和AOP,然后他問使用AOP的好處是什么,
-
設計模式了解嗎,說一下策略模式,這個我準備了,看的大話設計模式,舉了滿減、優惠例子,還說了抽象類、實作類、工廠類、客戶端做什么,然后他說我說的不對,不是策略模式,我就問那我說的是什么模式,他說有點像模板方法模式,然后問策略模式的好處,
-
說說自己有什么優勢,好像是這么個問題,就是問學習狀態之類的,我說專注、效率高之類的,
-
問我能不能接受半年且沒有轉正機會的實習,聽到這我挺火大,雖然三面面的有點稀碎,但我就這么差嗎,半年就半年,連轉正資格都沒有,我又不是非吃你這口飯不可,然后我就說不太想考慮,
反問:這塊我就知道自己涼了,那既然都到三面了,也不能白來,你們部門干嘛我也不感興趣了,又進不去,就問了下面試官對于面試者的考核問題,還問了下問什么三次面試都幾乎沒有提及Redis,是不是部門里用的少,他說不能說,然后說就到這吧,我說好,就結束了,
結果:11.16接到電話了,說三面表現不好,面試官給的結果是待定,換個部門加面,然后約到了11.19號,
四面 40 min
面試官說咱們先做個題試試,我說可以,我一說他啪的就把題目打在了公屏上,很快啊,然后上來就是一個"二維陣列查找",一個"2*N鋪瓷磚",一個"TopK",我全防出去了啊,防出去以后,自然是傳統面試,點到為止,我已經準備背八股文了,他突然襲擊,一記"還有別的方法嗎?",打過來了,我大意了啊,沒有背,當時流眼淚了,我說停停,我不知道,
代碼:
- 在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序,請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數,
- 我們可以用2 * 1的小矩形橫著或者豎著去覆寫更大的矩形,請問用n個2 * 1的小矩形無重疊地覆寫一個2 * n的大矩形,總共有多少種方法?寫出您的代碼 ,
- 在100億個無符號整數中取最大100個 topK Memory has limited. What’s time complexity of this solution?(題的原文就這樣,一半中文一半英文,說思路就行,先問了有記憶體限制的情況,我說堆排序,他說什么堆,我說最小堆,他說時間復雜度呢,我說N * log K,他說要是沒記憶體限制呢,我說快速選擇, 他說時間復雜度呢,我說K,他說最壞的情況會到N方,還有別的方法嗎,我想了一會,說如果均勻分布可以用桶排序,其他的不知道了,他沒說話,就結束了,)
基礎知識問題:
- HTTPS加密程序,
- MySQL為什么用B+數,不用二叉查找樹、紅黑樹,
- 知道pagefault嗎,(沒聽說過這個名詞,我說知道一些頁的內容,您可以說說這是什么我可能知道一些相關的,他說知道頁中斷嗎,這個詞我也沒聽說過,我就問是"缺頁"嗎,他也沒說話,我就說不知道了,但是我面完一查,確實是跟缺頁相關的,他要是說是我又能背五分鐘,,,怎么就不說話呢)
反問:問這次發的郵件是”廣告研發“,之前是”廣告系統“,想問區別是啥,他說沒區別,又問實習生多久參與上線代碼,1-2個周,然后就完了,也沒說過不過,就讓等HR通知結果了,
下面是我給他的面試資料部分展示,這些資料包括有基礎知識、Java集合、JVM、多執行緒并發、spring原理、微服務、Netty 與RPC 、Kafka、日記、設計模式、Java演算法、資料庫、Zookeeper、分布式快取、資料結構等等,
這些資料都是免費分享給大家的,我只希望通過這些資料能幫助到更多的人進大廠,拿高薪,分享永遠都是一種美德,領取以上所有資料你只需點擊這里備注csdn即可免費獲取,誠意滿滿!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/225886.html
標籤:其他
上一篇:面試還不會Spring?阿里P8總結的100道面試決議,讓你實錘面試官
下一篇:json是什么



