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) 上一篇 【方向鍵 ( ← )上一篇】

主站蜘蛛池模板: www午夜视频 | 国产99免费视频 | 免费在线观看av片 | 啪啪精品 | 久久久精品天堂 | 91成人在线视频 | 亚洲日本乱码在线观看 | 中国xxxx性xxxx产国 | 精品欧美一区二区三区久久久 | 91原创视频在线观看 | 欧美性乱 | 成人av网站在线观看 | 免费国产视频在线观看 | 午夜不卡福利视频 | 亚洲综合在线视频 | 国产精品久久久久久网站 | 免费一区二区在线观看 | 羞羞色网站 | 欧美精品在线免费观看 | 国产精品久久久久aaaa九色 | 国产ts人妖另类 | 国产一区不卡 | 日批的视频 | 中文在线一区二区 | 亚洲草草视频 | 狠狠色综合网站久久久久久久 | 国产精品一区二区久久久久 | 少妇特黄a一区二区三区88av | 国产精品777一区二区 | 欧美成人免费 | 日韩欧美综合在线视频 | av一级 | 韩日一区二区 | 欧美久久久网站 | 一区二区免费在线观看 | 欧美日韩在线免费 | 成人福利视频 | 日日夜夜操天天干 | 欧美在线视频一区二区 | 99在线视频观看 | 毛片1 |