iOS面試題錦集(八)——綜合

1. 客戶端安全性處理方式勾缭?

  • 網(wǎng)絡(luò)數(shù)據(jù)傳輸
    • 敏感數(shù)據(jù)不能明文發(fā)送:
      • 賬號(hào)
      • 密碼
      • 消費(fèi)數(shù)據(jù)
      • 銀行卡賬號(hào)
  • 協(xié)議的問(wèn)題
    • 自定義協(xié)議
    • 游戲代練
  • 本地文件存儲(chǔ)
    • 游戲的存檔
  • 源代碼

2. SIP是什么寇甸?

  • SIP(Session Initiation Protocol)输莺,會(huì)話發(fā)起協(xié)議
  • SIP是建立VoIP連接的IETF標(biāo)準(zhǔn)甫男,IETF是全球互聯(lián)網(wǎng)最具權(quán)威的技術(shù)標(biāo)準(zhǔn)化組織
  • 所謂VoIP攘已,就是網(wǎng)絡(luò)電話亡资,直接用互聯(lián)網(wǎng)打電話澜共,不用耗費(fèi)手機(jī)話費(fèi)

3. 有些圖片加載的比較慢怎么處理?你是怎么優(yōu)化程序的性能的锥腻?

  • 圖片下載放在異步線程
  • 圖片下載過(guò)程中使用占位圖片
  • 如果圖片較大嗦董,可以考慮多線程斷點(diǎn)下載

4. 你實(shí)現(xiàn)過(guò)一個(gè)框架或者庫(kù)以供別人使用嗎?如果有瘦黑,請(qǐng)談一談構(gòu)建框架或者庫(kù)的時(shí)候經(jīng)驗(yàn)京革;如果沒有,請(qǐng)?jiān)O(shè)想和設(shè)計(jì)框架的public的API幸斥,并指出大概需要如何做匹摇、需要注意一些什么方面來(lái)使別人容易地使用你的框架?

  • 提供給外界的接口功能是否實(shí)用甲葬、夠用
  • 別人使用我的框架時(shí)廊勃,能不能根據(jù)類名、方法名就猜出接口的具體作用
  • 別人調(diào)用接口時(shí)经窖,提供的參數(shù)是否夠用坡垫、調(diào)用起來(lái)是否簡(jiǎn)單
  • 別人使用我的框架時(shí),要不要再導(dǎo)入其他的框架

5. APP需要加載超大量的數(shù)據(jù)時(shí)画侣,給服務(wù)器發(fā)送請(qǐng)求葛虐,但是服務(wù)器卡住了如何解決?

  • 設(shè)置請(qǐng)求超時(shí)
  • 給用戶提示請(qǐng)求超時(shí)
  • 根據(jù)用戶操作再次請(qǐng)求數(shù)據(jù)

6. 利用NSNotificationCenter實(shí)現(xiàn)跨多控制器傳輸數(shù)據(jù)和消息中用同步還是異步棉钧?

  • 如果通知是在主線程發(fā)出,那么接收通知的方法中的耗時(shí)操作要放到異步線程
[[NSNotificationCenter defaultCenter]  postNotificationName: @"abc" object; nil ];

[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(test) name: @"abc" object : nil];

  • (void) test { dispatch.....}
  • 如果通知實(shí)在異步線程中發(fā)出,那么接收通知后調(diào)用的方法會(huì)默認(rèn)在異步線程中執(zhí)行
dispatch_async ( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{

[NSNotificationCenter defaultCenter] postNotificationName: @"abc" object; nil ];
});

[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(test) name: @"abc" object : nil];

  • (void) test {}

7. 如何編寫XML?

  • 打開Xcode創(chuàng)建XML文件,見下圖:
XML Create.png

XML Show.png

8. 地圖導(dǎo)航不能用了怎么辦宪卿?

  • 提示用戶打開導(dǎo)航定位功能

