【求職】滴滴 C++方向面經

第一篇

一面 2020/3/30

1、自我介紹 2、c++11 的智能指針,解決什麼問題 3、c++用到的數據結構 4、vector 是如何實現的 5、鏈表中序遍歷 6、epoll 的優點 7、哪裏用到了鎖 8、進程和線程的區別 9、進程間切換和線程間切換哪個開銷大 10、進程通信的方式 11、實驗室的項目解決什麼問題,爲什麼選這個算法 12、從一個班成績中選出前 5 名 13、事務 14、靜態服務器和動態服務器的作用 15、從點擊網址開始到顯示網頁經歷的過程 16、TCP 擁塞控制 17、http 和 tcp 的區別 18、給兩個有序鏈表,返回鏈表中相同數字的個數

二面 2020/3/30

1、自我介紹 2、vector 是如何實現的,如果讓你實現需要注意什麼 3、單例模式 4、描述 epoll 5、有沒有參考網上的庫如 libevent 6、是否關注過其他的 github 上的開源庫 7、說一個 linux 常用的命令 8、ls 如何查找文件夾下所有名字裏有 text 的文件

第二篇

一面 2019/6/15

1、說一下 ConcurrentHashMap 2、每一個 segment 裏面是怎麼實現的? 3、ConcurrentHashMap 比 hashtable 好麼,爲什麼? 4、treemap 是降序還是升序 5、Java 虛擬機各個全部說一下? 6、static 變量存放在哪裏的? 7、如果加了 final,是在類加載的什麼時候分配的 8、有父類子類的加載順序是什麼? 9、雙親委派好處 10、常用的鎖有什麼,實現,分別說一下? 11、數據庫索引 12、爲什麼用 b+樹,b+樹的好處是什麼 13、數據庫隔離級別 14、線程池

二面 2019/6/15

1、線程池的幾種實現方式?用的是那個類? 2、CAP 知道麼? 3、講講 zookeeper? 4、數據庫的主從?延遲了怎麼辦? 5、數據庫集羣 6、HTTP 的整個過程? 7、zookeeper 分佈式鎖什麼場景下用? 8、智力題:25 匹馬,5 個賽道,不能記錄時間,找最快的 3 匹,最快用幾次? 9、一個數組基數的放左邊,偶數的放右邊,時間複雜度 o(n),空間複雜度 o(1)

第三篇

一面 2019/8/25

1、問項目 2、vector list set 的區別 3、多態原理 4、深淺拷貝 5、靜態多態和動態多態 6、構造和析構需要注意什麼 7、C++內存管理 8、代碼管理工具 9、Redis 恢復數據方式 10、TCP 連接和斷開步驟 11、服務器如果有大量的半連接狀態的客戶端連接,如何處理 12、手寫冒泡 13、手寫字符串拷貝 14、如果要考慮內存重疊呢?

二面 2019/8/25

1、熟悉的排序算法 2、畫圖並解釋快速排序流程和堆排序流程 3、算法題:第一天發 1 塊錢,二三天發 2 塊錢,四五六天發 3 塊錢,那麼求第 n 天時總共 發了多少錢?

三面 2019/8/25

1、項目,問得很詳細 2、覺得最難的是哪個點? 3、提到了設計模式,看我有 Qt 的項目,問我 Qt 的信號槽是用什麼設計模式實現的,或者 讓你來實現,會怎麼做? 4、MySQL 兩種引擎的區別,爲什麼 MyISAM 查詢比較快? 5、redis 集羣,有四臺機器,假如其中一臺斷電了,redis 是怎麼做的,如果是你會怎麼做?

第四篇

一面 2019/8/15

