freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ios面試題錦集(帶答案)(編輯修改稿)

2025-08-31 23:42 本頁面
 

【文章內(nèi)容簡介】 放時(shí)所經(jīng)歷的生命周期.? kvo是同步還是異步?notification是全進(jìn)程空間的通知嗎?kvo呢??kvo是什么?有什么特性??? UNIX主要支持三種通信方式: 1. 基本通信:主要用來協(xié)調(diào)進(jìn)程間的同步和互斥 (1)鎖文件通信 通信的雙方通過查找特定目錄下特定類型的文件(稱鎖文件)來完成進(jìn)程間 對臨界資源訪問時(shí)的互斥;例如進(jìn)程p1訪問一個(gè)臨界資源,首先查看是否有一個(gè)特定類型文件,若有,則等待一段時(shí)間再查找鎖文件。 (2)記錄鎖文件 2. 管道通信:適應(yīng)大批量的數(shù)據(jù)傳遞 3. IPC:適應(yīng)大批量的數(shù)據(jù)傳遞?為什么?怎樣實(shí)現(xiàn)一個(gè)精準(zhǔn)的timer??還能再foundation庫中找到類似的嗎?(答案眾多,不知道哪個(gè)是對的~~)模板(Template)模式,所有datasource和delegate接口都是模板模式的典型應(yīng)用,組合模式position,所有的container view都用了這個(gè)模式觀察者模式observer,所有的UIResponder都用了這個(gè)模式。52如果要開發(fā)一個(gè)類似eclipse的軟件,支持插件結(jié)構(gòu)。且開放給第三方開發(fā)。你會(huì)怎樣去設(shè)計(jì)它?(大概思路)53. main(){ int a[5]={1,2,3,4,5}。 int *ptr=(int *)(amp。a+1)。 printf(%d,%d,*(a+1),*(ptr1))。}答:2,5 *(a+1)就是a[1],*(ptr1)就是a[4],?,amp。a+1不是首地址+1,系統(tǒng)會(huì)認(rèn)為加一個(gè)a數(shù)組的偏 移,是偏移了一個(gè)數(shù)組的大?。ū纠?個(gè)int,int *ptr=(int *)(amp。a+1)。?則ptr實(shí)際 是amp。(a[5]),也就是a+5?原因如下:  amp。a是數(shù)組指針,其類型為 int (*)[5]。?而指針加1要根據(jù)指針類型加上一定的值,不同類型的指針+1之后增加的大小不同。a是長度為5的int數(shù)組指針,所以要加 5*sizeof(int)所以ptr實(shí)際是a[5],但是prt與(amp。a+1)類型是不一樣的(這點(diǎn)很重要),所以prt1只會(huì)減去sizeof(int*),a,amp。a的地址是一樣的,但意思不一樣,a是數(shù)組首地址,也就是a[0]的地址,amp。a是對象(數(shù)組)首地址,a+1是數(shù)組下一元素的地址,即a[1],amp。a+1是下一個(gè)對象的地址,即a[5].54. 以下為Windows NT下的32位C++程序,請計(jì)算sizeof的值??void Func ( char str[100] )?{? sizeof( str ) = ??}?void *p = malloc( 100 )。?sizeof ( p ) = ?答案:這題 很常見了,Func ( char str[100] )函數(shù)中數(shù)組名作為函數(shù)形參時(shí),在函數(shù)體內(nèi),數(shù)組名失去了本身的內(nèi)涵,僅僅只是一個(gè)指針;在失去其內(nèi)涵的同時(shí),它還失去了其常量特性,可以作自增、自減等 操作,可以被修改。Windows NT 32位平臺下,指針的長度(占用內(nèi)存的大?。?字節(jié),故sizeof( str ) 、sizeof ( p ) 都為4。55. (void)*getNSString(const NSString * inputString){ inputString= @Thisis a main test\n。 return 。}main(void){NSString*a=@Main。NSString *aString = [NSString stringWithString:@%@,getNSString(a)]。NSLog(@%@\n,aString)。}最后問輸出的字符串:NULL,output在 函數(shù)返回后,內(nèi)存已經(jīng)被釋放。56. 列舉幾種進(jìn)程的同步機(jī)制,并比較其優(yōu)缺點(diǎn)。答案:原子操作 信號量機(jī)制自旋鎖管程,會(huì)合,分布式系統(tǒng)?進(jìn)程之間通信的途徑答案:共享存儲系統(tǒng)消息傳遞系統(tǒng)管道:以文件系統(tǒng)為基礎(chǔ)?進(jìn)程死鎖的原因答案:資源競爭及進(jìn)程推進(jìn)順序非法?死鎖的4個(gè)必要條 件答案:互斥、請求保持、不可剝奪、環(huán)路?死鎖的處理答案:鴕鳥策略、預(yù)防策略、避免策略、檢測與解除死鎖57. 堆和棧的區(qū)別管理方式:對于棧來講,是由編譯器自動(dòng)管理,無需我們手工控制;對于堆來說,釋放工作由程序員控制,容易產(chǎn)生memory leak。申請大?。?棧:在Windows下,棧是向低地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),是一塊連續(xù)的內(nèi)存的區(qū)域。這句話的意思是棧頂?shù)牡刂泛蜅5淖畲笕萘渴窍到y(tǒng) 預(yù)先規(guī)定好的,在WINDOWS下,棧的大小是2M(也有的說是1M,總之是一個(gè)編譯時(shí)就確定的常數(shù)),如果申請的空間超過棧的剩余空間時(shí),將提示 overflow。因此,能從棧獲得的空間較小。?堆:堆是向高地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),是不連續(xù)的內(nèi)存區(qū)域。這是由于系統(tǒng)是用鏈表來存儲的空閑內(nèi)存地 址的,自然是不連續(xù)的,而鏈表的遍歷方向是由低地址向高地址。堆的大小受限于計(jì)算機(jī)系統(tǒng)中有效的虛擬內(nèi)存。由此可見,堆獲得的空間比較靈活,也比較大。碎片問題:對于堆來講,頻繁的new/delete勢必會(huì)造成內(nèi)存空間的不連續(xù),從而造成大量的碎片,使程序效率降低。對于棧來講,則不會(huì)存在這個(gè) 問題,因?yàn)闂J窍冗M(jìn)后出的隊(duì)列,他們是如此的一一對應(yīng),以至于永遠(yuǎn)都不可能有一個(gè)內(nèi)存塊從棧中間彈出分配方式:堆都是動(dòng)態(tài)分配的,沒有靜態(tài)分配的堆。棧有2種分配方式:靜態(tài)分配和動(dòng)態(tài)分配。靜態(tài)分配是編譯器完成的,比如局部變量的分配。動(dòng)態(tài)分配由 alloca函數(shù)進(jìn)行分配,但是棧的動(dòng)態(tài)分配和堆是不同的,他的動(dòng)態(tài)分配是由編譯器進(jìn)行釋放,無需我們手工實(shí)現(xiàn)。分配效率:棧是機(jī)器系統(tǒng)提供的數(shù)據(jù)結(jié)構(gòu),計(jì)算機(jī)會(huì)在底層對棧提供支持:分配專門的寄存器存放棧的地址,壓棧出棧都有專門的指令執(zhí)行,這就決定了棧的 效率比較高。堆則是C/C++函數(shù)庫提供的,它的機(jī)制是很復(fù)雜的。58. 什么是鍵值,鍵路徑是什么?模型的性質(zhì)是通過一個(gè)簡單的鍵(通常是個(gè)字符串)來指定的。視圖和控制器通過鍵 來查找相應(yīng)的屬性值。在一個(gè)給定的實(shí)體中,同一個(gè)屬性的所有值具有相同的數(shù)據(jù)類型。鍵值編碼技術(shù)用于進(jìn)行這樣的查找—它是一種間接訪問對象屬性的機(jī)制。鍵路徑是一個(gè)由用點(diǎn)作分隔符的鍵組成的字符串,用于指定一個(gè)連接在一起的對象性 質(zhì)序列。第一個(gè)鍵的?性質(zhì)是由先前的性質(zhì)決定的,接下來每個(gè)鍵的值也是相對于其前面的性質(zhì)。鍵路徑使您可以以獨(dú)立于模型?實(shí)現(xiàn)的方式指定相關(guān) 對象的性質(zhì)。通過鍵路徑,您可以指定對象圖中的一個(gè)任意深度的路徑,使其指向相?關(guān)對象的特定屬性。59. c和objc如何混用1)objc的編譯器處理后綴為m的文件時(shí),可以識別objc和c的代碼, 處理mm文件可以識別objc,c,c++代碼,但cpp文件必須只能用c/c++代碼,而且cpp文件include的頭文件中,也不能出現(xiàn)obj c的代碼,因?yàn)閏pp只是cpp?2) 在mm文件中混用cpp直接使用即可,所以objc混cpp不是問題?3)在cpp中混用obj c其實(shí)就是使用objc編寫的模塊是我們想要的。?如果模塊以類實(shí)現(xiàn),那么要按照cpp class的標(biāo)準(zhǔn)寫類的定義,頭文件中不能出現(xiàn)objc的東西,包括import cocoa的。實(shí)現(xiàn)文件中,即類的實(shí)現(xiàn)代碼中可以使用objc的東西,可以import,只是后綴是mm。?如果模塊以函數(shù)實(shí)現(xiàn),那么頭文件要按 c的格式聲明函數(shù),實(shí)現(xiàn)文件中,c++函數(shù)內(nèi)部可以用objc,但后綴還是mm或m。??總結(jié):只要cpp文件和cpp include的文件中不包含objc的東西就可以用了,cpp混用objc的關(guān)鍵是使用接口,而不能直接使用實(shí)現(xiàn)代碼,實(shí)際上cpp混用的是 objc編譯后的o文件,這個(gè)東西其實(shí)是無差別的,所以可以用。objc的編譯器支持cpp.60. 目標(biāo)動(dòng)作機(jī)制目標(biāo)是動(dòng)作消息的接收者。一個(gè)控件,或者更為常見的是它的單元,以插座變量(參 見插座變量部分)?的形式保有其動(dòng)作消息的目標(biāo)。動(dòng)作是控件發(fā)送給目標(biāo)的消息,或者從目標(biāo)的角度看,它是目標(biāo)為了響應(yīng)動(dòng)作而實(shí)現(xiàn) 的方法。程序需要某些機(jī)制來進(jìn)行事件和指令的翻譯。這個(gè)機(jī)制就是目標(biāo)動(dòng)作機(jī)制。61. cocoa touch框架iPhone OS 應(yīng)用程序的基礎(chǔ) Cocoa Touch 框架重用了許多 Mac 系統(tǒng)的成熟模式,但是它更多地專注于觸摸的接口和優(yōu)化。UIKit 為您提供了在 iPhone OS 上實(shí)現(xiàn)圖形,事件驅(qū)動(dòng)程序的基本工具,其建立在和 Mac OS X 中一樣的 Foundation 框架上,包括文件處理,網(wǎng)絡(luò),字符串操作等。Cocoa Touch 具有和 iPhone 用戶接口一致的特殊設(shè)計(jì)。有了 UIKit,您可以使用 iPhone OS 上的獨(dú)特的
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1