前言
關於面試題,可能沒那麼多時間來總結答案,有什麼需要討論的地方歡迎文末留言。主要記錄一下準備過程,和麪試的一些總結,希望能幫助到正在面試或者將要面試的朋友吧。
iOS面試題真題
美團外賣
- uni-app這個東西是啥,你覺着咋樣?
- 從前臺到後臺的一次請求經歷了哪些階段?
- http/https的工作過程和區別、它們屬於五層中的哪一層
- 三次握手的原理
- get/put/post/delete請求方式
- 項目裏面你做了什麼性能優化和啓動改造
- 爲什麼WKWebview的性能比UIWebview的性能高
- runtime的消息轉發機制
- runtime的具體用法
- KVC
- @synthesize和@dynamic分別有什麼作用
- 36匹馬,六個跑道。沒有記時器等設備,用最少的比賽次數算出跑的最快的馬
- setNeedsDisplay、setNeedsLayout、layoutIfNeed區別
- MGJRouter的作用
貨拉拉
- 項目裏面值得認可的部分、RN橋接的一些東西
- MVVM和MVC
- 調試奔潰的工具
- 做了什麼操作讓優化項目
- get和post、http協議、網絡請求這塊問得比較多
- 數據傳輸的格式json?xml?等等
- 後臺返回的數據是多少K的,大文件傳輸怎麼辦
- 數據庫的一些操作
- iOS存儲方式
- TCP/IP協議
- ARC引用計數、內存管理幾個區域
- OC的基礎數據類型
- 說一說多線程、在項目中怎麼用的
- 單例模式怎樣設計的,有什麼優缺點
- 觀察者模式、KVO的原理
- 地圖開發經驗
- 寫uni-app的架構、serveice層、小程序上線流程
- 爲什麼要寫博客
- 以後的發展方向
全網精選 · iOS面試題答案.pdf文集
- 需要獲取可加小編的iOS技術交流圈:937 194 184,直接獲取;點擊:立即加入
小米
- TCP和UDP,三次握手,追問改成兩次會怎樣,線程同步機制
- 斐波拉契數列
- 反轉鏈表
- RN跟原生相比的優劣,組件生命週期,項目基於RN哪個版本開發,雙端適配問題
- 平常如何學習,性能優化,項目難點在哪
- 事件傳遞機制和響應機制
- 什麼時候view不會響應觸摸事件,如何響應view以外的事件
- 自動釋放池
- 內存管理機制
- weak關鍵詞在什麼情況下用,與assgin的區別
- weak底層原理
- 什麼時候會報unrecognized selector異常,底層實現原理,消息發送
- runloop
- 使用過哪些三方庫
- 問了些組件化的問題
滴滴
- 二叉樹搜索的思路
- 反轉鏈表
- 項目中遇到的重大問題、如何解決的、解決後心態的變化
- 組件化有用到哪些?說說你們後臺分發的流程
- block的循環引用是怎麼產生的?在內部會不會加上__strong?爲什麼
- block如何修改外部變量
- runtime消息轉發流程和結構體
- GCD和NSOperation的利弊
- 說一下runloop
- 圖片緩存的原理和圖片移除的原理(主要考察最長時間算法)
- 你知道的數據持久化的方式
- 數據庫用的哪些?FMDB、SQLite
- 在讀寫數據庫的時候使用的是幾個線程
- 說一下uni-app、這樣設計架構的目的是什麼
- 單例、代理、觀察者你喜歡用哪個
- swift的struct和class的區別
- swift的option是怎麼實現的
- 做了哪些性能優化和啓動改造
- 怎麼與前端進行通信的
快手
- weak的用途和原理。追問:key和value是怎樣對應的?查找時怎樣找到它清理的對象。
- uitableview是什麼模式實現的?
- frame和bounds的區別
- kvo的使用和原理
- isa指針的說明
- base64/md5加密/aes/rsa+des加密,在什麼情況下用到了md5加密
md5是一個非對稱的校驗算法。驗證數據的真實性 - block的結構和它造成的循環引用
- 自動化打包
平臺通過腳本控制 遠程打包 節省人力物力,解決衝突,走測試
打包時間長怎麼優化:bitcode是否開啓 編譯選項是否選上,模擬器環境去掉
編譯過程縮短:可執行文件 .o .h ipa包打開會看見,鏈接網絡環境。 - Autolayout,舉了個栗子排布。uibutton寬度固定,uilabel怎麼排
- 離屏渲染的原理和例子
- http傳輸的五層,一個瀏覽器向服務端發送url的過程。追問:解析ip地址的時候發生在哪一層。
- 三次握手的原理,tcp在哪一層?ip在哪一層
- 快速排序的複雜度、冒泡排序的複雜度
- 手寫兩個鏈表合併
- 手寫字符串反轉
趣拿
- HTTPS和HTTP的區別
- HTTPS傳值過程
- runtime發送消息的流程。給nil對象發送消息會怎樣?
- 根元類的isa指向,根元類的父類指向
用runtime做過什麼事情 - Hook和aop
- load和initail的調用時機
- rn模塊開發,反向傳值是怎麼傳的
- 同時重寫getter和setter方法會怎樣?
- KVO的原理。追問:如果對這個類使用了KVC,再用反射方法去訪問這個類,它返回的結果是什麼?
- 靜態庫動態庫
- 手寫鏈表反轉
- 怎麼判斷有環
- 二分查找
- 斐波拉契
- 快排
猿題庫
- oc的動態運行時體現在什麼方面
- runtime發送消息的流程,forwardTarget方法是做什麼的?
- kvo的實現過程
- 要是讓你設計一個通知模式,你會怎麼做?怎麼把方法傳給外面要調用它的類?
- crash的捕獲原理
- 兩個透明的view都有button,view1放在view2上面,但是從界面看上去button像是放在一個view中。問此時點擊兩個button會發生什麼事。
- NSTimer什麼時候會出現循環引用?怎麼解決
- RN的原理
- HTTPS和HTTP的區別、五層模型
- fps的檢測
- cs的基礎
- shell和ruby有寫過腳本麼
- 找出數組中比它左邊都要大比它右邊要小的數放入到新的數組
- wkwebview比uiwebview的區別
更多:iOS面試文集
此文:面試題收錄來源