1、用遞歸寫一個(gè)算法,計(jì)算從1到100的和。
func sum(value: Int) -> Int {
if value <= 0 {
return 0
}
var number = value
return value + sum(value: number - 1)
}
// 計(jì)算過程
let result = sum(value: 100)
print(result)
寫完算法之后又圍繞著問了幾個(gè)問題,都是算法基礎(chǔ):
算法的時(shí)間復(fù)雜度是多少
遞歸會(huì)有什么缺點(diǎn)
不用遞歸能否實(shí)現(xiàn),復(fù)雜度能否降到O(1)
2、property的作用是什么,有哪些關(guān)鍵詞,分別是什么含義?
3、父類的property是如何查找的?
4、NSArray、NSDictionary應(yīng)該如何選關(guān)鍵詞?
5、copy和muteCopy有什么區(qū)別,深復(fù)制和淺復(fù)制是什么意思,如何實(shí)現(xiàn)深復(fù)制?
6、用runtime做過什么事情?runtime中的方法交換是如何實(shí)現(xiàn)的?
7、講一下對(duì)KVC合KVO的了解,KVC是否會(huì)調(diào)用setter方法?
8、__block有什么作用
9、說一下對(duì)GCD的了解,它有那些方法,分別是做什么用的?
10、對(duì)二叉樹是否了解?
面試官是想接著問這方面的問題的。我當(dāng)時(shí)說了不了解,然后就沒有后續(xù)了。
長城公司移動(dòng)開發(fā)工程師面試題
1、ARC和MRC的區(qū)別,iOS是如何管理引用計(jì)數(shù)的,什么情況下引用計(jì)數(shù)加1什么情況引用計(jì)數(shù)減一?
2、在MRC下執(zhí)行[object autorelease]會(huì)發(fā)生什么,autorelease是如何實(shí)現(xiàn)的?
3、CoreAnimation是如何繪制圖像的,動(dòng)畫過程中的frame能否獲取到?
4、談一下對(duì)Runlop的了解?
5、OC如何實(shí)現(xiàn)多繼承?
這個(gè)當(dāng)時(shí)沒有答好。其實(shí)借助于消息轉(zhuǎn)發(fā),protocol和類別都可以間接實(shí)現(xiàn)多繼承。
6、對(duì)設(shè)計(jì)模式有什么了解,講一下其中一種是如何使用的。
7、有沒有哪個(gè)開源庫讓你用的很舒服,講一下讓你舒服的地方。
我這里說了RxSwift中的觀察者模式,和響應(yīng)式編程。然后面試官問,如果要用OC實(shí)現(xiàn)一套R(shí)xSwift那樣的邏輯應(yīng)該怎么做。我回答的是結(jié)合KVO,將一些需要觀察的屬性,通過KVO進(jìn)行監(jiān)聽,然后通過block回調(diào)出來。
兩輪面試 第一輪面試HR面主要針對(duì)簡歷上的內(nèi)容進(jìn)行深挖,第二輪專業(yè)面,如何搭建一個(gè)財(cái)務(wù)模型,公司金融的一些專業(yè)知識(shí)
面試官問的面試題:長城公司助理研究員面試題
兩輪面試 第一輪面試HR面主要針對(duì)簡歷上的內(nèi)容進(jìn)行深挖,第二輪專業(yè)面,如何搭建一個(gè)財(cái)務(wù)模型,公司金融的一些專業(yè)知識(shí)
基本通過視頻面試進(jìn)行,偏向于聊天形式,先是個(gè)人介紹環(huán)節(jié),然后問一下個(gè)人主要情況,已經(jīng)在學(xué)校里的學(xué)業(yè)水平
面試官問的面試題:長城公司實(shí)習(xí)設(shè)備技術(shù)員面試題
個(gè)人介紹,聊一下公司發(fā)展,談?wù)勛约旱膬?yōu)缺點(diǎn),介紹一下崗位,介紹一下進(jìn)公司后會(huì)進(jìn)行實(shí)踐活動(dòng),
(共875條) 比亞迪(BYD)
(共711條) 浙江吉利汽車
(共609條) 北京經(jīng)緯恒潤科技有限公司
(共93條) 博世
(共27條) 東風(fēng)柳汽
(共18條) 大陸馬牌輪胎
(共4條) 清研靈智信息咨詢(北京)有限公司
(共8條) 青島中集
(共4條) 中國中化集團(tuán)
(共4條) 金慧科技
(共7條) 林同棪國際工程咨詢(中國)有限公司