硬核 | 50 家企業(yè) C++ 面經(jīng)分享
昨天一位讀者分享了自己的 C++ 面試經(jīng)歷。簡單溝通后,讀者雙非本碩,自嘲校招準(zhǔn)備注定就是煉獄模式。50 家公司的 C++ 面經(jīng)也整理好了。本次就分享下面經(jīng)。以后分享學(xué)習(xí)路線和心得。
讀者情況:雙非本碩,本科機(jī)械,碩士做的軟件開發(fā)課題。
學(xué)過?C++ 偏基礎(chǔ),但是面試前連多態(tài)都不會寫。研三經(jīng)歷煉獄校招,從零開始學(xué)習(xí),數(shù)據(jù)結(jié)構(gòu)和算法也是從零開始。
時(shí)間:2020 年 10 月- 2021 年 4 月
結(jié)果:幾乎面試了所有大廠,收到了 13 份 offer。雖然沒有進(jìn)大廠,但是拿到音視頻開發(fā) offer,音視頻開發(fā)是理想崗位,待遇也比較滿意。
1.六方云(10-21)
自我介紹 C++ 語法 左值引用與右值引用有什么區(qū)別,左值引用和右值引用的目的是什么 虛函數(shù)問了好多 什么是多態(tài) 虛函數(shù)和純虛函數(shù) 構(gòu)造函數(shù)和析構(gòu)函數(shù)能不能是虛函數(shù) std::move 是什么 計(jì)算機(jī)網(wǎng)絡(luò) TCP/IP 的連接和斷開過程 timewait 是什么 I/O 多路復(fù)用是什么 http 接口的函數(shù)用過嗎 操作系統(tǒng) 什么是線程、進(jìn)程 多線程和多進(jìn)程的優(yōu)缺點(diǎn) 項(xiàng)目 Qt信號與槽實(shí)現(xiàn)的機(jī)制 項(xiàng)目用的多線程是怎么實(shí)現(xiàn)的 怎么實(shí)現(xiàn)通信
2.萬集集團(tuán)(10-22)
自我介紹 項(xiàng)目:有做過嵌入式項(xiàng)目嗎 總結(jié):應(yīng)該是 KPI,他想找做嵌入式的多點(diǎn)
3.醫(yī)科達(dá)——電話面(10-23)
自我介紹 項(xiàng)目 多線程 網(wǎng)絡(luò)編程:連接方式 算法:快速排序 面向?qū)ο笕笏枷?/section> 設(shè)計(jì)模式,列舉一個(gè) 單例模式怎么處理多線程
4.聯(lián)影——電話面(10-24)
自我介紹 項(xiàng)目介紹 說說項(xiàng)目的原理 面向?qū)ο?/section> 設(shè)計(jì)模式 非智力問題: 怎么抗壓 怎么處理隊(duì)員之間的問題
5.萬興科技(10-24)
自我介紹 看過哪些 C++ 的書 多線程,怎么判斷線程結(jié)束 vector 中迭代器失效的情況 虛析構(gòu)函數(shù) FFmpeg 中對視頻和音頻的同步方法 map 的內(nèi)部 rtmp 協(xié)議
6.網(wǎng)易實(shí)習(xí)
一面(10-28)(PASS1)
引用和指針的區(qū)別 靜態(tài)鏈接庫與動(dòng)態(tài)鏈接庫的區(qū)別 程序生成的過程 計(jì)算機(jī)圖形學(xué): 怎么對圖像進(jìn)行變換,變換矩陣是什么 還有其他簡單的 OpenGL 問題 其他忘了,,,,
二面(11-2)
怎么自己實(shí)現(xiàn) Qt 的信號與槽? 多態(tài) TCP 和 UDP 的區(qū)別 計(jì)算機(jī)圖像學(xué) 什么是插值? 會做數(shù)據(jù)可視化嗎? 其他忘了,面試官脾氣不是很好,,
7.中望軟件(10-31)(PASS2)
聊一下項(xiàng)目 CAD 軟件怎么使用 會不會 QT、MFC、STL 介紹中望公司的情況
(終于拿到第一份 offer?。?/p>
8.金山 WPS
電話一面(11-2)(PASS3)
假如定義了一個(gè)指針,后面接著一個(gè)循環(huán)并 return,會造成什么后果?(內(nèi)存泄漏) 其他忘了(沒有問項(xiàng)目)
電話二面(11-5)
知不知道 Qt5 對 OpenGL 有個(gè)支持性問題 音視頻切換的多線程怎么處理幀切換的問題 大數(shù)據(jù)處理題:建立一個(gè)數(shù)據(jù)結(jié)構(gòu),存儲 1 到 10 億的數(shù),要能夠去重和插入(答案:用兩個(gè)數(shù)組,建立二維表格) 找出一個(gè) RGB 文件中出現(xiàn)最多的前十種顏色
9.傳音控股電話面(11-7)
直接問項(xiàng)目的 OpenGL 怎么繪制視頻,結(jié)果回答不好被嫌棄了; 死鎖怎么產(chǎn)生的?有沒有遇到過死鎖問題?(多線程不是一般般的重要?。?/section>
10.網(wǎng)易互娛樂(11-12)
先做算法題:找出數(shù)組中次數(shù)最多的前 k 個(gè)數(shù) 說下 C++ 新特性 auto變量的使用注意事項(xiàng) OpenGL 的著色器在每個(gè)渲染步驟是怎樣的? 設(shè)計(jì)模式、單例模式的線程安全問題
11.斗魚直播(11-12)
qt 的消息傳遞機(jī)制 HTTP 網(wǎng)絡(luò)協(xié)議好多內(nèi)容 怎么實(shí)現(xiàn) map 的(key 是自定義類型) 單例模式 還有好多問題,幾乎把計(jì)算機(jī)基礎(chǔ)的難點(diǎn)都問了
12.富士康電話面(11-13)(PASS4)
做富士康的工業(yè)互聯(lián)網(wǎng)??春啔v,沒問技術(shù)基礎(chǔ)。給了 offer,但是只有 7K,其他補(bǔ)貼加起來只有 10K,難怪沒人去
13.卡萊特電話面(11-17)(PASS5)
1.C 和 C++ 的區(qū)別 2.棧和堆的區(qū)別 3.雙鏈表和單鏈表的優(yōu)缺點(diǎn) 4.面向?qū)ο笕筇匦裕悍庋b、繼承、多態(tài),繼承的作用是什么 5.了解 Qt 和 MFC 嗎 6.工作地點(diǎn) 7.對薪資有什么要求
14.聯(lián)想面試(11-27)
C++ 和 java 的區(qū)別 描述 STL;vector 和 list 的區(qū)別 最近的項(xiàng)目——視頻播放器設(shè)計(jì) vector 存放數(shù)據(jù)的注意 視頻與音頻同步 多線程同步 設(shè)計(jì)模式、工廠模式 文件斷點(diǎn)續(xù)傳 用英語簡單描述自己的項(xiàng)目
15.新浪微博(12-1)
OOP 三大特性、繼承中三個(gè)修飾符的用法 C++ 的 static 關(guān)鍵字 TCP 連接過程中客戶端與服務(wù)端使用什么函數(shù)實(shí)現(xiàn)連接 智能指針,weak_ptr 能夠破壞環(huán)型引用的原理(引用計(jì)數(shù)的原理) 用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列
(禿頭架構(gòu)師面試,態(tài)度很好,叫我不要緊張。我印象深刻的一場面試之一)
16.廣和通電話面(12-1)(PASS6)
聊一下項(xiàng)目 說下項(xiàng)目解決過程你有沒有請教別人 說下最難忘的項(xiàng)目經(jīng)歷
17.匯川技術(shù)
一面(12-1)(PASS7)
項(xiàng)目簡介 STL、vector QML 與 QWidget 的區(qū)別 (QML 從 2.0 版本開始向移動(dòng)端靠攏) 信號與槽機(jī)制、信號與槽與函數(shù)指針的比較 多線程下用信號與槽的優(yōu)缺點(diǎn) (connect函數(shù)的第五個(gè)參數(shù)實(shí)際上是用在多線程的情況下的) socket 的 TCP 的客戶端與服務(wù)端 怎么保證客戶端與服務(wù)端在突然斷網(wǎng)的情況下保證另一端知道?(飽和機(jī)制、心跳機(jī)制、看門狗機(jī)制) 說說你的項(xiàng)目的亮點(diǎn) auto 關(guān)鍵字 (不能定義數(shù)組) Qt 的事件過濾器 (事件的傳遞是由子類往父類上傳的) 開放性問題:大量數(shù)據(jù)無序輸入,怎么有序輸出?(使用最大堆最小堆) (一面的面試官是個(gè)態(tài)度很好的年輕小哥)
匯川技術(shù)二面(12-4)(PASS8)
介紹項(xiàng)目組成 - 濾波器的類型 - 怎么確定使用什么濾波算法 比賽過程中的團(tuán)隊(duì)合作事情 數(shù)學(xué)建模比賽的收獲 上學(xué)期間最有成就感的事情 Linux 中的互斥鎖和 XX 鎖 簡述 STL 常用的排序算法 以太網(wǎng)了解嗎? 網(wǎng)絡(luò)編程 職業(yè)規(guī)劃 家庭背景
18.聲網(wǎng)測試(12-2)
介紹音視頻測評崗位的工作內(nèi)容 用的什么協(xié)議 視頻播放器、直播推流協(xié)議 文件傳輸、視頻協(xié)議相關(guān)工作 講解下用了音視頻庫的什么模塊
19.不知名的公司的音視頻開發(fā)崗(12-4)
做兩道編程題: 快速排序(函數(shù)參數(shù)只有 int array,int length) 用兩個(gè)線程實(shí)現(xiàn)循環(huán)加數(shù) 深拷貝與淺拷貝區(qū)別 C++ OOP 三大特性 多態(tài)的用法 項(xiàng)目:視頻播放器用到 FFmpeg 哪些庫 H264 編解碼原理 運(yùn)動(dòng)補(bǔ)償 熵編碼 ALCode 視頻解析工具的使用 直播工具使用了什么服務(wù)器
(地點(diǎn)在武漢,印象最深的一場面試,面試官很友好,給我講了半小時(shí)的音視頻崗位的優(yōu)勢。從此便決定了一定要做音視頻開發(fā))
20.騰訊會議客戶端(12-4)
項(xiàng)目——視頻播放器的功能 視頻中的視頻信息、音頻信息的數(shù)據(jù)怎么存放 課題中的難點(diǎn) C++ 智能指針 shared_ptr 的特殊用法 C++ 內(nèi)存管理 Windows 系統(tǒng)怎么預(yù)防死鎖 怎么解決程序 crashed 問題 對音視頻編碼的了解 有幾種 NAL,如果在視頻中存放信息存放在哪個(gè)幀 怎么設(shè)置壓縮碼率?
21.恒生電子
一面(12-9)(PASS9)
C++11 什么新特性好用 多線程 用隊(duì)列處理數(shù)據(jù)有什么好處? 用過什么數(shù)據(jù)庫? 多線程與多進(jìn)程的區(qū)別? 你認(rèn)為你的優(yōu)缺點(diǎn)是什么?
二面(12-10)
沒問技術(shù)問題,只問背景問題。應(yīng)該是 KPI
22.新思科技
一面(12-14)(PASS10)
static 在 C ?和 C++ 的用法 virtual 與析構(gòu)函數(shù) Linux 中用什么命令查找文件 在項(xiàng)目中使用過多態(tài)嗎 用英文介紹自己的愛好
二面(12-18)
項(xiàng)目 功能 代碼量 花多長時(shí)間 STL 怎么解決哈希沖突 長二進(jìn)制反轉(zhuǎn) virtual 析構(gòu)函數(shù) 寫一個(gè)多態(tài),展示內(nèi)存泄漏
23.浩鯨科技(12-15)
操作系統(tǒng):消息隊(duì)列、進(jìn)程消息 strcpy 和 memcpy 的區(qū)別 多態(tài)具體怎么定義 指針、引用怎么在多態(tài)里面用的
24.映客直播
一面(12-17)(PASS11)
學(xué)過什么課程 指針和引用的區(qū)別 局部 變量與全局變量 內(nèi)存的分類 OOP 三大特性 Linux 常用命令 簡單聊聊直播推流工具 邊下邊播用什么協(xié)議 數(shù)據(jù)庫的事務(wù) 進(jìn)程和線程、進(jìn)程的通信方式、線程的安全問題 TCP 和 UDP 的區(qū)別 HTTP 的返回碼 怎么用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列 怎么獲取二叉樹的高度
二面(12-22)
除了 C++,學(xué)過其他語言嗎 MP4 包含了什么協(xié)議 抖音、直播分別用什么協(xié)議 TS 流有什么內(nèi)容 怎么傳遞視頻信息 怎么解決視頻卡頓問題 內(nèi)存泄漏怎么排查 安卓的生命周期 設(shè)計(jì)模式有哪幾種?單例模式有幾種創(chuàng)建方式? Linux 的常用命令 用過 shell 嗎 怎么通過 shell 獲取 MD5 碼? Linux 獲取字符串的方式? 建議:多了解前沿的流媒體格式!
25.百富計(jì)算機(jī)(12-22)(PASS12)
多進(jìn)程多線程用過嗎? Linux 命令了解嗎? FFmpeg 編譯過嗎? 音視頻解碼過程的格式 視頻播放器開發(fā)的過程 OpenGL 使用的過程 頂點(diǎn)著色器與片元著色器的不同 VBO、FBO 畫面閃爍是什么原因造成
26.埃森哲面試(12-24)
群面,3 個(gè)候選人 1 個(gè)面試官 公司介紹:世界 500 強(qiáng) ?咨詢公司 外企 遇到難題以及解決方法 在實(shí)習(xí)、項(xiàng)目中,怎么處理不屬于自己工作范圍內(nèi)的工作 職業(yè)方向規(guī)劃?技術(shù)專家還是項(xiàng)目管理
27.孩子王
一面(12-29)(PASS12)
C++ 有幾種構(gòu)造函數(shù) STL 的迭代器失效,怎么解決 C++ 與其他語言的區(qū)別?(指針、回收) 智能指針的用法 智能指針的使用場景:連接數(shù)據(jù)庫 STL 是復(fù)制性還是侵入性 紅黑樹比AVL的優(yōu)勢,為何用紅黑樹 紅黑樹的高度 數(shù)據(jù)庫的鎖、事務(wù)、引擎 場景題: 用戶的余額顯示、余額減少等,要不要用事務(wù)? 用戶系統(tǒng),有用戶ID。加入有手機(jī)號注冊,怎么驗(yàn)證是否注冊 用戶擴(kuò)大時(shí),怎么擴(kuò)容? I/O 多路復(fù)用的理解 動(dòng)態(tài)規(guī)劃與貪心算法的區(qū)別(背包問題分析)
二面(1-8)
多線程的使用場景 多線程的鎖 數(shù)據(jù)庫為何用 SQLite 進(jìn)程間的數(shù)據(jù)共享 怎么實(shí)現(xiàn)音視頻同步 多線程和多進(jìn)程的區(qū)別 Linux 常用命令? 崗位必備技能是:C++ 基礎(chǔ)、網(wǎng)絡(luò)、數(shù)據(jù)庫。是電商中臺
28.富途證券后臺開發(fā)(1-4)
先做幾道題 說說從瀏覽器輸入網(wǎng)站用到的協(xié)議 auto addr = (type) malloc(size); memcpy(addr,"apple");操作系統(tǒng)滿的時(shí)候會發(fā)生什么?MySQL 加快查詢的方式
29.CETV(1-5)
Qt 信號與槽的機(jī)制 為什么 new QWidget 不需要 delete vector 的內(nèi)部機(jī)制 編譯過程 虛函數(shù)表原理,虛表編譯的過程 new 和 malloc 的區(qū)別 智能指針內(nèi)部原理 多線程 TCP、UDP 的區(qū)別 TCP 怎么保證可靠傳輸 在一個(gè)局域網(wǎng)中怎么連接兩臺電腦? 平時(shí)怎么學(xué) C++
30.商湯科技(1-6)
簡單介紹項(xiàng)目—— vector 怎么 clear TCP 粘包、丟包 進(jìn)程的通信 內(nèi)存泄漏 智能指針 Qt 實(shí)現(xiàn)多線程 QSS 屬于第幾個(gè)版本 視頻播放器怎么音視頻同步 設(shè)計(jì)模式 舉例工程模式 Qt 的 TableWidget 和 Table View 的區(qū)別 做題 多態(tài)的選擇題 手寫 Rational 類(包括<< ? >>重載)
31.科曼醫(yī)療(1-7)(PASS13)
介紹碩士課題項(xiàng)目 Qt 自定義控件方法 視頻播放器 Qt 多國語言 QSS 主題樣式 設(shè)計(jì)模式 工廠模式的應(yīng)用場景 設(shè)計(jì)模式的優(yōu)缺點(diǎn) 信號與槽、和事件的區(qū)別 視頻與音頻怎么同步 介紹公司的研發(fā)方向: 應(yīng)用軟件開發(fā) 下位機(jī)驅(qū)動(dòng)開發(fā) 單片機(jī) Windows 服務(wù)器開發(fā)
32.思謀科技(1-11)
多態(tài)及其用處 靜態(tài)多態(tài)包含什么類型 純虛函數(shù) 虛析構(gòu)函數(shù) 重載與重寫的區(qū)別 extern "C"{} const 的作用 指針和引用的區(qū)別 C++11 新特性 右值引用 STL 哈希 強(qiáng)制類型轉(zhuǎn)換 Qt 的優(yōu)點(diǎn)、缺點(diǎn) Qt 的核心機(jī)制 Qt Graph 信號與槽的優(yōu)點(diǎn)和缺點(diǎn)是什么 Qt connect 函數(shù)的連接方式 TCP 三次握手的過程 手寫代碼:自定義 String 類(真的要每天都復(fù)習(xí)八股文)
33.華陽國際設(shè)計(jì)(1-20)(PASS14)
實(shí)習(xí)的時(shí)候做什么工作 指針和引用的區(qū)別 空指針、懸垂指針 TCP 的三次握手 部門分工: 圖形引擎(C#) 平臺開發(fā)(java、C++) 建模(C++、OpenGL)
34.中軟國際(外包公司)
一面(1-25)(PASS15)
多態(tài)、虛析構(gòu)函數(shù) 強(qiáng)制類型轉(zhuǎn)換 類能否嵌套 vector 改變?nèi)萘繒r(shí)要注意什么 對象移動(dòng) unique_ptr 智能指針 C++11 多線程 lock_guard 怎么自動(dòng)處理的 多線程怎么發(fā)送信號 線程怎么退出 GDB 怎么調(diào)試段錯(cuò)誤,怎么查看棧 Linux 怎么處理 core 文件 Git 用過嗎?
二面(1-28)(PASS16)
多態(tài)的定義 代碼的處理過程、匯編的作用 new 和 malloc 的區(qū)別 內(nèi)存的分類 STL vector 的用法 項(xiàng)目中是怎么用的 Linux 用過什么指令 項(xiàng)目都是自己做的? Qt 多線程用什么函數(shù) 計(jì)網(wǎng)用過什么協(xié)議 智能指針 快速排序的思路 MFC 用過嗎 設(shè)計(jì)模式、單例模式 場景題:找出前 K 個(gè)最大元素的值(最大堆、最小堆的用法)
三面(1-28)——經(jīng)典好問題,必須好好分析(PASS17)
寫代碼:找出數(shù)組中數(shù)量超過一半的元素
C++的 sort 函數(shù)是怎么實(shí)現(xiàn)的?int?GetNum(int?*array,int?length)?{
?unordered_map<int,int>?mp;
?for(int?i?=?0;i-1;++i){
??++mp[array[i]];
?}
?for(int?i?=?0;i-1;++i){
??if(mp[array[i]]?>?length?/?2){
???return?array[i];
??}
?}
?return?-1;//沒有的話返回-1
?//加入數(shù)據(jù)很大怎么辦?——先排序
?sort(array);//sort的原理是什么
?return(array[length?/?2]);音視頻:YUV 格式與 RGB 格式的區(qū)別 怎么實(shí)現(xiàn)一個(gè)服務(wù)端連接多個(gè)客戶端? auto 的類型判斷發(fā)生在什么階段(編譯期) 如果是在運(yùn)行期的話會發(fā)生什么問題 多態(tài)的分類 類型轉(zhuǎn)換 智能指針 鎖的類型,自旋鎖的原理 GDB 的常用命令 內(nèi)存的分類 一個(gè)棧多大?
35.中國電子系統(tǒng)(1-26)
實(shí)習(xí)的時(shí)候做的項(xiàng)目,舉例做過的工作 做的軟件項(xiàng)目的流程 單例模式的實(shí)現(xiàn)方法 觀察者模式 哈希表的原理以及作用、怎么查找值 計(jì)網(wǎng) 七層模型 IP 協(xié)議 三次握手和四次揮手 為什么要進(jìn)行四次揮手 線程和進(jìn)程 從 CPU 的角度區(qū)別線程和進(jìn)程 快速排序的思路、復(fù)雜度 FFmpeg
36.樂鑫嵌入式(1-27)
介紹視頻播放器 介紹研究生課題 代碼題:十進(jìn)制字符串轉(zhuǎn)十六進(jìn)制字符串 選幾個(gè)關(guān)鍵字描述自己 你的優(yōu)點(diǎn)和缺點(diǎn) 你期望的工作
(應(yīng)該是KPI)
37.中元匯吉(1-27)(PASS18)
OOP 特性、虛函數(shù) 內(nèi)存泄漏、智能指針 STL 學(xué)過什么數(shù)據(jù)結(jié)構(gòu)、舉例二叉樹的用法 QT 信號與槽 原理 優(yōu)勢 自定義結(jié)構(gòu)體到信號與槽要注意什么 工廠模式、單例模式原理和用法 鎖要注意什么 GDB 用過嗎 項(xiàng)目中要怎么調(diào)試代碼 MySQL 索引是什么 了解軟件架構(gòu)嗎?MVC 模式了解嗎? 怎么使用軟件設(shè)計(jì)思維?是正向還是逆向?
38.Insta360(1-28)(PASS19)
視頻播放器 YUV 是怎么傳遞到 OpenGL 的 AVFrame Parma 的意思 YUV 有很多采樣格式,你采用什么采樣格式 STL vector 和 list 的區(qū)別 map 與 unordered_map 的區(qū)別(考慮到有序與否的區(qū)別、哈希函數(shù)) C++11 的 inplace_push_back 與 push_back 的區(qū)別 unique_ptr 與 shared_ptr 的區(qū)別 lambda 表達(dá)式、怎么捕獲外部變量 virtual 析構(gòu)函數(shù) 多繼承的問題 多線程與多進(jìn)程的區(qū)別 內(nèi)存 地址空間 多進(jìn)程的鎖 自旋鎖原理 怎么避免死鎖 socket 阻塞和非阻塞的區(qū)別 TCP 中間連接的時(shí)候斷開會發(fā)生什么(重傳、超時(shí)、等待狀態(tài)、TCP 可靠連接原理) 進(jìn)程內(nèi)部的棧內(nèi)存、堆內(nèi)存、各自的增長方式 雙鏈表怎么查找倒數(shù)第二個(gè)結(jié)點(diǎn) OpenGL 常見的坐標(biāo)系的變換順序
39.wind金融(2-3)
第 1 個(gè)面試官 寫過多少行代碼 C++ 怎么申請連續(xù)的內(nèi)存 vector 怎么用 C++ 的垃圾回收機(jī)制 工程模式是什么,3 種工工廠模式的區(qū)別 排序算法有哪些,哪些的復(fù)雜度是穩(wěn)定不變的 多線程 自旋鎖是什么 數(shù)據(jù)庫用過嗎 第 2 個(gè)面試官 音視頻怎么同步 展示同步的代碼 視頻播放器 展示平衡功能項(xiàng)目 多線程怎么同步 GDB 怎么調(diào)試 vector 是不是線程安全的,怎么寫個(gè)線程安全的 vector 數(shù)據(jù)庫怎么 sip C++11 的新特性 指針和引用的區(qū)別
40.CVTE
一面(2-22)(PASS20)
二面(2-23)
41.騰訊企業(yè)微信客戶端(2-26)
一面(2-26)(PASS21)
1 小時(shí)內(nèi)做 3 到算法題 反轉(zhuǎn)單鏈表 找出數(shù)組中最小的K個(gè)數(shù) 長整數(shù)相加 講解題目(做的不好,分析復(fù)雜度) 描述 Qt 的消息傳遞機(jī)制 Windows 消息機(jī)制有哪些 做題 區(qū)別 const 指針與 const 變量 引用的用法(左值引用與右值引用、引用不能改變綁定對象) 多態(tài)的用法
二面(3-5)(PASS22)
信號與槽的底層原理;信號與槽怎么做到性能優(yōu)化 哈希表與紅黑樹的對比:結(jié)構(gòu)、查找 Q t的多線程的信號與槽 虛函數(shù)表原理 構(gòu)造函數(shù)調(diào)用虛函數(shù)可以嗎?會發(fā)生什么? YUV 與 RGB 的區(qū)別 音視頻同步的方法 數(shù)據(jù)庫有幾種范式 HTTP 的底層模型用什么實(shí)現(xiàn)(TCP) 網(wǎng)絡(luò)的七層模型,作用、傳輸單位分別是什么 TCP 的三次握手 寫一個(gè)快排;能否用非遞歸方式實(shí)現(xiàn);什么時(shí)候復(fù)雜度最大?
三面(3-11)(PASS23)
繼承、多態(tài)的定義 聽過多用組合,少用繼承嗎 Qt 的信號與槽原理,怎么了解這個(gè)原理的? 進(jìn)程、線程的區(qū)別,對 OS 而言有什么目的 對 I、B、P 幀的了解、MOOV 的格式了解 音視頻的了解 PTS、DTS的區(qū)別 YUV 與 RGB 的區(qū)別 音視頻同步的方法 講下視頻播放器 流程 怎么使用多線程 能否用一個(gè)線程實(shí)現(xiàn) 考慮功能擴(kuò)展嗎 畢業(yè)課題 如何采集、濾波、處理 考慮數(shù)據(jù)采集中斷的情況嗎 考慮 C/S 模式嗎 實(shí)習(xí) 文件傳輸是怎么實(shí)現(xiàn)的 做過什么工作 平時(shí)怎么學(xué)習(xí)
四面(3-11)
給出一個(gè)二維 vector 表示點(diǎn)到原點(diǎn)的距離。一個(gè)五個(gè)點(diǎn),5X5 的二維 vector。求從原點(diǎn)出發(fā),再回到原點(diǎn)的最短路徑,要求必須打印輸出結(jié)果 (條件概率)已知城市中藍(lán)色:綠色車的比例是 15:85,目擊者稱看到藍(lán)色車肇事逃逸,但是人區(qū)別藍(lán)色和綠色的正確率是 80%。求真的是藍(lán)色車肇事逃逸的概率
(三面、四面在同一天進(jìn)行。據(jù)說有的人騰訊面了六面。我止步于吃已經(jīng)很滿足。代碼確實(shí)不會寫)
42.萬興科技
一面(3-2)(PASS23)
Qt、C++ 分別用過多久? 代碼量多少 比賽中你負(fù)責(zé)什么角色 OpenGL 了解的深度、在 QT 中的用法 FFmpeg 的了解 Qt 用過多線程、網(wǎng)絡(luò)嗎 Qt 3D 了解嗎 實(shí)習(xí)過程中學(xué)會什么 C++11 新特性;解釋右值引用是為了解決什么問題?(移動(dòng)語義) 淺拷貝和深拷貝的區(qū)別 OOP 設(shè)計(jì)原則 博客有多少篇 喜歡看什么書
HR面(3-5)(PASS)
綜合面(3-9)
對 FFmpeg 的使用 對音視頻的了解 對 C++ 的了解 用過 C++ 的閉包嗎? OpenGL 的了解 其他 offer 對公司文化的了解 你目前的學(xué)習(xí)方式是什么?
43.元戎啟行
一面(3-10)(PASS24)
介紹一些康復(fù)器械項(xiàng)目 C++11 的新特性 lambda 表達(dá)式 多線程共享內(nèi)容問題,共享對象存放在哪個(gè)空間 進(jìn)程與線程 多進(jìn)程、多線程 多進(jìn)程通信的方式,有幾種信號 OSI 七層模型 TCP 與 UDP 的區(qū)別 TCP 擁塞控制 要了解 MySQL 紅黑樹的定義 手撕代碼:把有序鏈表轉(zhuǎn)為平衡二叉樹 怎么遍歷結(jié)點(diǎn) 復(fù)雜度 優(yōu)化遍歷方式
二面(3-15)
虛函數(shù) 虛函數(shù)是類的定義出現(xiàn)還是對象的時(shí)候出現(xiàn) 純虛函數(shù) 鉆石繼承為何不能出現(xiàn) 智能指針 環(huán)型引用 shared_ptr 的引用計(jì)數(shù)原理 多線程的原子類型 auto 關(guān)鍵字能給數(shù)組賦值,但是不能定義 用過 Qt 的什么模塊
44.VIVO
一面(3-12)(PASS25)
講一下對 OOP 的理解 講一下單例模式 多線程的單例模式 鎖 互斥量為何能夠用在多線程 數(shù)據(jù)庫 表是否一定要有主鍵 主鍵與唯一索引的區(qū)別 left join ,right join,full join 怎么建立索引 索引怎么優(yōu)化
HR面(3-19)
介紹家庭情況 對 IT 工程師的理解 實(shí)現(xiàn)過程的收獲 舉例壓力大的實(shí)例,壓力大的時(shí)候怎么解決 收了什么 offer,為什么拒了 你認(rèn)為手機(jī)會怎么發(fā)展 舉例說明你說服別人接收自己觀點(diǎn)的一個(gè)例子
45.富途W(wǎng)indows客戶端開發(fā)
一面(3-16)(PASS26)
虛表是怎么使用的?虛表指針存放在哪里? 構(gòu)造函數(shù)能否為 virtual,能否調(diào)用虛函數(shù)? coding:兩數(shù)之和,非有序 coding:LeetCode61 ——給定鏈表,按照某個(gè)規(guī)定旋轉(zhuǎn)鏈表 邏輯題:有 10 箱金子,,,,,, 網(wǎng)絡(luò): TCP 與 UDP 的區(qū)別 TCP的窗口擁塞控制 OS:怎么避免死鎖?
二面(3-19)(PASS27)
下面是有一個(gè)全局變量 a 和兩個(gè)線程,這兩個(gè)線程同時(shí)開始并發(fā)執(zhí)行各自的代碼, 在兩個(gè)線程都執(zhí)行結(jié)束后,請問 a 的值為______ static int a = 0;
線程1: for(int i=0; i<10;i++) a = a + 1;線程2: for(int i=0; i<10;i++) a = a + 1;
已知公司 OA 數(shù)據(jù)庫有一個(gè)員工信息表,包含員工 ID,員工姓名,入職時(shí)間,和離職時(shí)間。財(cái)務(wù)審核時(shí)發(fā)現(xiàn) 201803 到 201808 這 6 個(gè)月,當(dāng)時(shí)所有在職員工都少發(fā)了工資,現(xiàn)在老板需要了解有多少人受影響需要獲得補(bǔ)償。請寫出查詢語句。
select?ID??where?entryTime?>?20180301??and?leaveTime?20180831
select?ID?where?entryTime?20180301?and?leaveTime?>?20180831
實(shí)驗(yàn)室有 100 個(gè)瓶子,其中有一瓶裝有慢性毒藥(第 3 天發(fā)作),另外 99 瓶裝有蒸餾水。請問至少需要多少只小白鼠才能在3天內(nèi)找出哪一瓶是慢性毒藥?_______只
4.找出出現(xiàn)頻率最高的前 K 個(gè)數(shù),或者從海量數(shù)據(jù)中找出最大的前 K 個(gè)數(shù)
5.實(shí)現(xiàn)排序二叉樹的插入方法
tyedef?struct?node?{
????int?data;
????struct?node*?left;
????struct?node*?right;
}*BiTree;
void?insertBST(BiTree&?bt,?int?data)
{
?if?(!bt)
?{
??BiTree?ins?=?new?Node;
??ins->data?=?data;
??ins->left?=?ins->right?=?nullptr;
??bt?=?ins;
?}
?else?if?(bt->data?>?data)
??insertBST(bt->left,?data);
?else
??insertBST(bt->right,?data);
}
綜合面(3-23)
對公司的了解 最近的 offer?為何不要? 家庭成員、是否單身 用三個(gè)詞形容自己 參加過的社團(tuán) 為何選擇醫(yī)學(xué)信息工程 擇業(yè)因素 興趣愛好 學(xué)習(xí)方式 自身的優(yōu)勢 怎么完成學(xué)校到公司的過渡?
46.美的
一面(3-17)(PASS28)
OOP 三大特點(diǎn) STL 常用容器 棧與堆的區(qū)別 new 和 malloc 的區(qū)別 指針和引用的區(qū)別 sizeof 的區(qū)別 自增的區(qū)別 內(nèi)存上綁定的區(qū)別 工廠方法模式 TCP 三次握手 內(nèi)存泄漏是什么意思 數(shù)據(jù)庫 事務(wù)的定義、4 個(gè)特性 臟讀、幻讀 索引(數(shù)據(jù)結(jié)構(gòu)、優(yōu)缺點(diǎn)) 鎖的作用 Linux 在文本中快速查找內(nèi)容 找出進(jìn)程的P ID (PS) 如何查看 OS 的大?。╢ree) 工作問題 舉例說明遇到的難題以及解決方法 列舉工作上的過程 說服別人接收你的觀點(diǎn)的例子 團(tuán)隊(duì)合作的例子
二面(3-17)(PASS28)
你的專業(yè)是做什么的? 做過窗口的信號共享嗎? 項(xiàng)目的濾波算法是什么? 音視頻項(xiàng)目的難題是什么? 你的項(xiàng)目來源是哪里? 遇到過程序崩潰的情況嗎? TCP 的連接、釋放過程 time_wait 狀態(tài)分別是什么? 分別發(fā)生在客戶端和服務(wù)端的什么階段?
(終于拿到所謂大廠 offer。但是是 IT 部門,不是研發(fā)部門,在佛山。所以拒了)
47.科大訊飛(3-23)
介紹康復(fù)訓(xùn)練系統(tǒng) vector 如何處理數(shù)據(jù) 數(shù)據(jù)庫 視頻播放器 緩沖機(jī)制 OpenCV 平滑操作 是否用過 MySQL 生產(chǎn)者消費(fèi)者模式 用過 socket 的 I/O 模型嗎? 多線程的用法 主線程 次線程 線程池 怎么操作文件系統(tǒng) new 和 malloc 的區(qū)別
48.多益網(wǎng)絡(luò)(3-24)(PASS)
介紹項(xiàng)目、視頻播放器 FFmpeg 怎么用的 視頻文件是什么格式,怎么存放的 怎么設(shè)計(jì)視頻播放器的暫停?后端是怎么處理的?進(jìn)度條怎么顯示的? 多線程怎么用的? 指針和引用的區(qū)別?在傳遞參數(shù)上有什么區(qū)別? 函數(shù)未定義時(shí)會怎么樣? 怎么刪除雙向鏈表? 快排的思路 堆是不是二叉樹 寫代碼:用 C++ 實(shí)現(xiàn)全排列 工作問題:如何看待加班?
49.冰川網(wǎng)絡(luò)(4-2)
碩士畢業(yè)課題
多線程 怎么切換線程 如何共享數(shù)據(jù) C/S 模式是如何處理的? 用 TCP 怎么傳遞消息? TCP 與 UDP
為何 TCP 沒有 UDP 快 用 UDP 怎么實(shí)現(xiàn)可靠的傳輸? 算法問題:網(wǎng)格中有 2 個(gè)點(diǎn),怎么找到從 A 到 B 的最短路徑?(用廣度優(yōu)先搜索)
數(shù)據(jù)庫:為何索引的數(shù)據(jù)結(jié)構(gòu)用 B-tree?
(因?yàn)閿?shù)據(jù)庫主要消耗在磁盤 I/O 上,所以要優(yōu)化磁盤 I/O ,如果用紅黑樹,樹的深度太高,消耗磁盤 I/O 太多,速度會太慢)
50.英特爾現(xiàn)場面(4-12)
做一份筆試,問的比較細(xì)節(jié),操作系統(tǒng)比較重要,幾個(gè) C語言的關(guān)鍵字沒用過 三個(gè)面試官輪流進(jìn)來房間面試,一個(gè)面試官問半小時(shí)。問的技術(shù)問題不多,主要問項(xiàng)目細(xì)節(jié)。 其中一個(gè)面試官的一個(gè)問題用英語問,要求用英語回答并討論。這個(gè)面試官告訴我好多面對項(xiàng)目的態(tài)度和看法,要發(fā)散思維,考慮用戶體驗(yàn)。
(最后一家面試以英特爾結(jié)束,算是完美結(jié)束了。反正不留上海,不過就不過了)
???????????????? ?END ????????????????? 關(guān)注我的微信公眾號,回復(fù)“加群”按規(guī)則加入技術(shù)交流群。
點(diǎn)擊“閱讀原文”查看更多分享,歡迎點(diǎn)分享、收藏、點(diǎn)贊、在看。
