當前位置:學問君>學習教育>考研>

Swift筆試試題及其答案

學問君 人氣:3.19W

導讀:雖然Swift出生才一年,但是它已經成爲最流行的編程語言之一了。它的語法很簡單,以至於當它發佈的時候,java script開發者感覺就像下圖一樣。以下是由本站小編J.L爲您整理推薦的Swift筆試試題及其答案,歡迎參考閱讀。

Swift筆試試題及其答案

事實上,Swift是一種複雜的語言。它包含面向對象和函數方法這兩個方面,並且隨着新版本的發佈在一直進化。

你可以用這些問題來測試應聘者關於Swift方面的知識水平,或者測試一下你自己。如果你不知道答案,沒關係,沒一個問題下面都有答案供你學習。

這些問題包含兩個方面:
 

筆試問題:透過電子郵件做一個編程測試是極好的,因爲這涉及到寫大量的代碼,從代碼質量上可以看出一個人的水平。

面試問題:電話面試或者面對面面試也是很好的,因爲對面試者來說口頭交流會更方面。

每個方面有分成三個等級:

初級:適合讀了一到兩本有關Swift的書,並且已經開始用Swift開發應用程序的初學者。

中級:適合那些對Swift語言的概念有深刻理解和強烈興趣的,並且一直在閱讀大量有關Swift的博客文章並進行實踐的中級工程師。

進階:適合那些以探索Swift語言知識爲樂趣,挑戰自己,使用前言技術的人們。

假如你想回答這些問題,我建議你在回答這些問題之前,開啟Playground執行一下這些問題的代碼。這些問題的答案都在Xcode 7.0 Beta 6 版本中測試過。

準備好了嗎?繫好安全帶,現在就開始!

筆試問題

初學者

問題1、(Swift 1.0及其之後的版本的問題)有什麼更好的方法來寫下面的for循環?

for var i = 0; i < 5; i++ {

print("Hello!")

}

答案:

for _ in 0...4 {

print("Hello!")

}

Swift 實現了兩個數組運算符closed operator 和 half-operator.前者包含數組中得所有值。例如:下面的例子包含從0到4得所有整數

0...4

half-operator不包含數組中的最後一個元素,下面的例子會得到的結果和上面的一樣:

0..<5

問題2– Swift 1.0 or later

思考下面的問題:

struct Tutorial {

var difficulty: Int = 1

}

var tutorial1 = Tutorial()

var tutorial2 = tutorial1

iculty = 2

iculty 和 iculty的值分別是多少?假如Tutorial是一個類,會有什麼不同?並說明原因。

答案:iculty 的值是1,然而iculty的值是2.

在Swift中結構體是值類型,他們的值是複製的而不是引用的。下面的一行代碼意思是複製了tutorial1的值並把它賦值給tutorial2:

var tutorial2 = tutorial1

從這一行開始,tutorial2值得改變並不影響tutorial1的值。

假如Tutorial是一個類,iculty和iculty的值將都會是2.在Swift中類對象都是引用類型。tutorial1屬性的任何改變將會反應到tutorial2上,反之亦然。

問題3 – Swift 1.0 or later

view1聲明成var類型,view2聲明let類型。這裏有什麼區別嗎?下面的最後一行代碼能編譯嗎?

import UIKit

var view1 = UIView()

a = 0.5

let view2 = UIView()

a = 0.5 // Will this line compile?

答案:view1是個變量可以重新賦值給一個新的實例化的UIView對象。使用let你只賦值一次,所以下面的代碼是不能編譯的:

view2 = view1 // Error: view2 is immutable