面試7家公司後摘出的知識點(iOS)

邏輯克發表於2019-03-18


寫此文的目的 

記得去年這個時候自己就在面試,今年面試自己總結了很多。我按照被問的次數羅列了一些知識點,整理了下自己總結的東西。(因為知道自己能力有限,沒有過深的去解釋每個點,不過基本谷歌一下,所有的內容基本可以查到)

羅列的前13都是面試命中率較高的知識點

背景 

焦慮的不行要漲薪啊。

總共面試了7家,分別是豆瓣、好未來、平安、*暫時匿名*、印象筆記、360、鬥米。談到offer的有、到2面的也有,在一面就被刷的有3家。

豆瓣、360、鬥米3家是有稍微完整的知識點記錄,其他的或因為拿到offer、或因為當時面試狀態不佳,都是靠之後回憶了一部分。 

感受以及總結

 iOS開發人員需求還是有的,只是要求高了很多。

 對於知識點的掌握不再止於瞭解,精確度、深度的要求都有提升。 

自我介紹、專案亮點、專案難點一定要事先準備好,有深度,不卡殼。(可以看看面試之道第一章),演算法、資料結構的考量因為我面的不是太大的廠,面的不深,但是會有。

 好未來執行時的東西偏多、 印象筆記偏廣、平安偏元件化(自己感覺)

知識點總結(2次以上13個。14後之後的都是被問到一次也可以看看)

  1. tableview滑動流暢的優化 被問6次
    這個相信大家肯定問到過,推薦ibireme的blog.ibireme.com/2015/11/12/…
  2. kvo kvc 被問5次

    這個的會問kvc的內部實現,   kvo的原理 
  3. 訊息轉發 被問5次
    unrecognized selector sent to instance **一般到了這裡就沒跑了 等面試官說完,基本訊息轉發過程中都經過了哪些步驟說一說,每一步是幹什麼,以及能做什麼。會結合Runtime新增方法什麼的聊一聊
  4. gcd 被問5次
    推薦《Effective Objective-C》 2.0第6章    訊號量 group 柵欄 3個關鍵詞如何使用
  5. 事件響應 被問5次
    響應鏈和事件傳遞、怎麼尋找最合適的view、 一個view的frame超出父view會怎樣
  6. 迴圈引用的幾種,成員變數怎麼解環 被問4次
    可能會延伸到weak的實現 weak-strong dance 為啥還要strong一下
    成員變數產生迴圈引用該怎麼解
  7. property相關 被問4次
    Weak strong copy 什麼時候用啥,混用會有什麼後果。
    為啥string用copy
    weak的底層實現
  8. Runtime 被問4次
    啥是執行時 能幹哈 objc_messageSend的底層實現
    列印專案中所有類,類的方法
    method swizzling
  9. 代理,block,通知的差別 被問3次
    可能會手寫代理 可能在代理裡串下為什麼用weak修飾
    block的本質 迴圈引用及其解決
    通知的原理 自己實現一個通知的思路
  10. 元件化 被問3次

    元件間呼叫及通訊、也會串設計模式mvc、mvvm

  11. runloop和執行緒的關係 被問3次
    這個也沒啥可說的,有下面一段程式碼被問到
    dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
    dispatch_async(queue, ^{
    NSLog(@"1");
    [self performSelector:self withObject:@selector(test) afterDelay:.0];
    NSLog(@"3");
    });
    - (void)test{
    NSLog(@"2");
    }
    推薦閱讀連結:https://www.jianshu.com/p/5a4ba3c16… 第九點 
  12. self super 呼叫方法的步驟 被問2次
  13. autoreleasepool的底層實現,什麼時候被釋放 被問2次
  14. 判斷連結串列重複節點 被問2次
  15. 如何隱藏一個view 有幾鍾方法
    這個有點籠統,具體也沒啥好的答案,大家可以留言討論下
  16. iOS推送流程(APNS) 
  17. ismemberof isclassof的去唄
  18. static全域性和區域性的差別
  19. uivew繼承自誰,CALayer與uiview的關係
  20. .isa指標
  21. atmtic是執行緒安全嘛,為什麼
  22. 不通過中間變數交換2個變數
  23. 25匹馬 5個賽道 賽多少次可以獲得第三名
  24. 分層架構在計算機中有哪些用到
  25. Http協議三次握手過程

推薦閱讀:

  • https://juejin.im/user/595c8f866fb9a06bbf6fecba . 
  • https://www.jianshu.com/p/5a4ba3c165b9 
  • 《iOS面試指南》 
  • 《Effective Objective-C 2.0》


相關文章