1、用遞歸寫一個算法,計算從1到100的和。
func sum(value: Int) -> Int {
if value <= 0 {
return 0
}
var number = value
return value + sum(value: number - 1)
}
// 計算過程
let result = sum(value: 100)
print(result)
寫完算法之后又圍繞著問了幾個問題,都是算法基礎:
算法的時間復雜度是多少
遞歸會有什么缺點
不用遞歸能否實現,復雜度能否降到O(1)
2、property的作用是什么,有哪些關鍵詞,分別是什么含義?
3、父類的property是如何查找的?
4、NSArray、NSDictionary應該如何選關鍵詞?
5、copy和muteCopy有什么區別,深復制和淺復制是什么意思,如何實現深復制?
6、用runtime做過什么事情?runtime中的方法交換是如何實現的?
7、講一下對KVC合KVO的了解,KVC是否會調用setter方法?
8、__block有什么作用
9、說一下對GCD的了解,它有那些方法,分別是做什么用的?
10、對二叉樹是否了解?
面試官是想接著問這方面的問題的。我當時說了不了解,然后就沒有后續了。
長城公司移動開發工程師面試題
1、ARC和MRC的區別,iOS是如何管理引用計數的,什么情況下引用計數加1什么情況引用計數減一?
2、在MRC下執行[object autorelease]會發生什么,autorelease是如何實現的?
3、CoreAnimation是如何繪制圖像的,動畫過程中的frame能否獲取到?
4、談一下對Runlop的了解?
5、OC如何實現多繼承?
這個當時沒有答好。其實借助于消息轉發,protocol和類別都可以間接實現多繼承。
6、對設計模式有什么了解,講一下其中一種是如何使用的。
7、有沒有哪個開源庫讓你用的很舒服,講一下讓你舒服的地方。
我這里說了RxSwift中的觀察者模式,和響應式編程。然后面試官問,如果要用OC實現一套RxSwift那樣的邏輯應該怎么做。我回答的是結合KVO,將一些需要觀察的屬性,通過KVO進行監聽,然后通過block回調出來。
兩輪面試 第一輪面試HR面主要針對簡歷上的內容進行深挖,第二輪專業面,如何搭建一個財務模型,公司金融的一些專業知識
面試官問的面試題:長城公司助理研究員面試題
兩輪面試 第一輪面試HR面主要針對簡歷上的內容進行深挖,第二輪專業面,如何搭建一個財務模型,公司金融的一些專業知識
基本通過視頻面試進行,偏向于聊天形式,先是個人介紹環節,然后問一下個人主要情況,已經在學校里的學業水平
面試官問的面試題:長城公司實習設備技術員面試題
個人介紹,聊一下公司發展,談談自己的優缺點,介紹一下崗位,介紹一下進公司后會進行實踐活動,
(共9條) 北京科銳配電自動化股份有限公司
(共5條) 上海譯國譯民翻譯服務有限公司
(共4條) 富士康業成科技
(共7條) 鄭州綠業元農業科技有限公司
(共6條) 天津大眾變速器有限公司
(共8條) 小視科技