iOS 微博面試題

群里搜集唯蝶,整理一下,侵刪遗嗽。

一粘我、 選擇題
1、 定義協(xié)議時(shí)痹换,在協(xié)議名稱后加上<NSOb ject>的作用是:
A.新定義的協(xié)議遵守<NSObject>協(xié)議征字。
B.新定義的協(xié)議是<NSOb ject>協(xié)議的子協(xié)議。
C.遵守新定義的協(xié)議的對(duì)象娇豫,也必須遵守<NSOb ject>協(xié)議匙姜。
D. 遵守新定義的協(xié)議的對(duì)象,必須是NSObject的子類冯痢。

2氮昧、 以下代碼存在的問(wèn)題是:

dispatch_queue_t queue = dispatch_queue_create("com.apple.www", DISPATCH_QUEUE_CONCURRENT);
    dispatch_async(queue, ^{
        [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(actionTime:) userInfo:nil repeats:YES];
    });

- (void)actionTime:(NSTimer *)timer {
    NSLog(@"---- %@",[NSDate date]);
}

A.運(yùn)行時(shí)崩潰
B.死鎖
C.定時(shí)器不執(zhí)行
D.定時(shí)器只執(zhí)行一-次

3、 以下哪些情況容易造成循環(huán)引用?
A. dispatch async 的block 中使用self
B.使用strong 修飾delegate 屬性
C. self作為NSNotificationCenter 的observer
D. self作為所持有的NSTimer 的target

4浦楣、以下哪些類跟UIView有繼承關(guān)系(直接袖肥、間接的父類或子類) ?
A. UIControl
B. UIGestureRecognizer
C. CALayer
D. UIResponder

5 、下列關(guān)于OC消息機(jī)制說(shuō)法不正確的是?
A椒振、OC的實(shí)例對(duì)象的isa指針指向它的類對(duì)象昭伸,類對(duì)象的isa指針指向它的元類對(duì)象
B、OC的調(diào)用一個(gè)未實(shí)現(xiàn)的實(shí)例方法澎迎,我們可以在NSObject的resolveClassMethod中進(jìn)行添加方法進(jìn)行補(bǔ)救
C庐杨、OC可以運(yùn)用運(yùn)行時(shí)特性向Class的對(duì)象中動(dòng)態(tài)添加方法
D、OC的實(shí)例方法是存放在相應(yīng)實(shí)例對(duì)象的methodlist中夹供,靜態(tài)方法存在相應(yīng)的類對(duì)象的methodlist中的
E灵份、OC可以運(yùn)用運(yùn)行時(shí)特性向?qū)ο蟮腃ategory中實(shí)現(xiàn)動(dòng)態(tài)綁定屬性,達(dá)到category添加成員變量的效果
F哮洽、OC可以運(yùn)用運(yùn)行時(shí)特性通過(guò)class_ addIvar ()向編譯好的Class添加成員變量

6填渠、在HTTP請(qǐng)求中,返回代碼401和500代表下列哪兩種狀態(tài)
A:請(qǐng)求網(wǎng)頁(yè)不存在
B:未授權(quán)
C:服務(wù)器內(nèi)部錯(cuò)誤
D禁止訪問(wèn)

7、以下代碼輸出的日志是

dispatch_sync(dispatch_get_main_queue(), ^{
        printf("1");
    });
    printf("2");

A. 12
B. 21
C.1
D.2
E. 無(wú)輸出

8氛什、在開發(fā)過(guò)程中莺葫,block的使用很容易造成內(nèi)存泄漏,對(duì)于下面代碼會(huì)不會(huì)造成內(nèi)存問(wèn)題? 需要如何處理?

[UIView animateWithDuration:0.25 animations:^{
        self.alpha = 0;
    }];

A.會(huì)造成內(nèi)存問(wèn)題
B. 不會(huì)造成內(nèi)存問(wèn)題
會(huì)的話枪眉, 要如何處理_______

9捺檬、以下代碼第二行編譯不通過(guò),修改不正確的是贸铜。
NSError * error = nil;
NSError ** plError = &error;
A.__strong NSError ** pError = &error;
B.NSError __strong ** pError = &error ;
C.NSError * __strong * pError = &error;
D. NSError ** __strong pError = &error;

10堡纬、runloop Observer 可以監(jiān)聽(tīng)的事件為:
A、進(jìn)入runloop和退出runloop
B 蒿秦、執(zhí)行完timer 事件
C烤镐、執(zhí)行source事件之前和執(zhí)行完source事件
D、等待前和喚醒后

參考答案(僅供參考棍鳖,如有誤請(qǐng)指正)
1炮叶、A、C
2鹊杖、C 解析:平時(shí)用定時(shí)器的時(shí)候 用scheduledTimerWithTimeInterval這個(gè)方法創(chuàng)建 實(shí)際上做了兩個(gè)操作 一個(gè)是創(chuàng)建了定時(shí)器 另一個(gè)是把創(chuàng)建完的定時(shí)器 放到runloop里 而且都是在主線程創(chuàng)建 默認(rèn)主線程的runloop是開啟的 所以不用管 但是到了子線程里 runloop不會(huì)默認(rèn)開啟 所以要手動(dòng)開啟runloop 才能啟動(dòng)定時(shí)器
3悴灵、B扛芽、D
4骂蓖、A、D
5川尖、B登下、D、F
6叮喳、B被芳、C
7、E 解析:死鎖
dispatch_sync在等待block語(yǔ)句執(zhí)行完成馍悟,而block語(yǔ)句需要在主線程里執(zhí)行畔濒,所以dispatch_sync如果在主線程調(diào)用就會(huì)造成死鎖
dispatch_sync是同步的,本身就會(huì)阻塞當(dāng)前線程锣咒,也即主線程侵状。而又往主線程里塞進(jìn)去一個(gè)block,所以就會(huì)發(fā)生死鎖毅整。
8趣兄、B PS:感覺(jué)是個(gè)坑。如果有誤悼嫉,請(qǐng)不吝賜教
9艇潭、D
10、A、D

