搜狗iOS面試題:
1.iOS應(yīng)用的文件目錄都是什么牌废?緩存文件存在哪個文件里咽白?它的上一層是什么?
2.SDWebImage圖片處理原理畔规?
3.SDWebImage在iOS9 3dtouch下出現(xiàn)的問題局扶?
4.NSArray和NSMutableArray在Copy和MutableCopy下的內(nèi)存是怎樣的?
5.用戶下載一個圖片,圖片很大三妈,需要分成很多份進行下載畜埋,使用GCD應(yīng)該如何實現(xiàn)?使用什么隊列畴蒲?
6.現(xiàn)有兩個人和一張桌子悠鞍,兩個人依次在桌子上放硬幣,硬幣不能疊放模燥、立著咖祭,若一方找不到放的位置則失敗。若你在玩這個游戲蔫骂,設(shè)計一個算法必贏么翰。
7.現(xiàn)有n個物品和一個體積為V的包,每件物品的體積是ci辽旋,價格是wi浩嫌,現(xiàn)在請你往包中放,每件物品只能放一次补胚,怎么放能讓包的價格最大码耐。
百度iOS面試題:
1.Delegate 、Notification和KVO比較各自的優(yōu)缺點
2.在一個UI的正中間實現(xiàn)一個正方形的紅色視圖有幾種方式溶其?
3.手觸碰到屏幕的時候骚腥,響應(yīng)機制是怎樣的?第一響應(yīng)者是誰瓶逃?追問 UIView和UIResponse的關(guān)系是什么束铭?
4。UIViewController的生命周期是什么金闽?追問 UIViewController 只alloc而沒用到的時候纯露,UIViewController 的view是否加載了剿骨?如果沒有加載那什么時候加載代芜?
5.直接用UILabel和自己用DrawRect畫UILabel,哪個性能好浓利?為什么挤庇?哪個占用的內(nèi)存少?為什么?
6.AFNetworking是否支持ipv6贷掖?
7.項目采用64位嫡秕,為什么要用64位?怎么修改成64位苹威?i386是什么昆咽?他們有什么關(guān)系?
8.iOS的應(yīng)用程序有幾種狀態(tài)?追問,退到后臺代碼是否可以執(zhí)行掷酗?雙擊home鍵调违,代碼是否可以執(zhí)行?
9.一般使用的圖標內(nèi)存為多大泻轰?比如200×300的圖片技肩,內(nèi)存應(yīng)該占用多少比較合理?
10.說說你對內(nèi)存泄漏的看法浮声,追問虚婿,block為什么容易引起內(nèi)存泄漏?
11.[object copy]是淺拷貝還是深拷貝泳挥?為什么是淺拷貝然痊?copy是實現(xiàn)了哪個協(xié)議?
12.Images.xcassets和直接用圖片有什么不一樣屉符?
阿里一面:
兩個無限長度鏈表(也就是可能有環(huán)) 判斷有沒有交點
MVC具有什么樣的優(yōu)勢玷过,各個模塊之間怎么通信,比如點擊 Button 后 怎么通知 Model筑煮?
UITableView的相關(guān)優(yōu)化
KVO辛蚊、Notification、delegate各自的優(yōu)缺點真仲,效率還有使用場景
如何手動通知KVO
Objective-C 中的copy方法
runtime 中袋马,SEL和IMP的區(qū)別
autoreleasepool的使用場景和原理
RunLoop的實現(xiàn)原理和數(shù)據(jù)結(jié)構(gòu),什么時候會用到
block為什么會有循環(huán)引用
使用GCD如何實現(xiàn)這個需求:A秸应、B虑凛、C 三個任務(wù)并發(fā),完成后執(zhí)行任務(wù) D软啼。
NSOperation和GCD的區(qū)別
CoreData的使用桑谍,如何處理多線程問題
如何設(shè)計圖片緩存?
有沒有自己設(shè)計過網(wǎng)絡(luò)控件祸挪?
阿里p5二面:
怎么判斷某個 cell 是否顯示在屏幕上
進程和線程的區(qū)別
TCP 與 UDP 區(qū)別
TCP 流量控制
數(shù)組和鏈表的區(qū)別
UIView 生命周期
如果頁面 A 跳轉(zhuǎn)到 頁面 B锣披,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪個先調(diào)用?
block 循環(huán)引用問題
ARC 的本質(zhì)
RunLoop 的基本概念贿条,它是怎么休眠的雹仿?
Autoreleasepool 什么時候釋放,在什么場景下使用整以?
如何找到字符串中第一個不重復(fù)的字符
哈希表如何處理沖突