iOS面試題大全-點亮你iOS技能樹

全部的內容大部分來自於網絡的蒐集,因此我不是一個創造者,而是一個搬運工。我儘可能把題目,尤爲是參考答案的出處列明。如有任何疑問,建議,意見,請聯繫我。html

第一部分面試題來源於iOS-Developer-Interview-Questions,用[◇]標示,難度是根據我本身的水平來標識的。ios

其中大部分答案來源於沒陽光的午後的三篇git

你能用到的iOS面試題(一)程序員

你能用到的iOS面試題(二)github

你能用到的iOS面試題(三)面試

沒陽光的午後還寫了其餘不少有質量的iOS開發文章,你們能夠去學習。算法

第二部分面試題來源於微博@我就叫Sunny怎麼了的這篇博文:《招聘一個靠譜的 iOS》,其中共55題,除第一題爲糾錯題外,其餘54道均爲簡答題。用[※]標示,難度是微博@我就叫Sunny怎麼了標識的。編程

答案爲微博@iOS程序犭袁整理,未經出題者校對,若有紕漏,請向微博@iOS程序犭袁指正。swift

第三部分面試題來源於iOS程序員面試,絕對會遇到這些問題!,和第一部分有一半的重疊,由於這兩部分都是從iOS-Developer-and-Designer-Interview-Questions衍生過來的。用[◆]標示,難度是根據我本身的水平來標識的。設計模式

絕大部分是我本身給出的參考意見(或者參考連接),你們有問題能夠聯繫我,歡迎批評指正。

其餘一部分從一些同窗的整理中搬運過來,有些是重疊的,或者相似的問題,我可能就整合了。這些來自

Jack_liniOS,面試必看,最全梳理

pinguiiOS面試題,持續更新...等等,用[○]標示,難度是根據我本身的水平來標識的。

還有一部分是我本身補充的問題,用[●]標示,難度是根據我本身的水平來標識的。

Swift的內容來自這裏【面試必備】Swift 面試題及其答案, 由於我對swift不熟悉,因此僅摘錄了一部分面試題目。也沒有標識難度。今年會開始swift的學習,到時候再補充吧。

今天有發現一位大拿的博客,比我整理的還全面,你們能夠參考:

iOS面試寶典

還有須要說明的是,帶[自]標記的目前暫時沒有參考答案,因此連接裏面的內容是空的,你們能夠沒必要點擊進去。

編碼規範

問題[※]: 請Review下面的代碼,並根據iOS的編碼規範作出正確的修改

版本控制

問題[◇◇]:請問您用過什麼版本控制工具?並簡述其工做流程。

問題[◇◇◇]:有沒有在 GitHub 上發佈過開源代碼,參與過開源項目?

開發工具

Xcode

Instruments

問題[◇◇◇◇]:你通常是怎麼用 Instruments 的?

問題[○○○○○]:講講你用Instrument優化動畫性能的經歷吧(若是有的話)

Xcode插件

問題[●●●]:有用過哪些Xcode的插件來提升工做效率?

問題[◇◇◇]:您開發經常使用的工具備哪些?

問題[◆◆◆][自]:談一談你經常使用的開發工具都有哪些優點?

運行調試

問題[○○○]:談談iOS開發中Debug和Release的區別和使用

問題[●●●]:您是怎麼調試iOS程序的(談談您的iOS調試經驗?)

問題[◇◇◇]:有哪些常見的 Crash 場景?

問題[※※※]:如何調試BAD_ACCESS錯誤

問題[※※※]:lldb(gdb)經常使用的調試命令?

問題[◇◇◇]:若是一個函數10次中有7次正確,3次錯誤,問題可能出如今哪裏?

問題[◆◆◆]:你會選擇什麼工具來追蹤Bug?

問題[◆◆◆]:若是在Cocoa中發現一個Bug,你會如何處理?

問題[◆◆◆]:若是應用的新版本出現了Regression的狀況,該如何補救?如何防止用戶在使用過程當中遇到新的Bug?

問題[◆◆◆][自]:是否有最中意的錯誤報告?

CocoaPods

問題[◇◇]:熟悉 CocoaPods 麼?能大概講一下工做原理麼?

關於App Store

問題[◆◆◆]:請描述一下你的iOS應用開發流程。