9. SDWebImage具體如何實(shí)現(xiàn)的诵?

  • 利用NSOperationQueue和NSOperation下載圖片,還使用了GCD的一些函數(shù)(解碼GIF圖片)
  • 利用URL作為key佑钾,NSOperation作為value
  • 利用URL作為key西疤,UIImage作為value

10. AFN與ASI有什么區(qū)別?

  • AFN基于NSURL休溶,ASI基于底層的CFNetwork框架代赁,因此ASI的性能優(yōu)于AFN
  • AFN采取block的方式處理請(qǐng)求,ASI最初采取delegate的方式處理請(qǐng)求兽掰,后面也增加了block的方式
  • AFN只封裝了一些常用功能芭碍,滿足基本需求,直接忽略了很多擴(kuò)展功能孽尽,比如沒有封裝同步請(qǐng)求窖壕;ASI提供的功能較多,預(yù)留了各種接口和工具供開發(fā)者自行擴(kuò)展
  • AFN直接解析服務(wù)器返回的JSON杉女、XML等數(shù)據(jù)瞻讽,而ASI比較原始,返回的是NSData二進(jìn)制數(shù)據(jù)
AFN&ASI.png

11. 你在實(shí)際開發(fā)中熏挎,有哪些手機(jī)架構(gòu)與性能調(diào)試經(jīng)驗(yàn)

  • 剛接手公司的舊項(xiàng)目時(shí)速勇,模塊特別多,而且?guī)缀跛械拇a都寫在控制器里面坎拐,比如UI控件代碼烦磁、網(wǎng)絡(luò)請(qǐng)求代碼、數(shù)據(jù)存儲(chǔ)代碼
  • 接下來(lái)采取MVC模式進(jìn)行封裝廉白、重構(gòu)
    • 自定義UI控件封裝內(nèi)部業(yè)務(wù)邏輯
    • 封裝網(wǎng)絡(luò)請(qǐng)求工具類
    • 封裝數(shù)據(jù)存儲(chǔ)工具類

12. runloop定時(shí)器和輸入源

  • 程序不需要顯示的創(chuàng)建runloop个初;每個(gè)線程,包括程序的主線程(main thread)都有與之相對(duì)應(yīng)的runloop對(duì)象猴蹂,主線程會(huì)自動(dòng)創(chuàng)建并運(yùn)行runloop
  • runloop處理的輸入事件有兩種不同的來(lái)源:輸入源(input source)和定時(shí)源(timer source)
  • 輸入源傳遞異步消息院溺,通常來(lái)自于其他線程或者程序。定時(shí)源則傳遞同步消息磅轻,在特定時(shí)間或者一定的時(shí)間間隔發(fā)生


    runloop.png

13. 你的項(xiàng)目中都用了哪些框架珍逸,及何種開發(fā)工具,具體到是哪個(gè)版本聋溜,這個(gè)版本的特性有哪些谆膳?(比如Xcode的版本)

  • AFN、SDWebImage撮躁、MBProgressHUD等(推薦參考:網(wǎng)易新聞 第三方庫(kù)
  • Xcode 6.4

14. 自己怎么實(shí)現(xiàn)原子鎖漱病?

*iOS中一般用nonatomic

15. 即時(shí)通訊中的大數(shù)據(jù)處理

  • put方式上傳到文件服務(wù)器,然后發(fā)帶URL的自定義格式的文件給對(duì)方,對(duì)方收到后下載

16. JSON解析的具體實(shí)現(xiàn)

  • SBJSON
  • JSONKit
  • NSJSONSerialization

17. 如果在網(wǎng)絡(luò)數(shù)據(jù)處理中杨帽,發(fā)現(xiàn)一處比較卡漓穿,一般怎么解決?

  • 檢查網(wǎng)絡(luò)請(qǐng)求操作是否被放在主線程
  • 看看異步請(qǐng)求的數(shù)量是否太多了(子線程數(shù)量)
  • 數(shù)據(jù)量是否太大注盈,如果太大晃危,先清除一些不必要的對(duì)象(看不見的數(shù)據(jù),圖片)
  • 手機(jī)CPU使用率和內(nèi)存問(wèn)題

18. 怎么合理地介紹一個(gè)項(xiàng)目老客?

  • 項(xiàng)目的價(jià)值(可以加些“老板”關(guān)鍵字)
  • 項(xiàng)目的模塊
  • 我做的是哪個(gè)模塊

19. 怎么解決SQLite鎖定的問(wèn)題僚饭?

  • 設(shè)置數(shù)據(jù)庫(kù)鎖定的處理函數(shù)

int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);

  • 設(shè)定鎖定時(shí)的等待時(shí)間

