99精品在线免费_久久99精品久久久久久久青青日本_精品亚洲成人_欧美国产一区二区在线观看_亚洲自拍电影_久久久久久久久久97

歡迎來到 職場詞典網(wǎng) , 一個(gè)優(yōu)秀的職場知識(shí)學(xué)習(xí)網(wǎng)站!

加入收藏

您所在的位置:首頁 > 面試指南 > 面試技巧

面試技巧

奇虎360校園招聘后臺(tái)研發(fā)二面經(jīng)驗(yàn)

分類: 面試技巧 職場詞典 編輯 : 職場知識(shí) 發(fā)布 : 04-17

閱讀 :502

 

       職位類型:后臺(tái)研發(fā)

       面試時(shí)間:2014校招

       招聘公司:奇虎360

       360二面主要是技術(shù)復(fù)試,以下我能回想起的面試題目,僅供大家參考。

       一、C和C++

       1、堆和棧的區(qū)別

       堆和棧均是計(jì)算機(jī)硬件層面的上概念,操作系統(tǒng)給每個(gè)進(jìn)程分配4G(前提32位)的虛擬內(nèi)存空間。內(nèi)存空間分別由堆、棧、數(shù)據(jù)段和代碼段組成。總體來說,堆和棧的區(qū)別主要有一下幾點(diǎn):

       1)存的值的類容

       堆中的值一般是由new、malloc、realloc分配的,存值類容不固定。可以往里寫任何類型的值。棧里存的是函數(shù)返回地址,函數(shù)參數(shù)和局部變量等。

       2)分配與管理

       堆是動(dòng)態(tài)分配的,需要程序員調(diào)用new、malloc等分配,調(diào)用delete,free等釋放。棧是由編譯器將源代碼編譯成一條條“push”“pop”指令,CPU執(zhí)行到“push”就自動(dòng)壓棧,執(zhí)行到“pop”就自動(dòng)彈棧。無需程序員管理。push、pop指令是編譯器自動(dòng)生成的,無需顯示告訴其何時(shí)“push”何時(shí)“pop”,達(dá)到了自動(dòng)管理

       注意:堆是動(dòng)態(tài)分配的(malloc、new、realloc),棧可以靜態(tài)分配也可以動(dòng)態(tài)分配(alloca函數(shù))

       3)生長方式不同

       棧是自頂向下增長,堆的增長方式有三種:首次適應(yīng)、最佳適應(yīng)和最差適應(yīng)

       4)是否產(chǎn)生碎片

       棧不會(huì)產(chǎn)生碎片,堆會(huì)產(chǎn)生,尤其是頻繁分配和釋放的時(shí)候

       5)空間大小不同:win32中,堆可達(dá)4G;VC中棧默認(rèn)1M(可以修改)。

       2、new和malloc的區(qū)別

       new是C++里的運(yùn)算符,而malloc是c里面的函數(shù)。C++之所以要引入new關(guān)鍵字是因?yàn)閙alloc是封裝好的庫函數(shù),無法修改內(nèi)部結(jié)構(gòu)。但是,在C++里,如果不是內(nèi)部數(shù)據(jù)類型,在絕大多數(shù)情況下分配內(nèi)存的時(shí)候是要調(diào)用構(gòu)造函數(shù),釋放內(nèi)存的時(shí)候要調(diào)用析構(gòu)函數(shù)的(注意并非所有的類都會(huì)調(diào)用,一些極其簡單的類是沒有構(gòu)造函數(shù)和析構(gòu)函數(shù)的,分配方式和C完全一致)。由于malloc無法實(shí)現(xiàn),因此C++里增加了new運(yùn)算符。可以這么理解:new=malloc+構(gòu)造函數(shù)。delete=free+析構(gòu)函數(shù)。而且new和delete還可以申請數(shù)組和釋放數(shù)組,如newint[10],delete[]等。

       free和delete如何知道應(yīng)該釋放多少內(nèi)存

       答:malloc和new在分配內(nèi)存的時(shí)候會(huì)在內(nèi)存塊前添加一個(gè)頭部,通常是四字節(jié)(4G)或八字節(jié)(64位的,多少G就自己算吧),然后在freep或deletep的時(shí)候找到p前面四字節(jié)或八字節(jié)大小就知道應(yīng)該釋放多少內(nèi)存了。

       3、寫個(gè)類A,聲明類A指針指向NULL,調(diào)用類A的方法會(huì)有什么后果,編譯通過嗎?

       編譯可以通過,運(yùn)行時(shí)會(huì)產(chǎn)生段錯(cuò)誤(segmentationfault),指針指零的常見錯(cuò)誤。

       4、C++如何找到不同類型的成員方法?

       什么是重載,相同參數(shù)不同返回值可以嗎?為什么?對不同函數(shù)編譯器會(huì)加什么參數(shù)?externC

       C++的特性,C中沒有。函數(shù)的參數(shù)的類型、個(gè)數(shù)或者順序不同,因此在編譯的時(shí)候會(huì)編入?yún)?shù)信息,例如intf(inta,doubleb)編譯后會(huì)是f@int@double之類的,注意看沒有返回值信息在里面。加了externC以后,編譯器就按C標(biāo)準(zhǔn)編譯了,因此所有的重載函數(shù)就都成了一個(gè)樣子的。

       5、多態(tài)在現(xiàn)實(shí)中的應(yīng)用,多態(tài)的實(shí)現(xiàn)原理

       問:sizeof空類為多少?為什么這么設(shè)計(jì)?

       答:sizeof一個(gè)空類是一個(gè)字節(jié)(char)。

       一個(gè)類能夠?qū)嵗幾g器就需給它分配內(nèi)存空間,來指示類實(shí)例的地址,這里編譯器默認(rèn)分配了一個(gè)字節(jié)(如:char),以便標(biāo)記可能初始化的類實(shí)例,同時(shí)使空類占用的空間也最少(即1字節(jié))

       問:sizeof一個(gè)只有一個(gè)虛函數(shù)的類等于多少?

       答:等于sizeof(int),即一個(gè)指針的大小。一般32位系統(tǒng)下是4個(gè)字節(jié)。

       問:AB兩個(gè)類各自有個(gè)虛函數(shù),C繼承A和B,sizeof(C)為多少?

       答:等于2*sizeof(int),即2倍指針大小,一般32位系統(tǒng)下是8個(gè)字節(jié)。

       問:構(gòu)造函數(shù)能聲明為虛函數(shù)嗎,析構(gòu)函數(shù)呢?為什么?

       6、關(guān)于地址對齊

       64位是什么意思,CPU64位指的是什么,操作系統(tǒng)64位指的是什么?

       為什么要有地址對齊,CPU如何取址?

       哪些情況會(huì)遇到地址對齊,試舉一例?

       二、進(jìn)程與線程

       兩者的區(qū)別