問題[◆◆◆]:應用內購買(In-App Purchases)是怎麼回事?IAP可以爲用戶帶來哪些新體驗?

問題[◆◆]:你是否在App Store上發佈過應用?可否歸納一下過程?

問題[◆◆]:iTunes Connect是什麼?

問題[◆◆]:Provisioning Profiles是指?

問題[◆]:App ID是什麼?

問題[◆◆◆]:iOS的開發和發佈簽名證書有何異同?

問題[◆◆◆]:如何使用TestFlight?

問題[◆◆◆]:經過Ad-hoc發佈應用的話,該如何使用UUID?

問題[◆◆◆◆]:應什麼時候驗證購買收據?

問題[◆]:發佈iAds(蘋果平臺廣告)有哪些要求?

問題[◇◇◇◇◇]:iOS 的簽名機制大概是怎樣的?

Objective-C

基礎語法

關鍵字

問題[○○]:關鍵字const有什麼含意?修飾類呢?

問題[○]:#define和const變量有什麼區別?

問題[○○○]:請用預處理指令#define聲明一個常數,用以代表1年中有多少秒(忽略閏年問題)

問題[○○○]:寫一個」標準"宏MIN ,這個宏輸入兩個參數並返回較小的一個。

問題[○○○]:關鍵字volatile有什麼含意?

問題[○○]:關鍵字static有什麼做用?

問題[○○]:請談談#include與#import的區別、#import與@class 的區別

問題[○○]:請分別說明@public、@protected、@private 它們的含義與做用

問題[○○]:什麼是id類型,id 聲明的對象有什麼特性?

問題[○○]:請談一談self、super關鍵字的做用

問題[○○○]:談談您對@synthesize、@dynamic的理解

問題[○○○]:請解釋self = [super init]方法

問題[○○]:請問常見的object-c的數據類型有那些, 和C的基本數據類型有什麼區別?如:NSInteger和int

問題[◆◆◆◆]:請說明如何使用Instancetype及其重要性。

屬性訪問

問題[※]:請問@property中有哪些屬性關鍵字?

問題[※※※]:ARC下,不顯式指定任何屬性關鍵字時,默認的關鍵字都有哪些?

問題[○○○]:@property 的本質是什麼?ivar、getter、setter 是如何生成並添加到這個類中的

問題[○○]:什麼狀況使用 weak 關鍵字,相比 assign 有什麼不一樣?

問題[※]:weak屬性須要在dealloc中置nil麼?

問題[○○○○]:@protocol 和 category 中如何使用 @property

問題[※※※]:用@property聲明的NSString(或NSArray,NSDictionary)常用copy關鍵字,爲何?若是改用strong關鍵字,可能形成什麼問題?

問題[○○○]:這個寫法會出什麼問題: @property (copy) NSMutableArray *array;

問題[※※]:@synthesize和@dynamic分別有什麼做用?

問題[※※※]:@synthesize合成實例變量的規則是什麼?假如property名爲foo,存在一個名爲_foo的實例變量,那麼還會自動合成新變量麼?

問題[※※※※※]:在有了自動合成屬性實例變量以後,@synthesize還有哪些使用場景?

問題[◇]:如何爲 Class 定義一個對外只讀對內可讀寫的屬性?

問題[○○○]:在一個對象的方法裏面:self.name = @"object";和name =@"object";有什麼不一樣嗎?

問題[○○○]:爲何不少內置類如UITableViewController的delegate屬性都是assign而不是retain的?

問題[○○○]:怎麼用 copy 關鍵字?

問題[○○○]:請解釋一下關鍵詞的區別:assign vs weak, __block vs __weak

Block

問題[○○]:什麼是block

問題[○○○]:使用block有什麼好處?使用NSTimer寫出一個使用block顯示(在UILabel上)秒錶的代碼

問題[◇◇◇]:談談block使用時的注意點?

問題[○○○]:block和代理的區別,哪一個更好?

問題[※※]:使用block時什麼狀況會發生引用循環,如何解決?

問題[※※]:在block內如何修改block外部變量?

問題[※※※]:使用系統的某些block api(如UIView的block版本寫動畫時),是否也考慮引用循環問題?

Category

問題[○○○]:類別和類擴展的區別

問題[○○○]:分類的做用?分類和繼承的區別?