int sqlite3_busy_timeout(sqlite3*, 60);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市胧砰,隨后出現(xiàn)的幾起案子鳍鸵,更是在濱河造成了極大的恐慌,老刑警劉巖朴则,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件权纤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡乌妒,警方通過(guò)查閱死者的電腦和手機(jī)汹想,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)撤蚊,“玉大人古掏,你說(shuō)我怎么就攤上這事≌煨ィ” “怎么了槽唾?”我有些...
    開封第一講書人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)光涂。 經(jīng)常有香客問(wèn)我庞萍,道長(zhǎng),這世上最難降的妖魔是什么忘闻? 我笑而不...
    開封第一講書人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任钝计,我火速辦了婚禮,結(jié)果婚禮上齐佳,老公的妹妹穿的比我還像新娘私恬。我一直安慰自己,他們只是感情好炼吴,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開白布本鸣。 她就那樣靜靜地躺著,像睡著了一般硅蹦。 火紅的嫁衣襯著肌膚如雪荣德。 梳的紋絲不亂的頭發(fā)上闷煤,一...
    開封第一講書人閱讀 48,954評(píng)論 1 283
  • 那天,我揣著相機(jī)與錄音命爬,去河邊找鬼曹傀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛饲宛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嗜价,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼艇抠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了久锥?” 一聲冷哼從身側(cè)響起家淤,我...
    開封第一講書人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瑟由,沒想到半個(gè)月后絮重,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡歹苦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年青伤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殴瘦。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狠角,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蚪腋,到底是詐尸還是另有隱情丰歌,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布屉凯,位于F島的核電站立帖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏悠砚。R本人自食惡果不足惜晓勇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哩簿。 院中可真熱鬧宵蕉,春花似錦、人聲如沸节榜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宗苍。三九已至稼稿,卻和暖如春薄榛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背让歼。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工敞恋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谋右。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓硬猫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親改执。 傳聞我的和親對(duì)象是個(gè)殘疾皇子啸蜜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

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

  • 一、深復(fù)制和淺復(fù)制的區(qū)別辈挂? 1衬横、淺復(fù)制:只是復(fù)制了指向?qū)ο蟮闹羔槪磧蓚€(gè)指針指向同一塊內(nèi)存單元终蒂!而不復(fù)制指向?qū)ο蟮?..
    iOS_Alex閱讀 1,358評(píng)論 1 27
  • AFN什么是AFN全稱是AFNetworking蜂林,是對(duì)NSURLConnection、NSURLSession的一...
    醉葉惜秋閱讀 1,182評(píng)論 0 0
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,124評(píng)論 29 470
  • 1.請(qǐng)簡(jiǎn)單說(shuō)明多線程技術(shù)的優(yōu)點(diǎn)和缺點(diǎn)拇泣? 優(yōu)點(diǎn):能夠適當(dāng)提高程序的執(zhí)行效率噪叙;能夠適當(dāng)?shù)奶岣哔Y源的利用率,比如CPU挫酿、...
    deeper_iOS閱讀 1,414評(píng)論 1 12
  • “先苦后甜”是我從小到大的座右銘早龟,我做任何事情都以此為標(biāo)準(zhǔn)惫霸。 遇到任何事情都告訴自己,會(huì)先苦后甜的葱弟。哪怕是吃飯這么...
    山風(fēng)里閱讀 214評(píng)論 0 0