知乎iOS面試題

大可啊Dake發表於2016-07-25
1. 什麼是arc?(arc是為了解決什麼問題誕生的?)
2. 請解釋以下keywords的區別: assign vs weak,   __block vs __weak
3.  __block在arc和非arc下含義一樣嗎?
4. 使用atomic一定是執行緒安全的嗎?
5. 描述一個你遇到過的retain cycle例子。(別撒謊,你肯定遇到過)
6.  +(void)load;   +(void)initialize;有什麼用處?
7. 為什麼其他語言裡叫函式呼叫, objective c裡則是給物件發訊息(或者談下對runtime的理解)
8. 什麼是method swizzling?
9. UIView和CALayer是啥關係?
10. 如何高效能的給UIImageView加個圓角?(不準說layer.cornerRadius!)
11. 使用drawRect有什麼影響?(這個可深可淺,你至少得用過。。)
12. ASIHttpRequest或者SDWebImage裡面給UIImageView載入圖片的邏輯是什麼樣的?(把UIImageView放到UITableViewCell裡面問更贊)
13. 麻煩你設計個簡單的圖片記憶體快取器(移除策略是一定要說的)
14. 講講你用Instrument優化動畫效能的經歷吧(別問我什麼是Instrument)
15. loadView是幹嘛用的?
16. viewWillLayoutSubView你總是知道的。。
17. GCD裡面有哪幾種Queue?你自己建立過序列queue嗎?背後的執行緒模型是什麼樣的?
18. 用過coredata或者sqlite嗎?讀寫是分執行緒的嗎?遇到過死鎖沒?咋解決的?
19. http的post和get啥區別?(區別挺多的,麻煩多說點)
20. 我知道你大學畢業過後就沒接觸過演算法資料結構了,但是請你一定告訴我什麼是Binary search tree?  search的時間複雜度是多少?我很想知道!

相關文章