1. 為什么要引入右值引用,const的左值引用不一樣可以bind到右值嗎?或者為啥不直接用左值引用就可以了。右值的概念是C++98里就存在了,C++11新引入的是右值引用,這個我沒有回答準確。
2. std:move的實現機制,里面做了什么,為什么這樣做就可以產生一個右值reference,這個過程是否涉及引用塌陷。
3. 完美轉發中的forward的實現機制,完美轉發是什么,什么場景需要用到完美轉發;要理解里面的原理你才能回答好!
4. lambda表達式的類型是什么?我當然不知道了,從沒想過這個問題。
5. auto搭配forward reference之后變量型別的推導,大概就是effective modern C++那本書最枯燥的那塊內容。
NVIDIA(英偉達)C++程序員面試題
6. 讓你實現auto推導,你怎么實現?你怎么判斷應該是推導出來為左值還是右值?
7. unique_ptr和shared_ptr有什么區別?能相互轉換嗎?shared_ptr比unique_ptr慢在哪里?為什么多了個引用計數就會慢,照理引用計數只會多小號一點內存和少量的在初始化階段的運算?我回答是為了handle多線程的下引用計數的保護會導致有些開銷,然后面試官就問C++ automic是否了解?
這些問題都蠻有挑戰的,我平常工作中會看些相關的資料,但是鉆研的不夠深入,有些概念有些印象有點了解但沒有融匯貫通。于是在和面試官這樣資深的人交流中敗下陣來,哈哈,自勉!大概需要BJarne Stroustrup這號人物出場才能鎮住面試官了。Anyway,實際工作中應該用不到這么detail的對語言實現機制的了解,既然入了C++這個坑,那就只好努力,爭取早日可以虐菜。
通過領英拿到機會面試,一開始是一輪電話面試,過了之后會連著4面。注意面試時網絡環境的暢通,和面試的軟件。
面試官問的面試題:NVIDIA(英偉達)C++軟件開發工程師面試題
比較簡單的問題就是基礎的c++的和數據結構,操作系統,編譯原理的問題。
還有編程題:反轉二叉樹,斐波那契數列相關。
簡單問了下項目經驗及換工作的原因,按實際情況答了下,然后問了幾個算法題,C++和算法題各一半,沒有認真準備答得不好
面試官問的面試題:NVIDIA(英偉達)software engineer面試題
描述下C++多態的幾種實現形式?
struct互相嵌套怎么實現?
H264的skip模式是什么?
const和define的區別是什么?
NVIDIA(英偉達)工資待遇 共3 條
NVIDIA(英偉達)面試經驗 共 29 條
(共8條) 北京三友知識產權代理有限公司
(共5條) 上海新世紀資信評估投資服務有限公司
(共9條) 上海合合信息科技發展有限公司
(共8條) 福州市縱騰網絡技術有限公司
(共5條) 深圳市杰普特電子技術有限公司
(共6條) 深圳市小鵬投資擔保有限公司