- 相關(guān)推薦
聽(tīng)說(shuō)的一道google面試題
1)堆與棧的區別?
2)如何判斷棧分配內存的方向(向上/向下)
3)如何最快的判斷棧的容量(不要用遞歸和循環(huán))
---------------------------------------------------------------------
2)用函數,返回函數內的局部變量地址,和發(fā)起調用的函數內局部變量地址比較
3)這個(gè)只想出這一個(gè)方法,windows下,讀取可執行文件格式里有“保留堆棧大小”的屬性,應該可以判斷棧的容量
--------------------------------------------------------
樓主可有更好的答案?
--------------------------------------------------------
1、棧,先進(jìn)后出,這是主要區別。棧用于函數內臨時(shí)變量,堆用于動(dòng)態(tài)分配內存。
2、用函數,同上
3、等待答案。
--------------------------------------------------------
1, 堆是堆,棧是棧。如果有人很認真的問(wèn)你是否會(huì )區別土豆與黃瓜,你是什么感覺(jué)?
2,現在的機箱很多都支持橫放與豎放的,這個(gè)不太好說(shuō)吧
3,如果說(shuō)明書(shū)沒(méi)有標明相應參數的話(huà),一般測試容量最好的工具是量杯。
--------------------------------------------------------
1.堆是扔個(gè)東西進(jìn)去或者取出來(lái)就要重排序放好的,棧是只能扔在上面從上面取的~
2.push個(gè)東西進(jìn)去再看內存新地址和原地址(前提是能直接訪(fǎng)問(wèn)內存...,不同的編程語(yǔ)言有規定各自標準庫實(shí)現棧的方向,這個(gè)要看編程語(yǔ)言的文檔)
3.定義棧的時(shí)候應該要定義棧的當前l(fā)ength和每單位大小的,乘下
--------------------------------------------------------
1. 棧是數據的存取方法,先進(jìn)后出;堆是數據的排列方法,用2叉樹(shù)定義就是,子節點(diǎn)都必須大于(或都小于)父節點(diǎn)。堆和棧說(shuō)的是兩碼事。
2. 函數,同上的上
3. 那要看用什么存儲方式了,如果用數組(或其他靜態(tài)的連續的存儲方式)存儲數據,最大容量你定義多少就是多少,要得到已用的容量,用尾地址減首地址在加1就是了;用鏈表(或其他動(dòng)態(tài)的非連續的存儲方式),最大容量就是就是程序自己定
【聽(tīng)說(shuō)的一道google面試題】相關(guān)文章:
google的一道JAVA面試題10-15
有關(guān)Google的面試題05-26
GOOGLE公司面試題10-11
google招聘面試題回饋10-03
Google公司面試題集06-04
Google 令人抓狂的面試題10-13
google最新能力面試題06-04
google新能力面試題07-19
Google的新奇面試題分享06-18
Google面試題(中文版)10-08