卓同学的 Swift 面试题
生活随笔
收集整理的這篇文章主要介紹了
卓同学的 Swift 面试题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我覺得應該掌握的知識點,沒有實際意義。
- class 和 struct 的區(qū)別
- 不通過繼承,代碼復用(共享)的方式有哪些
- Set 獨有的方法有哪些?
- 實現(xiàn)一個 min 函數(shù),返回兩個元素較小的元素
- map、filter、reduce 的作用
- map 與 flatmap 的區(qū)別
- 什么是 copy on write
- 如何獲取當前代碼的函數(shù)名和行號
- 如何聲明一個只能被類 conform 的 protocol
- guard 使用場景
- defer 使用場景
- String 與 NSString 的關系與區(qū)別
- 怎么獲取一個 String 的長度
- 如何截取 String 的某段字符串
- throws 和 rethrows 的用法與作用
- try? 和 try!是什么意思
- associatedtype 的作用
- 什么時候使用 final
- public 和 open 的區(qū)別
- 聲明一個只有一個參數(shù)沒有返回值閉包的別名
- Self 的使用場景
- dynamic 的作用
- 什么時候使用 @objc
- Optional(可選型) 是用什么實現(xiàn)的
- 如何自定義下標獲取
- ?? 的作用
- lazy 的作用
- 一個類型表示選項,可以同時表示有幾個選項選中(類似 UIViewAnimationOptions ),用什么類型表示
- inout 的作用
- Error 如果要兼容 NSError 需要做什么操作
- 下面的代碼都用了哪些語法糖[1, 2, 3].map{ $0 * 2 }復制代碼
- 什么是高階函數(shù)
- 如何解決引用循環(huán)
- 下面的代碼會不會崩潰,說出原因var mutableArray = [1,2,3] for _ in mutableArray {mutableArray.removeLast() }復制代碼
- 給集合中元素是字符串的類型增加一個擴展方法,應該怎么聲明
- dynamic framework 和 static framework 的區(qū)別是什么
高級
- 一個 Sequence 的索引是不是一定從 0 開始?
- 數(shù)組都實現(xiàn)了哪些協(xié)議
- 如何自定義模式匹配
- autoclosure 的作用
- 編譯選項 whole module optmization 優(yōu)化了什么
下面代碼中 mutating 的作用是什么
struct Person {var name: String {mutating get {return store}} }復制代碼- 如何讓自定義對象支持字面量初始化
哲學部分
- 為什么數(shù)組索引越界會崩潰,而字典用下標取值時 key 沒有對應值的話返回的是 nil 不會崩潰。
- 一個函數(shù)的參數(shù)類型只要是數(shù)字(Int、Float)都可以,要怎么表示。
歡迎關注我的微博:@沒故事的卓同學
總結
以上是生活随笔為你收集整理的卓同学的 Swift 面试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: The 2014 ACM-ICPC Be
- 下一篇: CentOS7 上安装 Zookeepe