100個iOS開發/設計面試題大全
無論是對於公司還是開發者或設計師個人而言,面試都是一項耗時耗錢的專案,本文作者Cameron Banga從程式設計、設計、App Store等各個方面對iOS開發者及設計師在面試時可能會遇到的問題進行了篩選與彙總。一方面,能夠幫助HR在短時間內獲取更多反饋資訊,更好地甄選合適人選,而iOS開發者及設計師在尋找相關工作時,也可作為參考,為面試做好萬全準備。
常見問題
- 你昨天/這周學習了什麼?
- 你為什麼熱衷於軟體開發?
- 你對哪一種控制系統比較熟悉?
- 是否參與過GitHub專案?
- 是否參與過GitHub或其他同型別網站的iOS開源專案?
- 請描述一下你的iOS應用開發流程。
- 是否熟知CocoaPods?它是什麼?如何執行的?
- 請概括一下你對軟體授權的理解,及其對軟體開發的影響。
- 請概括一下你在構建iOS應用時的測試過程。iOS應用如何實現對其他語言、日期格式以及貨幣單位的支援?
- 請描述一下Instruments及其作用。
關於iOS技術
- 請解釋一下Handoff是什麼,並簡述它是如何實現iOS、Mac/網頁應用互通的。
- iCloud包含了哪些技術與服務?
- iOS擴充套件是指?能否列舉一些熱門或常見的範例?
- HealthKit是什麼?
- HomeKit是什麼?
- Apple Pay是什麼?能否描述一下如何在應用中使用Apple Pay?
- 請解釋一下iOS應用沙盒機制。
- VoiceOver是什麼?請舉例解釋一下iOS中的輔助功能(Accessibility)。開發者如何使用這些功能?
- iOS應用是如何實現後臺多工處理(Multitasking)的?
- Game Center針對iOS遊戲有哪些功能?
- iBeacons是什麼?
- Cocoa/Cocoa Touch是什麼?
- 請概括一下Core Audio,Core Data以及Core Location各是什麼。它們對iOS應用有何意義?
- 請描述SpriteKit和SceneKit的作用。
- Metal是什麼?
- 響應鏈(Responder Chain)是什麼?它是如何發揮作用的?
- 按鈕和其他控制方式對哪些操作做出回應?
- AppDelegate扮演著什麼樣的角色?
- 請解釋一下NSUserDefaults。就你而言,你會如何在磁碟中對陣列物件進行序列化?
- 你會如何儲存使用者的認證資訊?
- 請問何為Keychain服務?
- 為什麼移動裝置上的快取和壓縮是不可或缺的?
- 請解釋一下~/Documents,~/Library和~/tmp。 iOS中的~屬於什麼目錄?
- AirPlay是如何執行的?換做是你,你會如何通過程式設計提高應用的實用性以及演示效果?
- 感測器,IO以及WiFi、撥號等連線方式如何在iOS平臺上運作?它們有何利用價值?請扼要地談談你的觀點。
- iPad 2,iPad mini 1-3,iPad Retina,iPad Air 2,iPhone 5、5S、6以及6+在硬體效能方面有何差異?這對注重效能的應用有何限制?
關於程式設計
- Cocoa Touch包含什麼?不包含什麼?
- 為什麼Cocoa Touch的類名稱是以兩個大寫字母開頭的?
- Swift和Objective-C分別是什麼?兩者相比有何不同之處,又有何聯絡?
- 為什麼Optional在Swift語言中非常重要?
- 請解釋一下NSError。在Swift中,什麼情況下能使用NSError ,什麼情況下不能?
- 請說明如何使用Instancetype及其重要性。
- 在Swift中,什麼時候該用let,什麼時候該用var?
- 為什麼map函式必不可少?該在什麼情況下使用它?
- 你會選擇什麼工具來追蹤Bug?
- 如果在Cocoa中發現一個Bug,你會如何處理?
- 如果應用的新版本出現了Regression的情況,該如何補救?如何防止使用者在使用過程中遇到新的Bug?
- Objective-C的類是怎麼執行的?Objective-C Runtime是如何實現的?
- iOS是如何提高安全性,保護使用者隱私資訊的?
- 應用可以下載並即刻顯示資料。如何根據MVC來判斷下載的最佳位置?
- MVC對程式碼庫(Codebase)的設計有何影響?
- Controller Life-Cycle以及View Life-cycle分別有哪些除錯方法?
- iOS使用的是哪些設計模式(Design Patterns)?你的程式碼庫使用的是哪些設計模式?
- iOS提供哪些執行緒?如何充分利用這些執行緒?
- 請簡要描述一下UIScrollView的執行過程。它是如何響應手勢識別(Gesture Recognizer)、多點觸控(Multi-Touch)和Run Loop的?
- 你認為iOS需要新增或改進哪些API?
關於介面
- iPhone5、6、6+以及iPad Air 2的螢幕解析度分別是多少?
- 解析度的計算單位是什麼?
- 請解釋一下Interface Builder的作用以及NIB檔案的概念。
- iOS UI的影像儲存型別是什麼?
- 請描述一下Storyboard和標準NIB檔案的差別。
- 裝置狀態列(Device Status Bar)是什麼?高度如何?是否透明?在手機通話或者導航狀態下,它是如何顯示的?
- 導航欄(Navigation Bar)是什麼?能否拿出你的iPhone,指出你下載的哪些應用運用了導航欄?
- 選項卡(Tab Bar)和工具欄(Toolbar)分別是什麼?兩者之間有何共同點和不同點?
- 表檢視(Table View)是什麼?集合檢視(Collection View)又是什麼?
- 什麼時候用“彈出(Popover)”屬性最為合適?
- Split-view Controller是什麼?
- 選取器檢視(Picker View)適合存放哪類內容?
- 應該在什麼情況下使用標籤、文字域和文字檢視?
- 分段控制元件(Segmented Control)的作用是什麼?
- 模態檢視(Modal View)是什麼?
- iOS通知屬於什麼型別?
關於設計
- iOS應用圖示是指什麼?請儘可能詳細地描述一下。
- 最小尺寸和最大尺寸的應用圖示分別是什麼樣子的?
- 應用圖示能否包含透明的部分?
- Newsstand的圖示與常規應用有何不同?
- 請解釋一下啟動畫面(Launch Images)。
- 自動佈局(Auto Layout)的作用是什麼?請概括一下它是如何執行的。
- 設計軟體時為什麼要加上動畫?
- 請描述一下軟體設計中的互動和Feedback有什麼作用。
- 設計iPhone和iPad應用時,應分別考慮哪些因素?
- 請描述一下原型設計對於軟體開發的意義。其作用是什麼?
關於App Store
- 應用內購買(In-App Purchases)是怎麼回事?IAP能夠為使用者帶來哪些新體驗?
- 你是否在App Store上釋出過應用?能否概括一下過程?
- iTunes Connect是什麼?
- Provisioning Profiles是指?
- App ID是什麼?
- iOS的開發和釋出簽名證書有何異同?
- 如何使用TestFlight?通過Ad-hoc釋出應用的話,該如何使用UUID?
- 應何時驗證購買收據?
- 釋出iAds(蘋果平臺廣告)有哪些要求?
趣味問答
- 最近有沒有開發什麼好玩的東西?你最引以為豪的作品是什麼?
- 談一談你常用的開發工具都有哪些優勢?
- 你最敬佩的獨立Mac或者iOS應用開發者是誰?
- 最喜歡什麼專案?哪種型別的?
- 你覺得Xcode有哪些需要改進的地方?
- iOS上你最喜歡哪些API?
- 是否有最中意的錯誤報告?
- 你最愛以哪種方式來檢驗一項新技術是否好用?
- 為什麼詞典被稱作Dictionaries,而不是HashTable或HashMap?
相關文章
- 移動開發—iOS日常面試問題移動開發iOS面試
- 面試題:如何設計一個高併發系統?面試題
- Web前端開發必看的100道大廠面試題Web前端面試題
- iOS面試題iOS面試題
- iOS面試·一個iOS程式設計師的BAT面試全記錄(內含百度+網易+阿里面試真題)iOS面試程式設計師BAT阿里
- Nginx 面試題總結大全Nginx面試題
- iOS開發面試的43道最新面試題,讓你穩拿大廠offer!iOS面試題
- 【Java面試】Java設計模式面試題!Java設計模式面試題
- iOS 面試問題iOS面試
- iOS Runloop(面試題)iOSOOP面試題
- 100道JAVA面試題+JAVA面試題參考答案Java面試題
- 由面試題“併發程式設計的三個問題”深入淺出Synchronied面試題程式設計
- 前端開發面試題前端面試題
- iOS面試題精選iOS面試題
- iOS 面試題彙總iOS面試題
- iOS 中級面試題iOS面試題
- iOS面試題 --- 中級iOS面試題
- iOS 面試題總結iOS面試題
- 杭州ZoomVideo iOS面試題OOMIDEiOS面試題
- iOS 面試題解答二iOS面試題
- Java併發程式設計40道面試題及答案——面試穩了Java程式設計面試題
- 100家IT 名企面試必考面試題java系列面試題Java
- 100個前端面試題前端面試題
- 2020年最新整理-Java面試題大全Java面試題
- 一個ios程式設計師年後找工作經歷(附上一些面試問題)iOS程式設計師面試
- 騰訊往屆筆試面試題整理大全筆試面試題
- 資料結構面試100題資料結構面試
- 面試題:一個整數,它加上100後是一個完全...面試題
- 好程式設計師Java分享Javamain十個面試題程式設計師JavaAI面試題
- [面試專題]JS設計模式面試JS設計模式
- 2021-PHP面試題大全[PHP基礎]-最近在面試PHP面試題
- 最新阿里Java後端開發面試題100道(P6-P7)阿里Java後端面試題
- 高階Java開發面試解答,Java開發面試題及答案Java面試題
- 12個iOS技術面試題及答案總結iOS面試題
- iOS探索 runtime面試題分析iOS面試題
- iOS面試題總結(四)iOS面試題
- iOS面試題總結(三)iOS面試題
- iOS面試題總結(七)iOS面試題
- iOS面試題總結(五)iOS面試題