面試iOS工程師常被問到的20個(gè)基礎(chǔ)問題

今天在逛知乎的時(shí)候,看到一個(gè)帖子,下面的回答支持最多的是一個(gè)技術(shù)總監(jiān)總結(jié)的他面試iOS開發(fā)工程師,常問的20個(gè)非常簡單的問題,但能準(zhǔn)確答對一半以上的人卻非常少。本人看了下,感覺這些問題確實(shí)比較基礎(chǔ),之所以很多人很多問題答不上,歸根結(jié)底還是對基礎(chǔ)知識不夠重視,掌握得不夠牢靠。下面將者20個(gè)問題分享出來,大家可以來看看,你可以準(zhǔn)確答對幾個(gè)。

1.什么是arc?(arc是為了解決什么問題誕生的?)

2.請解釋以下keywords的區(qū)別:assign vs weak, __block vs __weak

3. __block在arc和非arc下含義一樣嗎?

4.使用atomic一定是線程安全的嗎?

5.描述一個(gè)你遇到過的retain

cycle例子。

6. +(void)load; +(void)initialize;有什么用處?

7.為什么其他語言里叫函數(shù)調(diào)用,objective-c語言里則是給對象發(fā)消息(或者談下對runtime的理解)

8.什么是method

swizzling?

9. UIView和CALayer是啥關(guān)系?

10.如何高性能的給UIImageView加個(gè)圓角?(不準(zhǔn)說layer.cornerRadius!)

11.使用drawRect有什么影響?(這個(gè)可深可淺,你至少得用過。。)

12. ASIHttpRequest或者SDWebImage里面給UIImageView加載圖片的邏輯是什么樣的?(把UIImageView放到UITableViewCell里面問更贊)

13.麻煩你設(shè)計(jì)個(gè)簡單的圖片內(nèi)存緩存器(移除策略是一定要說的)

14.講講你用Instrument優(yōu)化動(dòng)畫性能的經(jīng)歷吧(別問我什么是Instrument)

15. loadView是干嘛用的?

16. viewWillLayoutSubView你總是知道的。。

17. GCD里面有哪幾種Queue?你自己建立過串行queue嗎?背后的線程模型是什么樣的?

18.用過coredata或者sqlite嗎?讀寫是分線程的嗎?遇到過死鎖沒?咋解決的?

19. http的post和get啥區(qū)別?(區(qū)別挺多的,麻煩多說點(diǎn))

20.我知道你大學(xué)畢業(yè)過后就沒接觸過算法數(shù)據(jù)結(jié)構(gòu)了,但是請你一定告訴我什么是Binary search tree? search的時(shí)間復(fù)雜度是多少?我很想知道!

以上就是iOS工程師面試常被問到的20個(gè)基礎(chǔ)問題,如果你都能準(zhǔn)確答上,那么恭喜你,你確實(shí)很優(yōu)秀。如果你還有不清楚的地方,那就趕緊去找資料了解、學(xué)習(xí)去吧。


相關(guān)文章:《iOS學(xué)習(xí)之UITableView的常見屬性及用法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容