搜狗iOS面試題:
1.iOS應用的文件目錄都是什么?緩存文件存在哪個文件里?它的上一層是什么?
2.SDWebImage圖片處理原理?
3.SDWebImage在iOS9 3dtouch下出現(xiàn)的問題?
4.NSArray和NSMutableArray在Copy和MutableCopy下的內存是怎樣的?
5.用戶下載一個圖片,圖片很大,需要分成很多份進行下載,使用GCD應該如何實現(xiàn)?使用什么隊列?
6.現(xiàn)有兩個人和一張桌子,兩個人依次在桌子上放硬幣,硬幣不能疊放、立著,若一方找不到放的位置則失敗。若你在玩這個游戲,設計一個算法必贏。
7.現(xiàn)有n個物品和一個體積為V的包,每件物品的體積是ci,價格是wi,現(xiàn)在請你往包中放,每件物品只能放一次,怎么放能讓包的價格最大。
百度iOS面試題:
1.Delegate 、Notification和KVO比較各自的優(yōu)缺點
2.在一個UI的正中間實現(xiàn)一個正方形的紅色視圖有幾種方式?
3.手觸碰到屏幕的時候,響應機制是怎樣的?第一響應者是誰?追問 UIView和UIResponse的關系是什么?
4。UIViewController的生命周期是什么?追問 UIViewController 只alloc而沒用到的時候,UIViewController 的view是否加載了?如果沒有加載那什么時候加載?
5.直接用UILabel和自己用DrawRect畫UILabel,哪個性能好?為什么?哪個占用的內存少?為什么?
6.AFNetworking是否支持ipv6?
7.項目采用64位,為什么要用64位?怎么修改成64位?i386是什么?他們有什么關系?
8.iOS的應用程序有幾種狀態(tài)?追問,退到后臺代碼是否可以執(zhí)行?雙擊home鍵,代碼是否可以執(zhí)行?
9.一般使用的圖標內存為多大?比如200×300的圖片,內存應該占用多少比較合理?
10.說說你對內存泄漏的看法,追問,block為什么容易引起內存泄漏?
11.[object copy]是淺拷貝還是深拷貝?為什么是淺拷貝?copy是實現(xiàn)了哪個協(xié)議?
12.Images.xcassets和直接用圖片有什么不一樣?
阿里一面:
兩個無限長度鏈表(也就是可能有環(huán)) 判斷有沒有交點
MVC具有什么樣的優(yōu)勢,各個模塊之間怎么通信,比如點擊 Button 后 怎么通知 Model?
UITableView的相關優(yōu)化
KVO、Notification、delegate各自的優(yōu)缺點,效率還有使用場景
如何手動通知KVO
Objective-C 中的copy方法
runtime 中,SEL和IMP的區(qū)別
autoreleasepool的使用場景和原理
RunLoop的實現(xiàn)原理和數(shù)據(jù)結構,什么時候會用到
block為什么會有循環(huán)引用
使用GCD如何實現(xiàn)這個需求:A、B、C 三個任務并發(fā),完成后執(zhí)行任務 D。
NSOperation和GCD的區(qū)別
CoreData的使用,如何處理多線程問題
如何設計圖片緩存?
有沒有自己設計過網絡控件?
阿里p5二面:
怎么判斷某個 cell 是否顯示在屏幕上
進程和線程的區(qū)別
TCP 與 UDP 區(qū)別
TCP 流量控制
數(shù)組和鏈表的區(qū)別
UIView 生命周期
如果頁面 A 跳轉到 頁面 B,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪個先調用?
block 循環(huán)引用問題
ARC 的本質
RunLoop 的基本概念,它是怎么休眠的?
Autoreleasepool 什么時候釋放,在什么場景下使用?
如何找到字符串中第一個不重復的字符
哈希表如何處理沖突