關(guān)于面試題簿煌,可能沒那么多時(shí)間來(lái)總結(jié)答案典挑,有什么需要討論的地方歡迎大家指教。主要記錄一下準(zhǔn)備過程啦吧,和面試的一些總結(jié)您觉,希望能幫助到正在面試或者將要面試的同學(xué)吧。
美團(tuán)
一面
1授滓、簡(jiǎn)歷上寫的項(xiàng)目問了一遍琳水,然后開始問知識(shí)點(diǎn)肆糕。
2、volley的源代碼在孝,在圖片緩存部分討論了挺長(zhǎng)時(shí)間诚啃,http中緩存機(jī)制,
3私沮、視覺控制器的生命周期
4始赎、數(shù)據(jù)庫(kù)
5、多線程(NSTread仔燕、NSOPeration造垛、GCDA+block)
6、http協(xié)議get post的區(qū)別
7晰搀、手機(jī)適配一些方案
8五辽、真機(jī)調(diào)試、項(xiàng)目上線注意事項(xiàng)
9外恕、靜態(tài)方法是否能被重寫
這些大概聊了1個(gè)半小時(shí)杆逗,開始的時(shí)候還有些緊張,慢慢聊開了鳞疲,就好多了罪郊,面試官的語(yǔ)速有點(diǎn)快,老是需要面試官重復(fù)一遍尚洽,我也不經(jīng)意間語(yǔ)速也變快了排龄,不過能看出來(lái)面試官還是很厲害的。
二面
1翎朱、id和nill代表什么(nill和NULL的區(qū)別)
2、向一個(gè)nill對(duì)象發(fā)送消息會(huì)發(fā)生什么尺铣?
3拴曲、http中的同步和異步
4、MVC 和 MVVM 的區(qū)別凛忿。
用 MVVM 實(shí)現(xiàn)一個(gè)業(yè)務(wù)澈灼。VC 是入口,VC1 顯示 “省” 的列表店溢,VC2 顯示省關(guān)聯(lián)的 “市” 的列表叁熔,VC3 顯示市關(guān)聯(lián)的 “縣” 的列表。VC 到 VC1床牧,VC1到 VC2荣回,VC2 到 VC3,VC3 再跳轉(zhuǎn)到 VC戈咳。相關(guān)點(diǎn)在于如何設(shè)計(jì) ViewModel 和 Model 心软,以及 VC3 到 VC壕吹。
如何編寫單元測(cè)試,比如寫了一個(gè)網(wǎng)絡(luò)庫(kù)删铃,如何測(cè)試該網(wǎng)絡(luò)庫(kù)耳贬,用例怎么寫的更全面一些。
代碼從 Git 上拉下來(lái)到生成 .ipa 都有哪些過程猎唁,期間都生成了什么文件咒劲。
最近讀過哪些書,看過哪些框架诫隅,有什么收獲腐魂。
談到 JSPatch,問 JSPatch 是如何處理 Block 的阎肝。
自己擅長(zhǎng)的地方挤渔。
遇到過什么樣的挫折。
新增二面被問到的問題:如果沒有instruments风题,該如何檢測(cè)memory leak, zombie object 之類的問題判导。
三面
1、iOS是如何進(jìn)行資源管理的沛硅。
2眼刃、Python比較重要的幾個(gè)特性
3、網(wǎng)絡(luò)五層結(jié)構(gòu)摇肌,每一層協(xié)議擂红,由于我網(wǎng)絡(luò)不是很好,還問了一些其他的問題(例如MAC地址和ip地址的區(qū)別等)围小。
先談了下前兩面的感受和問題昵骤,又和面試官聊到了單例和全局變量的區(qū)別。
Block和Protocol的區(qū)別肯适,Block是為了解決什么問題而使用的变秦。
iOS 的設(shè)計(jì)模式。iOS 為什么沒有類似于 Java 和 C 之類的 “Builder” 的構(gòu)造模式框舔。
冒泡蹦玫、插入、快速排序的平均時(shí)間復(fù)雜度和最壞時(shí)間復(fù)雜度刘绣。
堆排序樱溉。
有時(shí)間復(fù)雜度為 O(n) 的排序嗎?
最近從 stackOverFlow 上解決過的問題纬凤,讀過的開源框架福贞,讀過的書,業(yè)余興趣停士,最有成就感的事情肚医。
更多:iOS面試題合集
另外附上一份各個(gè)好友收集的各大廠面試題+答案 ! 需要的可加 iOS技術(shù)探討群:624212887绢馍,群文件直接獲取