1、手寫代碼,兩個有序單鏈表的合併 2、自我介紹,項目介紹 3、簡單說說對 C++和 JAVA 的認識 4、對面向對象設計的認識 5、STL 中各容器的實現 6、hash 如何避免衝突 7、TCP 建立客戶端/服務器的接口調用 8、TCP 三次握手,爲什麼三次 9、TCP 四次揮手,各中間狀態,TIME_WAIT 狀態的作用 10、select、poll、epoll 的區別 11、epoll 的觸發模式 12、指針和引用的區別 13、熟悉哪些 Linux 命令 14、關閉進程有哪些方法 15、承上,知道進程名字,使用 grep 進行 kill;(grep p_name | grep -v p_name | cut -c 9-15 | xargs

二面 2019/8/15

1、自我介紹,項目介紹 2、C++多態的實現 3、熟悉哪些網絡模型 4、TCP 三次握手、四次揮手 5、TCP 斷開連接的各狀態,TIME_WAIT 的意義 6、select、poll、epoll 的區別 7、一個 40G 的文件保存了用戶的手機號碼,裏面有重複,如何去重 8、點分十進制的 IP 地址(比如 192.168.1.1)如何轉換爲 32bit 整形 9、手寫上一問的代碼 10、在螞蟻實習遇到的最難問題,如何解決的 11、對比下 C++和 python 三面 2019/8/15 1、自我介紹,項目介紹 2、指針和引用區別 3、C++對象的內存佈局 4、類的靜態成員存儲在哪,靜態成員函數能訪問非靜態數據成員嗎? 5、熟悉哪些網絡模型 6、TCP 三次握手、四次揮手 7、TCP 斷開連接的各狀態,TIME_WAIT 的意義 8、HTTP 協議瞭解嗎,除了 POST、GET 之外,還有哪些 9、select、poll、epoll 的區別 10、字典樹的實現,手寫 insert()接口 11、一道智力題:夜晚,有四個人過橋,只有一隻手電筒,每個人過橋的時間分別是 1 秒、 2 秒、5 秒、8 秒,過橋需要使用手電筒,一次最多兩人一起過橋,問最短多少時間,四個 人能全部過橋? 12、做項目過程遇到的難點,如何解決 13、願不願意在北京工作

第五篇

一面 2018/1/26

1、自我介紹和項目經驗 2、給幾段代碼,看看有什麼問題 3、寫一個快排 4、寫一個二叉樹前序遍歷,二叉樹的結構需要定義 5、一個單鏈表怎麼判斷有沒有環?環的起點怎麼找? 6、Socket 編程 7、40G 的字符串,裏面有 2 個字符串是重複的,怎麼找出來? 8、cookie 和 session 9、面向對象編程裏面的多態? 10、struct 和 union 的區別?union 應用場景是什麼? 11、指針和引用的區別? 12、會不會 github?有沒有託管代碼? 13、有什麼愛好? 14、平時看什麼書? 15、如果我是一個編程小白,想學 C++,你會推薦看什麼書?

二面 2018/1/26

1、項目經驗 2、問一個算法:求平面上最近點對,寫僞代碼 3、排序:快排、歸併、堆,時間複雜度是一樣的,有什麼區別?爲什麼平均情況下快排最 快?4、重載、覆蓋和隱藏 三面 2018/1/26 1、上次面試最後一題讓寫的什麼?你後來有回去再看一看研究研究嗎? 2、給你一個點,找出離它最近的 n 個點 3、給定一棵樹,除左右節點外,還有一個 random 域,不一定指向哪,可能是空節點,可 能是樹中的其他節點,做樹拷貝4、有 n 臺機器,原來的 master 宕掉了,要一個新的 master 出來,怎麼選? 5、知不知道 tcp 和 ip 請求頭裏有什麼字段? 6、http 請求方式有哪些,http 狀態碼 12345 開頭的都有什麼含義 7、你有沒有什麼有優勢的地方是我沒有問到的?

第六篇

一面 2020/12/07

1、項目 2、ddpg 算法 3、算法:股票單筆交易,兩次交易

二面 2019/12/07

1、項目 2、ddpg 算法 3、算法:二分法,最長全值子序列

三面 2019/12/07

1、機器學習的思想 2、無監督學習的思想 3、信號槽機制原理,與 c++11 裏 bind 區別 4、對自動駕駛的理解

第七篇

一面 2019/8/10

1、數據庫分庫分表,垂直水平 2、Redis 哨兵 3、一致性哈希,大圓環不多說了 4、什麼樣算好的哈希算法,一個輸入改變,影響到所有輸出 bit 位的改變。算的過程也不 能太複雜,可以充分利用循環展開,局部性的比較好。講一下循環展開原理,不過寫代碼的話 沒必要,編譯器自帶優化。再講一下局部性原理,空間,時間。儘量避免非一致性訪存, 然後講 了一下 numa,linux 下的開啓關閉命令 5、扛高併發的方式,dns 輪詢,Nginx 反向***,還有從協議層面的 Lvs 6、Redis 或者 mem***之類的,能不能搞長連接? 7、問短連接,長連接,連接池的區別了。然後就是 http2 的多路複用 8. 說一種面向對象設計思想

二面 2019/8/10

1、stl 六大組件,容器,迭代器,仿函數,泛型算法,空間配置器 2、線程安全性,stl 所有東西都不安全 3、緩存擊穿,穿透 4、一致性哈希 5、雙寫一致性,寫刪,刪寫,衝突窗口是什麼 6、怎麼統計網站 pv(set 計數),uv(數學推導很複雜,直接說了 redis 的 hyperloglog), Redis 持久化。追加寫和 snapshot 7、Redis 的鎖,問的挺多,鎖沒釋放,提前釋放都說一下怎麼解決 8、數據庫聚集索引,非聚集索引。聯合索引。問的很細。關於 b 樹原理,最左匹配 9、innodb 的特性,行級鎖,支持事物,備份難(binlog 增長起來還是蠻痛苦的)。然後查 詢優化,支持 mvcc。然後說了一下 mvcc 原理 10、Redolog 寫入時機 11、分佈式一致性的級別,嚴格一致,順序一致性,最終一致性 12、樂觀鎖指的是不加鎖嗎? 13、雪崩瞭解過嗎?怎麼預防? 14、說一下負載均衡的幾種策略。隨機,輪詢,加權做算法等等。好處和壞處 15、 瞭解 zookeeper 嗎? 16、緩式評估 17、手撕算法,最接近的三數之和

第八篇

一面 2017/9/26

1、自我介紹 2、112333355 變爲 12213452 手寫代碼 3、list 刪除指定節點手寫代碼 4、虛函數 5、epoll poll select 是什麼 6、哪幾種 ipc 7、一個結構體多少字節 8、1-1000 的 1000 個數,有一個重複的找出來 9、有幾個數有範圍,O(n)排序,可以有額外空間

二面 2017/9/26

1、ipc 2、tcp 擁塞控制 3、成功的事、失敗的事 4、epoll 5、簡單邏輯題 三面 2017/9/26 1、實習做了什麼 2、數據庫事物,隔離級別,鎖,死鎖的概念,怎麼避免 3、hash 表擴容 4、紅黑樹是什麼?還知道哪些樹

第九篇

一面 2017/9/28

1、項目/ElasticSearch 2、KMP 算法 3、後根遍歷,非遞歸 4、實現堆棧的 push pop 5、打開網頁的流程 6、有很多服務器:廣告,圖片,等等。服務器如何把這些數據返回給瀏覽器

二面 2017/9/28

1、項目 2、快排 3、一堆數,一個不重複,其他兩兩相同,找出不重複的? 第十篇 一面 2018/3/5 1、爲什麼轉 golang 的? 2、爲什麼不考研啊? 3、Golang 的一些問題,channel 的實現、GPM、Goroutine 的實現方式等等,一些 Golang 的常見底層原理性問題吧 4、mysql 的索引有哪些 5、Reid 6、存儲結構7、redis 的內存分配方式,哪個分配器? 8、內存碎片是怎樣發生的,怎樣解決? 二面 2018/3/5 1、golang 的一些基本問題,可以說是語法層面的吧 2、linux 的一些常用命令 3、對 golang 的理解 4、還有自己使用過的框架、瞭解過的框架、orm、數據庫、使用的什麼客戶端等等、一些 項目架構方面的知識

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章