大家好,我是好好學習天天編程的天天
一個整天在互聯網上爬蟲的程序員,每天給大家分享學習干貨的攻城獅
如果你關注騰訊面試題,請參考:
騰訊C++面試題【合集】來啦~持續更新中
下面是今日頭條(字節跳動)2020年面試真題整理,持續更新,敬請關注!
一面-2020/03/29 -牛客網
- 進程和線程、上下文切換了什么、共享了什么
- 線程獨占什么、切換時候內核做了什么
- 七層模型、協議有哪些、arp、rarp
- 為什么要有ip和mac、mac地址是如何來的
- C++多態、繼承、重載
- Map的種類
- 數據庫語句!!!count(*)、count(1)、count(字段)
- group by、order by、distinct
- 一條sql語句,數據庫做了什么?
- 缺頁了怎么辦,物理內存如何分配的
- 虛擬內存和物理內存,為什么
- B+樹和紅黑樹
- 紅黑樹和一般的平衡二叉樹,增、刪、改、查的過程和效率、時間復雜度
- 有序數組,找出和為k的數對
如果你有不會的面試題,這里會有面試題講解的視頻
干貨 | 名企高頻考點-C++ vector基本使用
每天的視頻我都會匯總到一起:
IT筆試面試真題講解合集
二面-2020/03/29-牛客網
- 數據庫組合索引,最左前綴,為什么
- 數據庫事務特性
- 隔離機制有哪些,分別避免了什么
- http1.x的新特性
- 長連接和短連接,什么時候會出現
- 長連接是如何維持的,心跳機制,如果一直想要連接着怎么辦
- 輸入一個url發生了什么
- 二叉樹各層節點數,遞歸、非遞歸,時間、空間復雜度
- 靜態多態和動態多態
- 重載和覆蓋
- 聚簇索引和非聚簇索引,實現區別,索引存在哪里了
- 主鍵索引存放
- 死鎖是什么,死鎖發生了怎么辦
- 什么叫字節流,什么叫數據報
一面-2020/03/29-牛客網
- 進程和線程、上下文切換了什么、共享了什么
- 線程獨占什么、切換時候內核做了什么
- 七層模型、協議有哪些、arp、rarp
- 為什么要有ip和mac、mac地址是如何來的
- C++多態、繼承、重載
- Map的種類
- 數據庫語句!!!count(*)、count(1)、count(字段)
- group by、order by、distinct
- 一條sql語句,數據庫做了什么?
- 缺頁了怎么辦,物理內存如何分配的
- 虛擬內存和物理內存,為什么
- B+樹和紅黑樹
- 紅黑樹和一般的平衡二叉樹,增、刪、改、查的過程和效率、時間復雜度
- 有序數組,找出和為k的數對
二面-2020/03/29-牛客網
1.數據庫組合索引,最左前綴,為什么
2.數據庫事務特性
3.隔離機制有哪些,分別避免了什么
4.http1.x的新特性
5.長連接和短連接,什么時候會出現
6.長連接是如何維持的,心跳機制,如果一直想要連接着怎么辦
7.輸入一個url發生了什么
8.二叉樹各層節點數,遞歸、非遞歸,時間、空間復雜度
9.靜態多態和動態多態
10.重載和覆蓋
11.聚簇索引和非聚簇索引,實現區別,索引存在哪里了
12.主鍵索引存放
13.死鎖是什么,死鎖發生了怎么辦
14.什么叫字節流,什么叫數據報
一面-2020/03/09-牛客網
-
unordered_map和map區別
-
STL,vector,list
-
C++多態,虛函數機制
-
進程通信
-
進程線程差異
-
TCP三次握手四次揮手細節
-
算法題:最長不重復字串(HashTable,O(N))
-
面試官人非常好,有一些遺漏的知識點會給你指出來並且講解,也很耐心。
二面-2020/03/15-牛客網
-
C++多態(看程序說結果,比較復雜,考了有關虛函數表,還考察了override和overwrite,虛函數內部調用非虛函數是調用指針類還是對象類)
-
二叉搜索樹
-
B樹b+樹
-
紅黑樹刪除算法
-
用互斥鎖實現讀寫鎖,寫者優先
-
算法題:有100個方格,每個上面有毒蘑菇和體力蘑菇,毒蘑菇減體力體力蘑菇加體力,當前體力是能跳到的最遠距離,求是否能跳到最遠方格,如果可以,求落在第100格上的最大剩余體力
三面-2020/03/17-牛客網
-
服務方法調用
-
RMI/RPC
-
序列化/反序列化
-
10億找Top10000,需要考慮分片,如果用最小堆需要考慮高效合並
-
要考慮等待時間且帶有優先權的打印機,設計數據結構使打印任務高效
-
二十四點牌
-
在三面開始的時候面試官問了能夠實習的時間和想要實習的地點,猜測可能是leader直接面試(最后也正好去了這個面試官在的城市),人很和善,不過問題都不是我准備過的基礎題型,碰到的時候還是有一點束手無策。
-
其實准備字節跳動的面試還是需要着重准備基礎部分(數據結構、算法、操作系統、計算機網絡),另外對做算法題的要求很高,如果在看到題目的時候能直接給出這個題目的最優時空復雜度解法,面試官對你的評價會很高。如果基礎知識比較扎實了,可以看看網絡上的面試經驗,找找自己不會的知識點,查漏補缺。
一面-2020/03/24-牛客網
- 首先自我介紹
- 開篇直接做題,時間戳轉換成日月日時分秒~繼續討論其余的情況。。(此時面試官突然說,算了,不問了吧,再問下去感覺你都快崩潰了)
- 討論實驗室項目
二面-2020/03/24-牛客網
- 自我介紹
- 問了一些個人情況,如為啥選后台,什么時候能實習,一周能工作幾天,base選的哪
- 因為做過一些后台項目使用java語言開發的所以就問的我java,,,抽象類與接口的區別
- 一些c++的基礎問題,講一下const,指針與引用,new與malloc,內聯函數,如何防止內存泄露等問題
- 一些操作系統的問題,講一下進程、線程、協程,鎖機制,信號量,開鎖時如何通知其他線程等問題
- 編程題,判斷一棵樹是否為二叉搜索樹,首先用遞歸判斷實現的,后來有問不遞歸怎么實現(判斷每一個點的中序后繼節點是否大於該點),如何空間復雜度O(1),講了一下morris遍歷的原理
三面-2020/03/24-牛客網
- 自我介紹
- 什么時候能來實習,下半年能不能也來,base是哪(感覺是照例問的都是)
- 簡單的介紹了一下項目,使用的技術框架,自己的職責
- spring的iop,aop(樓主是cpp選手,有java的項目,但對原理這一塊不太了解,所以就簡單的說一下自己的理解,面試官也沒有繼續深問)
- http請求的全過程,順帶着問了http報文格式
- cpp中的struct內存大小問題,注意空struct的sizeof為1,和字節對齊
- 權力反轉,問了一下部門的工作內容,實習轉正率
一面-2020/02/06-牛客網
-
自我介紹和項目延伸
-
講了寄存器/cache優化的項目(我的項目經歷來自學校課程實驗,太簡單不提了,但是再簡單的項目也可以“加加戲”包裝一下,提前准備一些可拓展說的知識點)
-
順着項目問:如果要做一個棧,用數組的結構還是鏈表?(提示)數組和鏈表哪一個遍歷的效率高?(解答:數組。考慮cache緩存,所以是一組一組讀進去的,而鏈表肯定是一個一個讀的)
-
cache和內存關系?
-
循環展開知道嗎?
-
weak_ptr了解嗎(我講了解決shared_ptr的循環引用問題,面試官就沒再問了,應該算押到考點...
-
move語義?(講了移動構造函數的原理)
volatile?
template了解嗎 -
元編程(meta programming) 了解嗎
-
原子操作?
-
回答了大概概念(要么執行完,要么什么都不做),接着問 ”它可以用來解決什么問題?“
-
TCP和UDP區別,UDP使用場景
-
算法:
[1 2 3 4 5 6] 排列成[1 3 5 2 4 6] (奇數排右邊,偶數排左邊,不考慮順序)(劍指offer原題)我先用了冒泡,然后面試官問了時間復雜度(O(n2)),想了一會后改成O(n)
-
股票問題 ([1 3 5 7 2 3 ]是每日股票價格,買一次賣一次,問如何使得收益最大,即求最大差)
二面-2020/02/28-牛客網
-
自我介紹
-
算法:多個有序數組排序 vector
fun( vector<vector > ) -
先用了priority_queue + int [], 面試官同意想法后開始寫,但是后來發現復雜度太高,改成map+int[]。
三面-2020/02/28-牛客網
-
自我介紹
-
實現一下 memcpy() [要點:地址重疊]
-
對void*你了解什么?
-
int a[10000000]會有什么問題?
-
如果想讓一個函數在main函數之前執行,該怎么做?
一面 -2020/03/28-牛客網
- protobuf向后兼容怎么做的。
- C++里面虛函數怎么實現的。
- 智能指針。
- C++單例模式實現
- 別的不記得了,但算法題還是記得的,刪除倒數第k個節點並返回頭指針,leetcode接雨水。
二面 -2020/03/28-牛客網
- 這個上來就是做題,做的是頭條去年的筆試題好像,搜字節跳動筆試,撲克移動就能搜到了。
- 然后是100只老虎,一只羊,羊最后會不會被吃的問題,只答對了關鍵的一小部分。
- 內核創建進程時會自動打開哪幾個文件。
一面-2020/03/25-牛客網
- 上來都沒有自我介紹,直接寫代碼
- 實現一個類,該類在一個局部作用域中修改外層作用域的值,當局域作用域結束的時候,恢復外層作用域原來的值(析構函數和泛型編程)
- 給你n,k求一個數x使得x的n次方等於k,x保留五位有效數字(二分)
- 多個區間,問區間的最大重疊數量
- 一個整數數組,求區間min乘以區間sum的最大值(前綴和+單調棧)
- 對C++的泛型了解嗎,底層如何實現?
- 進程間通信的最快方式?
- 使用共享內存通信有什么缺點?
- 有什么想問我的?
二面-2020/03/25-牛客網
- socket編程服務端和客戶端調用函數的流程
- accepted函數的參數和返回值分別是什么
- C++的打開文件函數freopen和系統調用的open函數關系和區別
- TCP的擁塞控制
- 網絡中的丟包原因
- 現場寫了一個多態,問各種情況的運行情況,內存對象模型,問的比較底層
- 一個整數數組,兩個人一次分別從左邊或者右邊拿走一個數,兩個人足夠聰明,求第一個人拿到數的最大和
一面-2020/03/23-牛客網
- leetcode 152
- leetcode 853
二面-2020/03/23-牛客網
- 先二分出k的位子,然后這個位子開始二分左邊有x個,那么右邊就有k-x個,根據這個情形是否是我們需要的答案就可以判斷了。
- 棧+dfs+時間戳標記
- 裸的ac自動機
如果有不會的面試題,請參考:
干貨 | 名企高頻考點-C++ vector基本使用
每天的視頻我都會匯總到一起:
IT筆試面試真題講解合集