2016面試題整理

1.weak和assign區(qū)別

2. 用@property聲明的NSString(或NSArray,NSDictionary)經(jīng)常使用copy關鍵字,為什么?如果改用strong關鍵字,可能造成什么問題?這個寫法會出什么問題: @property (copy) NSMutableArray *array;

3. 下面的代碼輸出什么?

@implementation?Son?:?Father

-?(id)init

{

self?=?[super?init];

if?(self)?{

NSLog(@"%@",?NSStringFromClass([self?class]));

NSLog(@"%@",?NSStringFromClass([super?class]));

}

return?self;

}

@end

4.以+ scheduledTimerWithTimeInterval...的方式觸發(fā)的timer,在滑動頁面上的列表時,timer會暫定回調,為什么?如何解決?

5.RunLoop和Autoreleasepool

6.什么是循環(huán)引用?使用block時什么情況會發(fā)生引用循環(huán),如何解決?

7.NSMutableArray *mArray = [NSMutableArray arrayWithObjects:@"a",@"b",@"abc",nil];

NSMutableArray *mArrayCount = [NSMutableArray arrayWithCapacity:1];

[mArray enumerateObjectsWithOptions:NSEnumerationConcurrent usingBlock: ^(id obj,NSUInteger idx, BOOL *stop){

[mArrayCount addObject:[NSNumber numberWithInt:[obj length]]];

}];

NSLog(@"%@",mArrayCount);

8.多線程相關:

如何用GCD同步若干個異步調用?(如根據(jù)若干個url異步加載多張圖片,然后在都下載完成后合成一張整圖)

9.KVC KVO 原理

10.線程間如何通信

11.__weak 和 __block有啥區(qū)別,ARC環(huán)境下

1.__block不管是ARC還是MRC模式下都可以使用,可以修飾對象,還可以修飾基本數(shù)據(jù)類型。

2.__weak只能在ARC模式下使用,也只能修飾對象(NSString),不能修飾基本數(shù)據(jù)類型(int)。

3.__block對象可以在block中被重新賦值,__weak不可以。

12.cell復用

一個顯示中的Cell隊列,一個可復用隊列

屏幕上的Cell移出屏幕后會移到可復用隊列中

新的Cell在創(chuàng)建之前會去復用隊列里面取,取不到就alloc一個

循環(huán)引用產(chǎn)生的原因就是兩個對象分別對彼此強引用,造成一方釋放前都需要先把對方釋放,造成死鎖

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,596評論 30 472
  • 設計模式是什么? 你知道哪些設計模式,并簡要敘述? 設計模式是一種編碼經(jīng)驗,就是用比較成熟的邏輯去處理某一種類型的...
    Jt_Self閱讀 831評論 0 4
  • 設計模式是什么? 你知道哪些設計模式,并簡要敘述? 設計模式是一種編碼經(jīng)驗,就是用比較成熟的邏輯去處理某一種類型的...
    如果我們是朋友閱讀 742評論 0 9
  • 設計模式是什么? 你知道哪些設計模式,并簡要敘述?設計模式是一種編碼經(jīng)驗,就是用比較成熟的邏輯去處理某一種類型的事...
    irenb閱讀 5,372評論 1 21
  • 設計模式是什么? 你知道哪些設計模式,并簡要敘述? 設計模式是一種編碼經(jīng)驗,就是用比較成熟的邏輯去處理某一種類型的...
    不懂后悔閱讀 864評論 0 53

友情鏈接更多精彩內容