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

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

加入收藏

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

面試技巧

奇虎360校園招聘后臺研發(fā)二面經(jīng)驗

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

閱讀 :491

 

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

       面試時間:2014校招

       招聘公司:奇虎360

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

       一、C和C++

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

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

       1)存的值的類容

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

       2)分配與管理

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

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

       3)生長方式不同

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

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

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

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

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

       new是C++里的運算符,而malloc是c里面的函數(shù)。C++之所以要引入new關(guān)鍵字是因為malloc是封裝好的庫函數(shù),無法修改內(nèi)部結(jié)構(gòu)。但是,在C++里,如果不是內(nèi)部數(shù)據(jù)類型,在絕大多數(shù)情況下分配內(nèi)存的時候是要調(diào)用構(gòu)造函數(shù),釋放內(nèi)存的時候要調(diào)用析構(gòu)函數(shù)的(注意并非所有的類都會調(diào)用,一些極其簡單的類是沒有構(gòu)造函數(shù)和析構(gòu)函數(shù)的,分配方式和C完全一致)。由于malloc無法實現(xiàn),因此C++里增加了new運算符。可以這么理解: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)存的時候會在內(nèi)存塊前添加一個頭部,通常是四字節(jié)(4G)或八字節(jié)(64位的,多少G就自己算吧),然后在freep或deletep的時候找到p前面四字節(jié)或八字節(jié)大小就知道應(yīng)該釋放多少內(nèi)存了。

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

       編譯可以通過,運行時會產(chǎn)生段錯誤(segmentationfault),指針指零的常見錯誤。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

       兩者的區(qū)別

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

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

主站蜘蛛池模板: 91n成人| 一区二区日韩 | 国产第一区二区 | 在线一级片 | 奇米超碰| 成人在线中文字幕 | 69亚洲精品| 国产高清视频一区 | 亚洲 欧美 综合 | 国产精品一区二区久久久久 | 美女视频网站久久 | 亚洲高清一区二区三区 | 国产不卡一区在线观看 | 男女网站在线观看 | 国产成人精品一区二区三区在线 | 在线国产小视频 | 成人黄色三级毛片 | 操操日| 亚洲免费精品 | 亚洲欧洲在线看 | 黄色国产区| 欧美综合在线观看 | 国产激情在线观看 | 欧美高清视频在线观看 | 欧美精品久久 | 欧美毛片免费观看 | 成人精品一区二区户外勾搭野战 | 日韩在线不卡视频 | 久草电影网 | 日本三级电影免费 | 日韩av三区| 欧美在线视频网 | 欧美一级在线免费 | 国产一二三区在线 | 日韩在线视频精品 | 99视频| 国产中文视频 | 国产精品欧美一区二区三区不卡 | 97精品超碰一区二区三区 | 免费小视频在线观看 | 美女国产精品 |