Qt,C++面經(jīng)
記錄一波自己的面試經(jīng)歷,也給準(zhǔn)備找工作和實(shí)習(xí)的兄弟一些面試問(wèn)題經(jīng)驗(yàn),希望我和大家都能能快快找到工作,嗚嗚┭┮﹏┭┮
注:題主答得很爛,各位看看題目就行,答主的答案僅供參考。
C++都+在什么地方,你認(rèn)為C++的特色是什么:
C++對(duì)比C語(yǔ)言主要在于多態(tài),多態(tài),和STL(自我發(fā)揮,瞎編的)
虛函數(shù)是什么,虛函數(shù)表在程序中有幾份:
虛函數(shù)是實(shí)現(xiàn)接口的,只定義不實(shí)現(xiàn),可以讓派生類去自定義。只有一份
new的對(duì)象能free嗎
不能
Vector和list有什么區(qū)別:
vector底層是數(shù)組,list底層是雙向鏈表,vector隨機(jī)讀取速度塊,增刪速度慢,list增刪速度塊,首位元素獲取速度快
vector和list實(shí)際工作中的使用場(chǎng)景:
一般大量讀的時(shí)候選擇vector,一般修改多,順序獲取數(shù)據(jù)的地方用list
vector和list在什么情況下迭代器會(huì)失效:
vector有可能會(huì)失效,因?yàn)樘砑訑?shù)據(jù)可能會(huì)進(jìn)行擴(kuò)容,導(dǎo)致迭代器失效,list底層是數(shù)組,刪除增加不會(huì)影響迭代器
map和unordered_map有什么區(qū)別:
map底層是紅黑樹,unordered_map底層是哈希表。
多線程用的多嗎?都要那些方式:
消息隊(duì)列,信號(hào),信號(hào)量,我用的信號(hào)比較多。
智能指針都有那些,區(qū)別是什么:
有三個(gè),unique,share,wrek,unique最安全,且占用內(nèi)存小,share可以被多個(gè)指針指向,占用內(nèi)存大,但是不線程安全,wreak是share的升級(jí)版,解決了線程安全
引用和指針的區(qū)別,常值引用是什么?
引用是一種特殊的指針,指向一個(gè)地址,只能讀不能改,類似const修飾過(guò)的變量,常值引用是指向一個(gè)常值的引用(廢話,這個(gè)其實(shí)我現(xiàn)在也沒(méi)整明白)
Qt4和Qt5的槽函數(shù)有什么區(qū)別
Qt4類似宏定義,不會(huì)檢查傳入?yún)?shù)對(duì)錯(cuò),并且不會(huì)指定具體發(fā)出者是誰(shuí),存在安全問(wèn)題(這塊自我發(fā)揮的)
如果用QPainter繪圖,想放大縮小怎么辦
重定義鼠標(biāo)事件(我覺(jué)得應(yīng)該就是這么答,但是聽面試官的語(yǔ)氣感覺(jué)不是很完善)
Qt的自定義庫(kù)和Stl的有什么區(qū)別,比如Qlist和list的區(qū)別
Qt會(huì)用Qvariant進(jìn)行封裝,并且進(jìn)行了線程安全的定義(這塊完全是我瞎編的,我也不知道答案)
結(jié)語(yǔ):其實(shí)知識(shí)點(diǎn)就是這么幾個(gè),剩下的基本上都是繞著自己的項(xiàng)目來(lái),加油各位
#C++面試##面試經(jīng)驗(yàn)??##QT##C++面試題##面經(jīng)#