問題[○○○]:重寫一個類的方式用繼承好仍是分類好? 爲何?

問題[◇◇]:iOS Extension 是什麼?能列舉幾個經常使用的 Extension 麼?

問題[◇◇◇◇◇]:如何讓 Category 支持屬性?

KVC/KVO

問題[○○○]:什麼是KVC/KVO

問題[※※]:addObserver:forKeyPath:options:context:各個參數的做用分別是什麼,observer中須要實現哪一個方法才能得到KVO回調?

問題[※※※]:如何手動觸發一個value的KVO

問題[※※※]:若一個類有實例變量NSString *_foo,調用setValue:forKey:時,能夠以foo仍是_foo做爲key?

問題[※※※※]:KVC的keyPath中的集合運算符如何使用?

問題[※※※※]:KVC和KVO的keyPath必定是屬性麼?

問題[※※※※※]:如何關閉默認的KVO的默認實現,並進入自定義的KVO實現?

問題[※※※※※]:apple用什麼方式實現對一個對象的KVO?

Protocal/Delegate

問題[○○]:代理的做用?

問題[○○]:OC有多繼承嗎?沒有的話用什麼代替?

問題[◇◇]:什麼是 Protocol,Delegate 通常是怎麼用的?

Notification

問題[○○]:什麼是Notification?

問題[◇◇◇]:談談NSNotification 和 KVO 的使用場景?

問題[◇◇◇◇◇]:爲何 NotificationCenter 要 removeObserver? 如何實現自動 remove?

面向對象

問題[○○○]:咱們說的oc是動態運行時語言是什麼意思?

問題[※※]:objc中向一個nil對象發送消息將會發生什麼?

問題[※※※]:objc中向一個對象發送消息[obj foo]和objc_msgSend()函數之間有什麼關係?

問題[○○○]:爲何其餘語言裏叫函數調用,Object-C裏則叫給我對象發消息

問題[○○○○]:對於語句NSString*obj = [[NSData alloc] init]; obj在編譯時和運行時分別時什麼類型的對象?

問題[○○○]:isMemberOfClass 和 isKindOfClass 聯繫與區別

問題[※※※]:何時會報unrecognized selector的異常?

問題[※※※※]:一個objc對象的isa的指針指向什麼?有什麼做用?

問題[※※※※※]:objc中的類方法和實例方法有什麼本質區別和聯繫?

問題[※※※※※]:_objc_msgForward函數是作什麼的,直接調用它將會發生什麼?

問題[※※※※※]:可否向編譯後獲得的類中增長實例變量?可否向運行時建立的類中添加實例變量?爲何?

問題[○○]:C和obj-c 如何混用

問題[◇◇◇◇◇]:Objective-C 中,meta-class 指的是什麼?

問題[◇◇◇]:Toll-Free Bridging 是什麼?什麼狀況下會使用?

內存管理

問題[○○]:請談談堆和棧的區別

問題[○○○]:請問深拷貝和淺拷貝有什麼區別?

問題[◇◇◇]:iOS 是如何管理內存的?

問題[○○○]:什麼是ARC(ARC是爲了解決什麼問題誕生的)?

問題[※※※※]:ARC經過什麼方式幫助開發者管理內存?

問題[※※※※]:一個objc對象如何進行內存佈局?(考慮有父類的狀況)

問題[※※※※]:不手動指定autoreleasepool的前提下,一個autorealese對象在什麼時刻釋放?(好比在一個vc的viewDidLoad中建立)

問題[※※※※※]:蘋果是如何實現autoreleasepool的?

問題[○○○]:描述一個你所遇到retain cycle例子

問題[○○○○]:請談談內存的使用和優化的注意事項

多線程

問題[○○]:線程與進程的區別和聯繫?

問題[○○]:什麼是多線程

問題[○○○]:請簡單介紹下iOS的多線程

問題[◇◇◇◇]:何時選擇NSOperation? NSOperation 相比於 GCD 有哪些優點?

問題[○○○]:談談隊列和多線程的使用原理

問題[○○○]:使用atomic必定是線程安全的嗎?

問題[○○○]:Object C中建立線程的方法是什麼?若是在主線程中執行代碼,方法是什麼?若是想延時執行代碼、方法又是什麼?

