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ù)雜度是多少
遞歸會有什么缺點(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、講一下對KVC合KVO的了解,KVC是否會調(diào)用setter方法?
8、__block有什么作用
9、說一下對GCD的了解,它有那些方法,分別是做什么用的?
10、對二叉樹是否了解?
面試官是想接著問這方面的問題的。我當(dāng)時(shí)說了不了解,然后就沒有后續(xù)了。
長城公司移動開發(fā)工程師面試題
1、ARC和MRC的區(qū)別,iOS是如何管理引用計(jì)數(shù)的,什么情況下引用計(jì)數(shù)加1什么情況引用計(jì)數(shù)減一?
2、在MRC下執(zhí)行[object autorelease]會發(fā)生什么,autorelease是如何實(shí)現(xiàn)的?
3、CoreAnimation是如何繪制圖像的,動畫過程中的frame能否獲取到?
4、談一下對Runlop的了解?
5、OC如何實(shí)現(xiàn)多繼承?
這個(gè)當(dāng)時(shí)沒有答好。其實(shí)借助于消息轉(zhuǎn)發(fā),protocol和類別都可以間接實(shí)現(xiàn)多繼承。
6、對設(shè)計(jì)模式有什么了解,講一下其中一種是如何使用的。
7、有沒有哪個(gè)開源庫讓你用的很舒服,講一下讓你舒服的地方。
我這里說了RxSwift中的觀察者模式,和響應(yīng)式編程。然后面試官問,如果要用OC實(shí)現(xiàn)一套RxSwift那樣的邏輯應(yīng)該怎么做。我回答的是結(jié)合KVO,將一些需要觀察的屬性,通過KVO進(jìn)行監(jiān)聽,然后通過block回調(diào)出來。
面試是微信語音面試,沒開攝像頭,面試官有兩個(gè)人,問了一下簡歷上的東西。問之前投過什么公司,有沒有offer,將一個(gè)項(xiàng)目展開講一下。說一下你遇到的問題,怎么解決的。
面試官問的面試題:長城公司控制策略開發(fā)工程師面試題
問了幾個(gè)車輛理論的專業(yè)知識。簡歷上的項(xiàng)目。問之前投過什么公司,有沒有offer,將一個(gè)項(xiàng)目展開講一下。說一下你遇到的問題,怎么解決的。
兩輪面試 第一輪面試HR面主要針對簡歷上的內(nèi)容進(jìn)行深挖,第二輪專業(yè)面,如何搭建一個(gè)財(cái)務(wù)模型,公司金融的一些專業(yè)知識
面試官問的面試題:長城公司助理研究員面試題
兩輪面試 第一輪面試HR面主要針對簡歷上的內(nèi)容進(jìn)行深挖,第二輪專業(yè)面,如何搭建一個(gè)財(cái)務(wù)模型,公司金融的一些專業(yè)知識
(共875條) 比亞迪(BYD)
(共711條) 浙江吉利汽車
(共615條) 北京經(jīng)緯恒潤科技有限公司
(共94條) 博世
(共27條) 東風(fēng)柳汽
(共18條) 大陸馬牌輪胎
(共7條) 北京中長石基信息技術(shù)股份有限公司
(共5條) 東方資產(chǎn)管理公司
(共4條) 北京太極華青信息系統(tǒng)有限公司
(共4條) 永信至誠
(共4條) 華為云
(共5條) 北京高途教育