下一篇:面試結(jié)束后要做的事情 下一篇 【方向鍵 ( → )下一篇】

上一篇:行政專員面試技巧和注意事項(xiàng) 上一篇 【方向鍵 ( ← )上一篇】

主站蜘蛛池模板: 成人av片在线观看 | 亚洲午夜精品视频 | 午夜av在线 | 欧美成年人视频在线观看 | 成人精品毛片 | 久久国产精品一区二区三区 | 韩日一区二区 | 久草精品视频 | 国产免费播放视频 | 亚洲欧美视频一区 | 欧美乱码精品一区二区三区 | 亚洲午夜精品一区二区三区他趣 | 懂色av一区二区三区在线播放 | 一二区成人影院电影网 | 午夜性色a√在线视频观看9 | 中文字幕 国产 | 中文字幕精品视频 | 91九色视频在线 | 久草新在线 | 嫩草视频在线 | 福利视频二区 | 国产91丝袜在线18 | 国产精品欧美日韩 | a级免费视频 | 国产精品永久久久久 | 国产亚洲欧美在线 | 一区二区三区网站 | 欧美一区二区三区在线视频 | 亚洲一区二区在线播放 | 资源首页二三区 | 国产在线a| 国产福利91精品 | 天天操天天射综合网 | 成人性生交a做片 | 在线国产一区二区 | 日韩h| 欧美一区二区免费电影 | 中文字幕一区二区三区不卡在线 | 91观看| 久久99精品久久久 | 免费观看一级黄色录像 |