問題[○○○]:有a、b、c、d 4個異步請求,如何判斷a、b、c、d都完成執行?若是須要a、b、c、d順序執行,該如何實現?

問題[※※]:GCD的隊列(dispatch_queue_t)分哪兩種類型?

問題[※※※※]:如何用GCD同步若干個異步調用?(如根據若干個url異步加載多張圖片,而後在都下載完成後合成一張整圖)

問題[※※※※]:dispatch_barrier_async的做用是什麼?

問題[※※※※※]:蘋果爲何要廢棄dispatch_get_current_queue?

Runloop

問題[◇◇◇◇]:什麼是 Runloop?

問題[※※※]:runloop和線程有什麼關係?

問題[※※※]:runloop的mode做用是什麼?

問題[※※※※※]:猜測runloop內部是如何實現的?

問題[○○○○]:UITableViewCell上有個UILabel,顯示NSTimer實現的秒錶時間,手指滾動cell過程當中,label是否刷新,爲何?

問題[※※※※]:以+ scheduledTimerWithTimeInterval...的方式觸發的timer,在滑動頁面上的列表時,timer會暫定回調,爲何?如何解決?

問題[◇◇◇◇]:爲何 UIScrollView 的滾動會致使 NSTimer 失效?

Runtime

問題[○○○○]:runtime 如何實現 weak 屬性

問題[※※※※]:runtime如何經過selector找到對應的IMP地址?(分別考慮類方法和實例方法)

問題[※※※※]:使用runtime Associate 方法關聯的對象,須要在主對象dealloc的時候釋放麼?

問題[※※※※※]:runtime如何實現weak變量的自動置nil?

問題[○○○○○]:什麼是method swizzling?

問題[◇◇◇◇◇]:+(void)load; +(void)initialize;有什麼用處?

問題[◇◇◇◇◇]:如何訪問並修改一個類的私有屬性?

問題[◇◇◇◇◇]:Objective-C 如何對已有的方法,添加本身的功能代碼以實現相似記錄日誌這樣的功能?

swift

問題:什麼是optional類型,它是用來解決什麼問題的?

問題:在Swift中,何時用結構體,何時用類?

問題:什麼是泛型?泛型是用來解決什麼問題的?

問題:哪些狀況下你不得不使用隱式拆包?說明緣由。

問題:對一個optional變量拆包有多少種方法?並在安全方面進行評價。

問題:Swift 是面向對象編程語言仍是函數式編程語言?

問題:泛型類,泛型結構體,泛型協議的功能特性都包含在Swift中嗎?

問題:閉包是引用類型嗎?

問題:描述一種在Swift中出現循環引用的狀況,並說明怎麼解決。

iOS

Cocoa Touch Layer

High Level Features

問題[◆◆◆]:Cocoa Touch Layer 包含什麼?不包含什麼?

問題[●●●]:什麼是App Extentions?

問題[●●●]:什麼是Handoff?

問題[●●●]:什麼是Document Picker?

問題[●●●]:什麼是AirDrop?

問題[●●●]:什麼是TextKit

問題[●●●]:什麼是UIKit Dynamics?

問題[●●●]:什麼是Multitasking?

問題[●●●]:什麼是Auto Layout?

問題[●●●]:什麼是Storyboards?

問題[●●●]:什麼是UI State Preservation?

問題[●●●]:什麼是Apple Push Notification Service?

問題[●●●]:什麼是Local Notifications?

問題[●●●]:什麼是Gesture Recognizers?

問題[●●●]:什麼是Standard System View Controllers?

問題[◆◆◆]:請解釋一下Handoff是什麼,並簡述它是如何實現iOS、Mac/網頁應用互通的。

問題[◆◆◆]:iOS應用是如何實現後臺多任務處理(Multitasking)的?

問題[◇◇◇]:iOS 7的多任務添加了哪兩個新的 API? 各自的使用場景是什麼?

問題[◆◆◆]:Game Center針對iOS遊戲有哪些功能?

Cocoa Touch Frameworks

APP

問題[◆◆◆]:AppDelegate扮演着什麼樣的角色?

問題[○○○]:請談談應用的生命週期

問題[◇◇◇◇]:當系統出現內存警告時會發生什麼?

基礎控件

問題[◆◆◆]:請解釋一下啓動畫面(Launch Images)。

問題[◆◆◆]:什麼是模態視圖?

