今日頭條iOS高級(jí)工程師第1輪面試內(nèi)容

面試形式:電話面試

1. 你平時(shí)怎么解決網(wǎng)絡(luò)請(qǐng)求的依賴關(guān)系:當(dāng)一個(gè)接口的請(qǐng)求需要依賴于另一個(gè)網(wǎng)絡(luò)請(qǐng)求的結(jié)果

解析:

  • 辦法1:線程:NSOperation 操作依賴和優(yōu)先級(jí)
[operationB addDependency:operationA]; // 操作B依賴于操作

  • 辦法2:邏輯:在上一個(gè)網(wǎng)絡(luò)請(qǐng)求的響應(yīng)回調(diào)中進(jìn)行下一網(wǎng)絡(luò)請(qǐng)求的激活

2. 關(guān)于RAC你有怎樣運(yùn)用到解決不同API依賴關(guān)系

  • 信號(hào)的依賴

使用場(chǎng)景是當(dāng)信號(hào)A執(zhí)行完才會(huì)執(zhí)行信號(hào)B,和請(qǐng)求的依賴很類似,例如請(qǐng)求A請(qǐng)求完畢才執(zhí)行請(qǐng)求B,我們需要注意信號(hào)A必須要執(zhí)行發(fā)送完成信號(hào),否則信號(hào)B無(wú)法執(zhí)行

//這相當(dāng)于網(wǎng)絡(luò)請(qǐng)求中的依賴,必須先執(zhí)行完信號(hào)A才會(huì)執(zhí)行信號(hào)B
  //經(jīng)常用作一個(gè)請(qǐng)求執(zhí)行完畢后,才會(huì)執(zhí)行另一個(gè)請(qǐng)求
  //注意信號(hào)A必須要執(zhí)行發(fā)送完成信號(hào),否則信號(hào)B無(wú)法執(zhí)行
  RACSignal * concatSignal = [self.signalA concat:self.signalB];

  //這里我們是對(duì)這個(gè)拼接信號(hào)進(jìn)行訂閱
  [concatSignal subscribeNext:^(id x) {

      NSLog(@"%@",x);

  }];

3. 編譯鏈接你有了解多少

解析:這個(gè)涉及到簡(jiǎn)單知識(shí),可參考www.360doc.com/content/17/…

4. 簡(jiǎn)單介紹下KVO的用法

解析:首先,簡(jiǎn)單介紹下KVO的用法,先添加觀察者,然后怎樣實(shí)現(xiàn)監(jiān)聽(tīng)的代理。關(guān)于原理,可以利用runtime的知識(shí)進(jìn)行實(shí)現(xiàn)KVO的原理,筆者曾經(jīng)實(shí)現(xiàn)KVO的block和delegate兩種形式,可參考www.itdecent.cn/p/c1aa85779…

簡(jiǎn)單概述下 KVO 的實(shí)現(xiàn)原理:

當(dāng)你觀察一個(gè)對(duì)象時(shí),一個(gè)新的類會(huì)動(dòng)態(tài)被創(chuàng)建。這個(gè)類繼承自該對(duì)象的原本的類,并重寫(xiě)了被觀察屬性的 setter 方法。自然,重寫(xiě)的 setter 方法會(huì)負(fù)責(zé)在調(diào)用原 setter方法之前和之后,通知所有觀察對(duì)象值的更改。最后把這個(gè)對(duì)象的 isa 指針 ( isa 指針告訴 Runtime 系統(tǒng)這個(gè)對(duì)象的類是什么 ) 指向這個(gè)新創(chuàng)建的子類,對(duì)象就神奇的變成了新創(chuàng)建的子類的實(shí)例。

原來(lái),這個(gè)中間類,繼承自原本的那個(gè)類。不僅如此,Apple 還重寫(xiě)了 -class 方法,企圖欺騙我們這個(gè)類沒(méi)有變,就是原本那個(gè)類。更具體的信息,去跑一下 Mike Ash 的那篇文章里的代碼就能明白,這里就不再重復(fù)。
為自己的面試,為自己的跳槽,加油吧 iOS開(kāi)發(fā)

簡(jiǎn)歷模板+最新iOS題目+提升視頻:docs.qq.com/doc/DVWlQam9Qd3B1cEF2

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容