你遇到過哪些高質量的 C 面試?

時間 2021-05-06 10:47:38

1樓:Xi Yang

我們的C++面試真題:

企鵝是不是鳥?

細菌是不是生物?

y=x的導數是什麼?

堆記憶體和棧記憶體有啥區別?

反正烏泱烏泱的人都答不出來,好像也不難的樣子,我也不知道為什麼。。。

2樓:樓主別編故事裝逼了

std::vector擴容的時候,原有物件是怎麼處理的?記憶體拷貝?拷貝?移動?他們都在哪些場景下發生,具體舉例說明。

這是我最近想的面試題,面了十幾個人,沒有乙個人完整說清楚的。

3樓:淇漯草

鏈結相關知識

這一塊跟c和c++都有一定關係,一般從c的角度出發。

我是主動說的,結果對方都聽得懂,符號解析,重定位什麼的,就很開心。

4樓:青生先森

有幾個問題印象深刻:

1.實現讀檔案函式,即read();

2.有一萬關的遊戲,某關是否通關不影響玩下一關(比如第一關沒關,我可以打2–10000關中任意一關),如何記錄某關過沒過最節約記憶體呢? 面試官說的是用字串用01表示,某個位置代表某關,有更好的辦法嗎?

有解答的嗎?

5樓:尋根

C++的類物件為什麼不能用memset初始化?舉乙個反例:有虛函式的類生成的物件會有乙個隱含的虛函式表指標,這給指標指向的位址由編譯器決定,memset會修改這個指標的指向,從而導致在呼叫虛函式時出錯。

6樓:

我以前主要問乙個問題,最新的c++標準有那些亮點?

不知道的人肯定對c++無愛,基本可以直接pass了。

另外會問下多執行緒,模板偏特化,用來定位對方的水平。

碰到好多培訓班出來的,啥都不懂,面了好久,後來碰到了個只會 c 的,但聊了以後發現思路清晰,有專案經驗,就招了,結果很靠譜。

7樓:

其實我覺得C++就那麼多東西,面試官隨便說乙個點,我們作為面試者要自己展開,直到面試官喊停就可以了。

比如面試官問智慧型指標。

首先說三個智慧型指標的實現以及記憶體模型(建議使用make shared因為make shared的記憶體模型可能是control block和物件連在一起的、control block為什麼要有weak ref count),unique的T偏特化,shared from this的設計思路crtp,智慧型指標的設計指導思想raii,智慧型指標的執行緒安全性,等等。

然後由智慧型指標的記憶體模型說到堆疊的分配,虛擬位址,exec載入,動態鏈結庫,mmap,堆的實現(freelist、分配一塊大的33頁(好像是、記不住了)、直接mmap),再展開可以說頁表、tlb、tlb重新整理,程序切換(switch mm、switch to、系統呼叫int 80過程、呼叫約定,fork把子程序tss的rax設定為0所以子程序fork返回0),帶程序id的tlb,ipc,等等。

T偏特化說到C++模板的偏序原則,說到msvc、gcc、clang的array decay的偏序規則不一致,說到C++模板例項化原理(名稱查詢、引數推導、引數替換、過載決議),SFINAE,模板元程式設計。

crtp說到多型和system F。爬一遍lambda cube,說到dependent type以及C++閹割版的非型別模板引數。再說到遞迴,為什麼system F裡的遞迴就比stlc裡的和諧,強在哪。

所以我覺得面試官問什麼一點也不重要。主要是面試官想和你以什麼方式聊。如果面試官要是敞開心扉放飛自我,總有面試官熟悉的領域,開開心心聊倆小時完事。

如果面試官要是拿個小本本記你答題答的對不對,那面試官的引導是最重要的。

8樓:弓長吉霸

隨便出一道最簡單的,自己瞎編的。。。哈哈

Combox控制項SetItemData()幹什麼用的?

例如:Index = m_ccbAsd.AddString(pQwe->m_Name);

m_ccbAsd.SetItemData(Index, pQwe->m_Id);

9樓:孟永康

不是自己面試遇到的,但是是知乎上看到的乙個面試題,個人覺得很好:

個陣列傳遞到函式,蛻變成指標,求位元組數。具體做法在

孟永康:C++ 陣列、指標、引用小探

10樓:Tony

輸入文字,然後逆向輸出,演算法隨意

我吐槽太簡單了,這要個蛋演算法啊,當場在小黑板上寫了個std然後跟我說文字40G,問我這個要多久能完成我說算不完,這個會宕機,你早跟我說超大文字啊...

11樓:欲三更

我覺得高質量不一定是難度大。

畢業找工作的第一次面試,我還記得其中幾個個問題:

1,enable_share_from_this 是做什麼的,請舉乙個場景說明?

然後就開始聊多執行緒程式設計模式、執行緒安全等問題。我覺得這個問題是乙個很好的問題,從語言出發,擴充套件到工程經驗和對程式設計的理解。而且弱指標確實是c++非常有特色的乙個特性。