問題[◆◆◆]:什麼是分段控件?

問題[◆◆◆]:應該在什麼狀況下使用標籤、文本域和文本視圖?

問題[◆◆◆]:選取器視圖(Picker View)適合存放哪類內容?

問題[◆◆◆]:Splitview Controller是什麼?

問題[◆◆◆][自]:何時用「彈出(Popover)」屬性最爲合適?

問題[◆◆◆]:表視圖(Table View)是什麼?集合視圖(Collection View)又是什麼?

問題[◆◆◆]:選項卡(Tab Bar)和工具欄(Toolbar)分別是什麼?二者之間有何共同點和不一樣點?

問題[◆◆◆][自]:導航欄(Navigation Bar)是什麼?可否拿出你的iPhone,指出你下載的哪些應用運用了導航欄?

問題[◆◆◆]:設備狀態欄(Device Status Bar)是什麼?高度如何?是否透明?在手機通話或者導航狀態下,它是如何顯示的?

問題[○○○]:自定義實現UITabbarController的原理

View Controller

問題[◆◆◆]:Controller Life-Cycle以及View Life-cycle分別有哪些調試方法?

問題[○○○]:請談一談UIViewController的完整生命週期

問題[○○○]:ViewController 的 loadView,、viewDidLoad,、viewDidUnload 分別是在何時調用的?

問題[○○○]:push view controller 和 present view controller的區別

問題[◇◇◇◇]:哪些途徑可讓 ViewController 瘦下來?

View

問題[○○○○]:談談控制器View的加載過程?

問題[○○○○]:loadView幹嗎用的?

問題[○○○○]:LayoutSubViews在何時被調用?

問題[○○○○]:使用drawRect有什麼影響?

問題[○○○]:一個view已經初始化完畢,view上面添加了n個button,除用view的tag以外,還能夠採用什麼辦法來找到本身想要的button來修改button的值

問題[◇◇◇◇]:請問UIView和CALayer是什麼關係?

問題[◇◇◇◇◇]:+[UIView animateWithDuration :animations: completion:] 內部大概是如何實現的?

問題[◇]:frame和bounds有什麼不一樣?

Tableview

問題[○○]:UITableView的數據源方法和代理方法?

問題[○○]:說說您對於單元格重用的理解

問題[○○○]:如何解決cell重用時出現的問題

問題[◇◇◇◇]:當 TableView 的 Cell 改變時,如何讓這些改變以動畫的形式呈現?