// 1. 創(chuàng)建監(jiān)聽(tīng)者
     /**
      *  創(chuàng)建監(jiān)聽(tīng)者
      *
      *  @param allocator#>  分配存儲(chǔ)空間
      *  @param activities#> 要監(jiān)聽(tīng)的狀態(tài)
      *  @param repeats#>    是否持續(xù)監(jiān)聽(tīng)
      *  @param order#>      優(yōu)先級(jí), 默認(rèn)為0
      *  @param observer     觀察者
      *  @param activity     監(jiān)聽(tīng)回調(diào)的當(dāng)前狀態(tài)
      */
     CFRunLoopObserverRef observer = CFRunLoopObserverCreateWithHandler(kCFAllocatorDefault, kCFRunLoopAllActivities, YES, 0, ^(CFRunLoopObserverRef observer, CFRunLoopActivity activity) {
         
         /*
          kCFRunLoopEntry = (1UL << 0),          進(jìn)入工作
          kCFRunLoopBeforeTimers = (1UL << 1),   即將處理Timers事件
          kCFRunLoopBeforeSources = (1UL << 2),  即將處理Source事件
          kCFRunLoopBeforeWaiting = (1UL << 5),  即將休眠
          kCFRunLoopAfterWaiting = (1UL << 6),   被喚醒
          kCFRunLoopExit = (1UL << 7),           退出RunLoop
          kCFRunLoopAllActivities = 0x0FFFFFFFU  監(jiān)聽(tīng)所有事件
          */
         switch (activity) {
             case kCFRunLoopEntry:
                 NSLog(@"進(jìn)入");
                 break;
             case kCFRunLoopBeforeTimers:
                 NSLog(@"即將處理Timer事件");
                 break;
             case kCFRunLoopBeforeSources:
                 NSLog(@"即將處理Source事件");
                 break;
             case kCFRunLoopBeforeWaiting:
                 NSLog(@"即將休眠");
                 break;
             case kCFRunLoopAfterWaiting:
                 NSLog(@"被喚醒");
                 break;
             case kCFRunLoopExit:
                 NSLog(@"退出RunLoop");
                 break;
             default:
                 break;
         }
     });
     
     // 2. 添加監(jiān)聽(tīng)者
     /**
      *  給指定的RunLoop添加監(jiān)聽(tīng)者
      *
      *  @param rl#>       要添加監(jiān)聽(tīng)者的RunLoop
      *  @param observer#> 監(jiān)聽(tīng)者對(duì)象
      *  @param mode#>     RunLoop的運(yùn)行模式, 填寫默認(rèn)模式即可
      */
     CFRunLoopAddObserver(CFRunLoopGetCurrent(), observer, kCFRunLoopDefaultMode);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蹋凝,一起剝皮案震驚了整個(gè)濱河市鲁纠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鳍寂,老刑警劉巖房交,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異伐割,居然都是意外死亡候味,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門隔心,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)白群,“玉大人,你說(shuō)我怎么就攤上這事硬霍≈穆” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵唯卖,是天一觀的道長(zhǎng)粱玲。 經(jīng)常有香客問(wèn)我,道長(zhǎng)拜轨,這世上最難降的妖魔是什么抽减? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮橄碾,結(jié)果婚禮上卵沉,老公的妹妹穿的比我還像新娘。我一直安慰自己法牲,他們只是感情好史汗,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拒垃,像睡著了一般停撞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悼瓮,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天戈毒,我揣著相機(jī)與錄音,去河邊找鬼谤牡。 笑死副硅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的翅萤。 我是一名探鬼主播恐疲,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼腊满,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了培己?” 一聲冷哼從身側(cè)響起碳蛋,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎省咨,沒(méi)想到半個(gè)月后肃弟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡零蓉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年笤受,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片敌蜂。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡箩兽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出章喉,到底是詐尸還是另有隱情汗贫,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布秸脱,位于F島的核電站落包,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏摊唇。R本人自食惡果不足惜咐蝇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望遏片。 院中可真熱鬧嘹害,春花似錦撮竿、人聲如沸吮便。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)髓需。三九已至,卻和暖如春房蝉,著一層夾襖步出監(jiān)牢的瞬間僚匆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工搭幻, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咧擂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓檀蹋,卻偏偏與公主長(zhǎng)得像松申,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,089評(píng)論 1 32
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 29,320評(píng)論 8 265
  • iOS面試準(zhǔn)備 基礎(chǔ) 1. 為什么說(shuō)Objective-C是一門動(dòng)態(tài)的語(yǔ)言贸桶? 編譯期:即編譯器對(duì)語(yǔ)言的編譯階段舅逸,編...
    LemonFan閱讀 558評(píng)論 0 1
  • 把網(wǎng)上的一些結(jié)合自己面試時(shí)遇到的面試題總結(jié)了一下,以后有新的還會(huì)再加進(jìn)來(lái)皇筛。 1. OC 的理解與特性 OC 作為一...
    AlaricMurray閱讀 2,546評(píng)論 0 20
  • 安穩(wěn)下來(lái)了琉历,身上所帶盤纏無(wú)多,也不可坐吃山空水醋,須得找份兒營(yíng)生旗笔。從內(nèi)衣袋里挖出帶著滾燙體溫及與散發(fā)著烤白薯味兒的天...
    A李二旺閱讀 236評(píng)論 0 0