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

正文內(nèi)容

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

2025-08-31 23:42 本頁面
 

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