落魄實習生的iOS位元組百度面經

iOS面試簡歷專員發表於2020-05-09

按時間順序面過這些公司,阿里cbu,人人車,飛豬,蘑菇街,趣頭條,網易,百度,美團,京東,位元組,收到了滿意的offer,跟大家分享一下面經~

位元組頭條部門

一面(全程iOS)

  • 直接問專案 oc方法呼叫流程,訊息傳遞以及訊息轉發流程,動態方法解析,備用接收者,訊息轉發各個階段詳細問 ,是否會與jspatch衝突.
  • oc 這個類的例項物件佔幾個位元組
`@interface` `TestObject : NSObject``@property` `(nonatomic, assign)` `float` `num;``@end``@implementation` `TestObject``@end`
  • AutoreleasePool的原理和實現,雙向連結串列...下面哪個跟AutoreleasePool有關係
`+[UIImage imageWithNamed:]`
`+[NSArray arrayWithObjects:];`
`[[NSObject alloc] init];`
  • NSTimer GCDtimer
  • NSTimer物件引用關係,迴圈引用,如何解決,中間類NSProxy,訊息轉發
  • 最後是一個設計題,問的很詳細,討論了20分鐘,設計一個倒數計時功能tableview有100條cell,每個cell展示一個倒數計時60->0秒, label展示剩餘時間,每秒更新一次,為0時停止更新

二面

  • 為什麼學iOS
  • 介紹一下專案
  • 如何進行系統崩潰攔截
  • 類簇問題,什麼時候用類簇,我講了類簇是抽象工廠模式
  • 什麼是抽象工廠模式,為什麼用抽象工廠模式,其他設計模式,實現單例模式,單例是否一直存在,如何銷燬
  • 觀察者模式,如何替代觀察者模式
    演算法題:一個至多包含 3 種元素的陣列,要求一次遍歷完成排序,不申請額外的儲存空間

百度

一面

  • 演算法題:二分查詢元素第一次出現的位置,很快寫完了,面試官又讓最佳化了一下
  • 演算法題:選擇排序,很快寫完了
  • AutoreleasePool的原理和實現 MRC下需要注意什麼
  • 屬性修飾符 assign weak 區別,strong,copy
  • tableview cell複用,複用池底層結構,猜的是雜湊表,面試官說是二級的雜湊表,我想到了關聯物件的底層結構也是二級雜湊表,說了一下
  • category和extension的區別 講了挺多,面試官說可以了

二面

二面是個女安卓面試官,基本全程都是我在講(感覺女面試官還是比較好對付)

  • 演算法題 非遞迴實現快排
  • 除了oc 還會什麼語言,我說會點c、c++,她問了幾個問題,我回答不是很好
  • 作業系統相關,程式排程,程式通訊
  • 講一下設計模式,我講了半天,又提了一下SDWebimage的設計模式
  • 講一下看過的原始碼,講了挺長時間SDWebimage

三面

得知二面過了以後,我以為三面是聊天,十分放鬆,後來看到三面的面試官,就知道有點不對勁,結果被一頓虐

  • 長連線相關,我說http複用tcp..,他說只是理想情況下,實際不行,我說了心跳檢測+自動重連,面試官問如何實現心跳檢測,面試官也不太滿意
  • 髮網路請求時如何驗證證書,我說我一般用AFN,不太瞭解,面試官不滿意(涼)
  • 資料結構,如何解決雜湊衝突
  • 字典的底層資料結構
  • 哪些底層結構是樹實現的
    還有一些問題忘記了

推薦?:

如果你想一起進階,不妨新增一下交流群 1012951431

面試題資料或者相關學習資料都在群檔案中 進群即可下載!

落魄實習生的iOS位元組百度面經


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69971523/viewspace-2690904/,如需轉載,請註明出處,否則將追究法律責任。

相關文章