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)出來。
面試是微信語音面試,沒開攝像頭,面試官有兩個(gè)人,問了一下簡(jiǎn)歷上的東西。問之前投過什么公司,有沒有offer,將一個(gè)項(xiàng)目展開講一下。說一下你遇到的問題,怎么解決的。
面試官問的面試題:長城公司控制策略開發(fā)工程師面試題
問了幾個(gè)車輛理論的專業(yè)知識(shí)。簡(jiǎn)歷上的項(xiàng)目。問之前投過什么公司,有沒有offer,將一個(gè)項(xiàng)目展開講一下。說一下你遇到的問題,怎么解決的。
兩輪面試 第一輪面試HR面主要針對(duì)簡(jiǎn)歷上的內(nèi)容進(jìn)行深挖,第二輪專業(yè)面,如何搭建一個(gè)財(cái)務(wù)模型,公司金融的一些專業(yè)知識(shí)
面試官問的面試題:長城公司助理研究員面試題
兩輪面試 第一輪面試HR面主要針對(duì)簡(jiǎn)歷上的內(nèi)容進(jìn)行深挖,第二輪專業(yè)面,如何搭建一個(gè)財(cái)務(wù)模型,公司金融的一些專業(yè)知識(shí)
(共875條) 比亞迪(BYD)
(共711條) 浙江吉利汽車
(共615條) 北京經(jīng)緯恒潤科技有限公司
(共94條) 博世
(共27條) 東風(fēng)柳汽
(共18條) 大陸馬牌輪胎
(共5條) 南京紅寶麗股份有限公司
(共5條) 上海瑞慈健康體檢管理股份有限公司
(共8條) 河北移動(dòng)
(共4條) 平安銀行佛山分行
(共4條) 外企德科