面試題1:
1.CoreFundation框架中的CFRelease函數(shù)作用是什么?
A. 讓對象的引用計數(shù)器減一 ? ?B.直接釋放指針指向的堆區(qū)域數(shù)據(jù)
答案B
面試題2:
2.CFRelease函數(shù)和free函數(shù)有什么區(qū)別?原因是什么?
答案:在CoreFundation框架中提供的CFRelease函數(shù)專門用來釋放CoreFundation的結(jié)構(gòu)體指針。CFRelease和free都是釋放內(nèi)存空間。但是
free有可能存在內(nèi)存泄露,釋放不干凈。
因為:CoreFundation框架中的結(jié)構(gòu)體內(nèi)部也許還有指針指向堆區(qū)域,如果直接free會導(dǎo)致那部分堆區(qū)域無法釋放,引起內(nèi)存泄露。
面試題3:
線程和進(jìn)程的區(qū)別?
1.?每個應(yīng)用程序都會一一對應(yīng)一個進(jìn)程,在內(nèi)存中會占據(jù)一塊存儲空間
PID就是進(jìn)程ID的.?從上圖可以看出每一個程序運(yùn)行的時候,?在內(nèi)存中多會對應(yīng)的進(jìn)程ID.
2.?進(jìn)程在執(zhí)行任務(wù)的時候,會開啟線程,一條線程就代表一個任務(wù),進(jìn)程中可以開啟多條線程,?所以可以同時執(zhí)行多個任務(wù)
面試題4:
集成測試通常都有那些策略?
1、在把各個模塊連接起來的時候,穿越模塊接口的數(shù)據(jù)是否會丟失;
2、各個子功能組合起來,能否達(dá)到預(yù)期要求的父功能;
3、一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;
4、全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題;
5、單個模塊的誤差積累起來,是否會放大,從而達(dá)到不可接受的程度。