美團面試題 記錄

做個記錄,Block的底層原理,結構,內存以及需要注意的地方。同時督促自己。

圖片渲染,一張 png/jpg 格式的圖片渲染到頁面上顯示有哪些流程。png和jpg的區別。png一定是無損的嗎?

Runtime。

Runloop 的結構和循環流程,用Runloop做過什么事情。

多線程,NSOperationQueue 和 GCD 的區別。用多線程做過什么事情。線程安全的問題。加鎖有幾種方式。

NSURLSession 和 NSURLConnection 的區別,NSURLConnection 是怎么封裝的。CFNetwork。

做過什么動畫。

https 的工作原理,和 http 的區別。RSA 加密原理。

網絡層級,TCP 和 UDP 的區別。

SDWebImage 的框架結構,緩存機制。

Git 的 rebase 的原理。Git 流程。

對組件化的了解,組件化是為了解決什么問題。

JSPatch的原理。

單例是為了處理什么問題而使用的,單例和全局變量的區別。

對設計模式的掌握。

分層打印二叉樹。

新增一面被問到的問題,什么是meta class,實際中會用meta class做什么事情。

二面:

對一面的總結。

MVC 和 MVVM 的區別。

用 MVVM 實現一個業務。VC 是入口,VC1 顯示 “省” 的列表,VC2 顯示省關聯的 “市” 的列表,VC3 顯示市關聯的 “縣” 的列表。VC 到 VC1,VC1到 VC2,VC2 到 VC3,VC3 再跳轉到 VC。相關點在于如何設計 ViewModel 和 Model ,以及 VC3 到 VC。

如何編寫單元測試,比如寫了一個網絡庫,如何測試該網絡庫,用例怎么寫的更全面一些。

代碼從 Git 上拉下來到生成 .ipa 都有哪些過程,期間都生成了什么文件。

最近讀過哪些書,看過哪些框架,有什么收獲。

談到 JSPatch,問 JSPatch 是如何處理 Block 的。

自己擅長的地方。

遇到過什么樣的挫折。

新增二面被問到的問題:如果沒有instruments,該如何檢測memory leak, zombie object 之類的問題。

三面:

先談了下前兩面的感受和問題,又和面試官聊到了單例和全局變量的區別。

Block和Protocol的區別,Block是為了解決什么問題而使用的。

iOS 的設計模式。iOS 為什么沒有類似于 Java 和 C 之類的 “Builder” 的構造模式。

冒泡、插入、快速排序的平均時間復雜度和最壞時間復雜度。

堆排序。

有時間復雜度為 O(n) 的排序嗎?

最近從 stackOverFlow 上解決過的問題,讀過的開源框架,讀過的書,業余興趣,最有成就感的事情。

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

推薦閱讀更多精彩內容