2,如何實現乙個引用計數指標,以及其中要注意的點?

這也是乙個比較有內容的問題。大致說了一下方案,面試官又追問了諸如入侵性與非入侵性設計的區別、優劣,以及析構物件時多動態庫架構情況下本地堆問題,還有引用計數的多執行緒安全問題,有鎖怎麼實現,無鎖怎麼實現。

3,為什麼stl中的記憶體分配器要設計為乙個模板引數而不是乙個構造函式引數?

這個就屬於瞎聊了,各抒己見唄。最後扯到型別系統如何幫助程式設計師排錯之類的問題。

那次面試還有當場程式設計測試,我做了倆題目,乙個是實現乙個字串的演算法,主要是考察buffer設計之類的,數學上沒什麼難度。另乙個是bug排查,程式中設定了乙個典型情況,就是記憶體越界。

這樣的問題你說多難也沒多難,但是對於基礎知識、理解力,甚至表達能力都有不錯的考察角度。我覺得這樣的面試就是高質量的面試。

而且面試題其實和offer大小也很有關係不是嗎?你總不能乙個月給五千然後面試人家手寫紅黑樹吧?有些公司就這樣,面試題又偏又難面試官吹鬍子瞪眼,可是待遇又不好。

最後人家過了也不來,何苦呢?

我當時面試的這家公司待遇處於校招二線水平,從面試題來看,他們還是很務實的。

12樓:王匹夫

stl各個容器的大概用途,時間複雜度及特點。

crtp和sfinae

c++14 c++17中你感興趣的新特性,比如說auto in template之類的

template 和 virtual function 區別用途簡單實現一下std::function

簡單實現一下shared pointer

13樓:

2017春招,鵝廠問了虛函式和虛表,m$問了物件導向?,呃好像和c++沒關係,總之針對語言的問題質量都挺低的..

---更新的分割線

講個鬼故事,我面試被問了c++結果來寫最好的語言

14樓:薛昊

遇到的面試中單純C++特性的話,虛函式的實現機制是怎樣的;模版的特化偏特化是指什麼;std::map是如何實現的,描述時間空間特性;std::vector的增長方式是怎樣的,以及與std::

list進行對比;造成迭代器失效的原因都有什麼&為什麼

15樓:

cpp多型實現原理

容器rotate的三種實現

vector如何動態擴容,stl預設記憶體池如何實現手寫乙個shared_ptr(不考慮各種異常)僅遍歷一次ip字串,判斷該ip格式是否正確cpp實現向量的延遲計算

cpp定位記憶體洩露和profile的工具

16樓:Milo Yip

唉,說起來都是淚,有 (partial) template specialization 沒聽說過的,有 dynamic_cast 不知道是什麼的,有說不出 std::map 和 std::unordered_map 特性和各操作時間複雜度的。

我都想提高一下面試質量。

17樓:

說說去年校招遇到的。

C++知識點多,通常都會被問一堆小問題,比較多的如STL、記憶體布局等,讓寫東西的反而少,因而印象深刻,一次讓實現shared_ptr,一次讓實現bind。感覺這更能體現面試者的C++水平。

補充一下,個人感覺 shared_ptr 主要考察引用計數的實現方式,然後把五大函式寫出來就超過90%的應屆生了,能考慮執行緒安全超過預期。

bind確實過難了, 問這種問題可能是不想招人了,也可能是想看一下面試者的極限,不過勉強寫個bind1st應該也可以過關,哈哈

你看過哪些高質量的電影?

壹粒沙影視剪輯 高質量個人感覺周星馳的電影 大話西遊系列 大話西遊之月光寶盒 和 大話西遊之大聖娶親 西遊記大結局之仙履奇緣。還有林語音的電影 城南舊事 和謝晉的電影 Wrangler 豆瓣評分都是高分經典電影。 影音快訊 1 當你面臨困境,快撐不住的時候,看一下 當幸福來敲門 摔跤吧爸爸 2 當你...

你遇到過哪些奇葩的面試者?

落不落一片葉子 今天剛剛一起面試了3個應屆畢業生,女生,給人開第一眼覺得還挺舒服的,然後進入面試環節 第乙個問題 我說簡單介紹下自己 答 我叫什麼,今年 馬上 畢業 然後就不說話,我還在等著下文,等了快1分鐘了,場面是沉默的 第二個問題 我問之前有面試過嗎?有做準備嗎?答 沒有不知道第三 問你想找個...

你加入的高質量社群有哪些?

芷藍 從邏輯上來說 門檻低,質量高 這樣的社群是不存在的。我每年加入各種付費圈子要花將近5萬塊錢,這是我對自己的固定價值投資。雖然這裡不能說具體的社群名稱,但是我可以分享一些自己尋找高質量社群的方法。1 不要去抖音上面找付費社群,我不敢說100 割韭菜,但是95 吧。2 最好從知識星球這個渠道來尋找...