[問題[○○○○]:談談UITableViewCell是如何優化表格的?

Event

問題[◆◆◆]:按鈕或者其餘控件能夠響應哪些事件?

問題[◆◆◆]:請簡要描述一下UIScrollView的執行過程。它是如何響應手勢識別(Gesture Recognizer)、多點觸控(Multi-Touch)和Run Loop的?

問題[○○○]:view的touch事件有哪些?

問題[◇◇◇◇]:什麼是響應者鏈,它是怎麼工做的?

Storybaord

問題[◆◆◆]:請描述一下Storyboard和標準NIB文件的差異。

問題[※※]:IBOutlet連出來的視圖屬性爲何能夠被設置成weak?

問題[※※※※※]:IB中User Defined Runtime Attributes如何使用?

問題[◆◆◆]:自動佈局(Auto Layout)的做用是什麼?請歸納一下它是如何運行的。

通知

問題[◆◆◆]:iOS提供哪些種類的通知?

問題[○○○○]:說說APNS的推送機制

問題[◇◇◇]:Push Notification 是如何工做的?

其餘

問題[◇◇◇]:iOS 的沙盒目錄結構是怎樣的? App Bundle 裏面都有什麼?

問題[○○]:將字符串「2015-04-10」格式化日期轉爲NSDate類型

問題[◇◇]:使用 NSUserDefaults 時,如何處理布爾的默認值?(好比返回 NO,不知道是真的 NO 仍是沒有設置過)

問題[◆◆◆]:請解釋一下NSUserDefaults。就你而言,你會如何在磁盤中對數組對象進行序列化?

問題[◇◇◇]:如何把一個包含自定義對象的數組序列化到磁盤?

問題[○○○]:如何讓本身所寫的對象具備拷貝功能?

問題[○○○]:如何合併多個數據並去除重複元素?

問題[○○○]:談談OC中可修改和不能夠修改類型

問題[◇◇◇◇]:performSelector:withObject:afterDelay: 內部大概是怎麼實現的,有什麼注意事項麼?

問題[◆◆◆]:請描述SpriteKit和SceneKit的做用。

問題[◆◆◆]:請歸納一下你在構建iOS應用時的測試過程。iOS應用如何實現對其餘語言、日期格式以及貨幣單位的支持?

問題[◆◆◆]:爲何移動設備上的緩存和壓縮是不可或缺的?

問題[◆◆]:爲何Cocoa Touch的類名稱是以兩個大寫字母開頭的?

問題[◆◆◆]:iOS是如何提升安全性,保護用戶隱私信息的?

問題[◆◆◆][自]:iPad 2,iPad mini 1-3,iPad Retina,iPad Air 2,iPhone 五、5S、6以及6+在硬件性能方面有何差別?這對注重性能的應用有何限制?

問題[◆◆◆][自]:傳感器,IO以及WiFi、撥號等鏈接方式如何在iOS平臺上運做?它們有何利用價值?請扼要地談談你的觀點。

問題[◆◆◆]:AirPlay是如何運行的?換作是你,你會如何經過編程提升應用的實用性以及演示效果?

Media Layer

問題[○○○]:Quatrz 2D的繪圖功能的三個核心概念是什麼並簡述其做用。

問題[○○○]:如何播放 GIF 圖片,有什麼優化方案麼?

問題[○○○○]:如何高性能的給 UIImageView 加個圓角?

問題[◇◇◇]:如何把一張大圖縮小爲1/4大小的縮略圖?

問題[◇◇◇◇◇]:爲何當 Core Animation 完成時,layer 又會恢復到原先的狀態?

問題[◆◆◆◆]:Metal是什麼?

問題[○○○]:iPhone OS主要提供了幾種播放音頻的方法?

問題[○○○]:使用AVAudioPlayer類調用哪一個框架、使用步驟?

問題[◆◆◆]:請歸納一下Core Audio,Core Data以及Core Location各是什麼。它們對iOS應用有何意義?

Core Services Layer

問題[◆◆◆]:iCloud包含了哪些技術與服務?

問題[◆◆◆]:HealthKit是什麼?

問題[◆◆◆]:VoiceOver是什麼?請舉例解釋一下iOS中的輔助功能(Accessibility)。開發者如何使用這些功能?

問題[◆◆◆]:iBeacons是什麼?

問題[○○]:什麼是coredata?

問題[○○○]:用過Core Data 或者 SQLite嗎?讀寫是分線程的嗎?遇到過死鎖沒?如何解決的?

問題[○○]:什麼是NSManagedobjectContext?

問題[○○]:什麼是謂詞?

問題[○○○]:什麼是NSManagedObject模型?

問題[○○○]:iOS怎麼作數據的持久化?

問題[○○○]:TCP和UDP的區別於聯繫

問題[○○○]:TCP鏈接的三次握手

問題[○○○]:Scoket鏈接和HTTP鏈接的區別

問題[○○○]:HTTP協議的特色,關於HTTP請求GET和POST的區別

問題[○○○]:XML數據解析方式各有什麼不一樣,JSON解析有哪些框架?

問題[○○○]:Core Foundation中提供了哪幾種操做Socket的方法?

問題[○○○]:CFSocket使用有哪幾個步驟

問題[◇◇◇]:如何處理異步的網絡請求?

Core OS Layer

問題[○○○]:如何製做一個靜態庫/動態庫,他們的區別是什麼?

問題[◇◇◇]:你會如何存儲用戶的一些敏感信息,如登陸的 token。

問題[◇◇◇]:Apple Pay 是什麼?它的大概工做流程是怎樣的?

數據結構與算法

問題[●●●]:請談談數組和鏈表的區別?

問題[●●●]:談談你所知道的排序算法

問題[●●●]:談談你所瞭解的查找算法

問題[○○○]:二叉搜索樹的概念,時間複雜度多少?

架構

問題[○○○]:如何理解MVC設計模式

問題[◆◆◆]:MVC對代碼庫(Codebase)的設計有何影響?

問題[◆◆◆]:應用能夠下載並即刻顯示數據。如何根據MVC來判斷下載的最佳位置?

問題[○○○]:如何理解MVVM設計模式

設計模式

問題[●●●]:什麼是設計模式?聊聊你所知道的設計模式。

問題[○○○]:單例模式的做用?程序中有哪些常見的單例?單例的實現步驟?

問題[◇◇◇◇]:若是讓你來實現dispatch_once,你會怎麼作?

問題[◆◆◆]:iOS使用的是哪些設計模式(Design Patterns)?你的代碼庫使用的是哪些設計模式?

問題[●●●●]:UIScrollVew用到了什麼設計模式?還能再foundation庫中找到相似的嗎?

問題[●●●]:簡要描述觀察者模式,並運用此模式編寫一段代碼?

問題[●●●]:使用工廠模式最主要的好處是什麼?你在哪裏使用?

第三方組件

問題[○○○]:SDWebImage原理

問題[○○○○○]:ASIHttpRequest 或者 SDWebImage 裏面給 UIImageView 加載圖片的邏輯是什麼樣的?

問題[◇◇◇]:有用過一些開源組件吧,能簡單說幾個麼,大概說說它們的使用場景實現。

加密解密

問題[○○○○]:MD5和Base64的區別是什麼,各自場景是什麼?

UI設計

問題[○○]:Apple設備尺寸和編程尺寸

問題[◆◆◆]:iPhone五、六、6+以及iPad Air 2的屏幕分辨率分別是多少?

問題[◆◆◆][自]:設計iPhone和iPad應用時,應分別考慮哪些因素?

問題[◆◆◆][自]:請描述一下軟件設計中的交互和Feedback有什麼做用。

問題[◆◆◆][自]:設計軟件時爲何要加上動畫?

問題[◆◆◆][自]:請描述一下原型設計對於軟件開發的意義。其做用是什麼?

問題[◆◆◆]:iOS應用圖標是指什麼?請儘量詳細地描述一下。

問題[◆◆◆]:應用圖標可否包含透明的部分?

問題[◆◆◆]:最小尺寸和最大尺寸的應用圖標分別是什麼樣子的?

問題[◆◆◆]:Newsstand的圖標與常規應用有何不一樣?

問題[◆◆◆]:iOS UI的圖像儲存類型是什麼

問題[◆◆◆]:分辨率的計算單位是什麼?

綜合題

問題[◇◇◇◇]:設計一個能夠無限滾動而且支持自動滾動的 SlideShow

問題[◇◇◇◇]:設計一個進度條。

問題[◇◇◇◇]:設計一套大文件(如上百M的視頻)下載方案。

問題[◇◇◇◇]:設計一個相似 iOS 主屏能夠下拉出現 Spotlight 的系統。

問題[○○○○]:麻煩你設計個簡單的圖片內存緩存器

其餘

問題[◇◇◇]:最近這兩天你有學到什麼知識/技能麼?

問題[◇◇◇]:最近有作過比較酷或者比較有挑戰的項目麼?

問題[◇◇◇]:最近看過的書/文章有哪些?

問題[◇◇◇]:爲何要學習編程,編程對你而言的樂趣在哪兒?

問題[◇◇◇]:自身最大優勢是什麼,怎麼證實?

問題[◇◇◇]:今年你最想掌握的一門技術是什麼?爲何?目前已經作到了哪一個程度?

問題[◆◆◆][自]:你最愛以哪一種方式來檢驗一項新技術是否好用?

問題[◆◆◆][自]:iOS上你最喜歡哪些API?

問題[◆◆◆][自]:你以爲Xcode有哪些須要改進的地方?

問題[◆◆◆][自]:最喜歡什麼項目?哪一種類型的?

問題[◆◆◆][自]:最近有沒有開發什麼好玩的東西?你最引覺得豪的做品是什麼?

問題[◆◆◆][自]:你最敬佩的獨立Mac或者iOS應用開發者是誰?

問題[◆◆◆][自]:請歸納一下你對軟件受權的理解,及其對軟件開發的影響。

問題[◆◆◆][自]:你認爲iOS須要添加或改進哪些API?



文/iOS_Alex(簡書做者) 原文連接:http://www.jianshu.com/p/a3b61b2f6e66 著做權歸做者全部,轉載請聯繫做者得到受權,並標註「簡書做者」。
相關文章
相關標籤/搜索