2018 最新iOS面試真題大全(3-5年)

如果你想去大公司,如果你是3年左右的iOS開發者,如果你對面試的未知沒有十足的信心,如果你期望的薪資在15K+,那么請認真刷完這300道面試題,都是真實公司經歷的...答案會在近期更新!你要先自思考,看個人那些方面還不足!

1、自我介紹
2、如何實現一個倒計時功能,類似于蘑菇街中的秒殺。
3、怎么理解es6箭頭函數中的this,它和一般函數的this指向有什么區別呢?
4、一個矩形,里面一個櫻桃,過櫻桃做一條直線, 并且沒有數據和測量工具,如果做到評分矩形呢?
5、說一下同源策略
6、vue中的路由時如何管理的? 你知道他的實現方式嗎?
7、提到了我的博客,問我的博客相關問題。
8、retina屏幕的了解
9、說一說移動端的布局。 flexible。
10、知道原理嗎,怎么自己去實現一個flexible。 rem布局的實現原理。移動端的點透是什么,有沒有了解
11、說一說異步編程的方式有哪些。
12、項目中的設計是怎么回事,說說設計方面。
13、你博客里的輪播圖,如果還要優化,你會怎么去優化。
14、你最喜歡的es6中的特性是什么,為什么。
15、為什么選擇前端(不是科班,這個問題經常被問。。。)
16、css布局的屬性有哪些。
17、有沒有遇到過這樣的問題: 一個有border的div,里面有一個圖片,發現圖片和下面的border有一定的空隙(baseline)。
18、函數調用的方式有哪些。他們的區別是什么。
19、說一說原型鏈(這個要非常清楚)。
20、用過什么框架。jquery用過嗎?
21、你實習公司的前端leader是誰。
22、給你一個項目,你使用jquery還是vue、react。為什么。(這個問題也是會被經常問到的)
23、說一說異步編程。
24、說一說回調地獄是什么,有什么問題。異常捕獲怎么做。
25、說一說promise。 一個promise有多個then,如果第一個then出錯,后面的還會執行嗎,如何捕獲異常。 如果第一個then出錯了,我還想要后面的繼續執行,應該怎么做。
26、你在學習js的時候,遇到過哪些js方面的坑、 你覺得js哪些知識會難一些。
27、 MVC 具有什么樣的優勢,各個模塊之間怎么通信,比如點擊 Button 后 怎么通知 Model?
28、兩個無限長度鏈表(也就是可能有環) 判斷有沒有交點
29、UITableView 的相關優化
30、 KVO、Notification、delegate 各自的優缺點,效率還有使用場景
31、如何手動通知 KVO
32、Objective-C 中的 copy 方法
33、 runtime 中,SEL 和 IMP 的區別
34、autoreleasepool 的使用場景和原理
35、RunLoop 的實現原理和數據結構,什么時候會用到
36、block 為什么會有循環引用
37、使用 GCD 如何實現這個需求:A、B、C 三個任務并發,完成后執行任務 D。
38、NSOperation 和 GCD 的區別
39、CoreData 的使用,如何處理多線程問題
40、如何設計圖片緩存?
41、有沒有自己設計過網絡控件?
42、怎么判斷某個 cell 是否顯示在屏幕上
43、進程和線程的區別
44、TCP 與 UDP 區別
45、TCP 流量控制
46、數組和鏈表的區別
47、UIView 生命周期
48、如果頁面 A 跳轉到 頁面 B,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪個先調用?
49、block 循環引用問題
50、ARC 的本質
51、RunLoop 的基本概念,它是怎么休眠的?
52、Autoreleasepool 什么時候釋放,在什么場景下使用?
53、如何找到字符串中第一個不重復的字符
54、哈希表如何處理沖突
55、你的成績怎么樣? 為什么不學習原專業?
56、登錄狀態怎么保持?
57、為什么用本地存儲,而不用session,session更加簡單啊!
58、http和https的區別是什么? (http、https、http2這些都是經常被問到的)
59、post和get的區別是什么?
60、你會的技術有哪些?
61、你在學校社團是做什么的,你是做什么的?
62、為什么不愿意留在暑期實習的公司?
63、為什么要用Alamofire而不用原生的NSURLSession,Alamofire的優勢是什么?
64、如果讓你來封裝一個網絡庫,類似于Alamofire或者SDWebImage,你會如何實現?
65、在網絡庫中,如何針對TableView快速滾動過程中的圖片額外渲染進行優化(網絡庫不能持有TableView)?
66、iOS的系統架構是怎么樣的?常用SDK有哪些?
67、了解HTTP協議嗎?GET和POST的區別是什么?
68、對安全方面有何了解?如何應對web頁面被劫持?了解HTTPS加密解密的過程嗎
69、vue和react有什么區別?
70、angular用過嗎?
71、說一下同源策略? 說一個JSONP? (同源策略和跨域的多種方式還是要很熟練的)
72、304和200的區別是什么。 (狀態碼也是必須要掌握的,包括各種區別)
73、你所知道的前端優化有哪些內容? (常考的問題,多多總結就好了)
74、linux知道嗎? 你所知道的linux命令有哪些?
75、vue中v-if和v-show的區別是什么? (這個實在是記不住了,但是說明了vue不好就是因為api太多)
76、你看過哪些書? (比如計算機的幾門專業課、JavaScript高級程序設計、css揭秘、你不知道的JavaScript、深入react技術棧、圖解http等等)
77、你會的技術包括哪些
78、為什么不學習原專業,而是要轉行。
79、為什么選擇了北京而不是西安。
80、項目問題。
81、一個DOM樹,其中有兩個節點,找出這兩個節點公共的父節點? (視頻面試)
82、說一下二叉樹?
83、如果反轉二叉樹?
84、簡潔、對于不同的類型,如何做出對比?
85、說一下vue和react中的路由實現方式?
86、說一下強緩存和協商緩存? (瀏覽器的緩存機制也需要很清楚)
87、跨域?
88、說一下設計模式?
89、其中的一個項目,你究竟做了哪些優化?
90、websocket聊天室如果發送失敗了,你怎么解決這個問題?如何做到發送圖片? 有了文字、圖片等不同的數據類型之后,你如何實現數據的存儲,如何設計,前端如何獲取?
91、websocket聊天室有輸入框,那么怎么獲取的,對于使用div來模仿textarea,我說使用正則去掉div,那么用戶輸入的也是div呢? 如果發送失敗了呢? 究竟應該是先發送,還是應該先存儲到redux中,考慮用戶體驗(仿照微信)。
92、為什么數據庫使用的是mongodb而不是mysql。
93、什么是xss,如何防止xss?
94、邊邊購項目說一下?登錄的整個過程是什么? 購物車是怎么存儲設計的? 如果LocalStorage中數據的值超過了范圍,你該如何去處理這個問題? 如果商品下架了,那么你如何顯示這個商品? 登錄的過程中,一個用戶退出登錄,另一個用戶登錄,那么這個購物車是否還是存在的。 說一下邊邊購項目的多個不同的模塊。
95、說一下你說的項目中遇到的問題,然后你是如何解決這個問題的? (這個可以好好準備一下~)
96、websocket的使用,底層是如何處理的。(類似于xhr的。)、
97、websocket在連接的過程中, 會有新包。。balabala 一堆聽不懂的詞,非常尷尬,,, 我就直接說的不會。
98、手寫代碼 判斷是否是瀏覽器環境。
99、http和https https的整個過程畫一下
100、httPS需要多少時間 比http慢多少 怎么優化
101、https有什么缺點
102、手寫快速排序 復雜度 最慢是多少 為什么取第一個值作為中間值 如果這個值是最大的或者最小的怎么辦
103、http2有哪些特性 頭部壓縮怎么回事
104、100層 1個花瓶仍 找到n層不碎 n + 1層碎了的情況 2個花瓶呢
105、node了解多少 全局對象是什么
106、事件機制說一下 事件綁定說一下 手寫如何把div中的a放在平級其中的事件會怎么樣 冒泡會到document還是window
107、推薦一下身邊厲害的人,你覺得你比他厲害嗎。為什么
108、xss怎么防范 尖括號應該怎么過濾,一直問確定嗎,最后也沒說清楚
109、用過哪些框架
110、移動端如何真機調試
111、tap是怎么回事、和click的區別。。。
112、cookie和session有什么區別
113、說一下瀏覽器緩存問題
114、動態規劃是怎么回事
115、進程和線程的區別是什么
116、說一下restful api吧,
117、說一說post和get的區別,
118、說一下狀態碼吧
119、你覺得什么樣的代碼是好的代碼 (這個其實還挺考驗實力的)
120、說一下position的幾個屬性吧。
121、typescript你用過嗎?
122、最后又聊了一下部門的情況。
121、說一下你做過的幾個項目吧。
123、框架對比一下
124、cookie和session有什么區別,cookie的大小是多少。
125、css3了解多少,說到了漸進增強和優雅降級
126、vue接觸過多長時間、react接觸過多長時間、
127、你對互聯網公司怎么看,你想要什么樣的公司、未來是怎么樣的。
128、樂信你了解多少,你對來深圳工作怎么看。
129、你還轉載過美團的文章?嗯 (很多面試官還是會看博客的,謝謝博客總是好的)
130、cookie和localStorage區別,如何把cookie寫在一個對象中,其屬性就是鍵值對
131、實現水平豎直居中的幾中方法(高度和寬度不確定)
132、flex是什么
133、深拷貝和淺拷貝的區別,手寫深拷貝 (博客里總結過,遂讓手撕)
134、Oject的幾中方式,如何區分 (這個也是常考的)
135、兼容性說一說,你做的PC端兼容性是到哪的
136、如何看待最近react事件 (百度、wordpress棄用事件。可以多關注前端的一些動態)
137、JQuery和三大框架的區別,react和vue的區別
138、說一說CSS3中的動畫,animation中可以取哪些值 (css3動畫也很重要)
139、flex布局是什么,默認的方向是什么,如何改變方向
140、你的博客都是自己寫的嗎? 你所有所學都會寫成博客嗎?
141、說一說原型和原型鏈,object是最上面的嗎?
142、vue中的數據雙向綁定是如何實現的、
143、display有哪些,回答了7 8個,還是不滿意
144、你的node項目中有幾個線程,有幾個進程,如果node進程崩潰了,如何知道
145、node中的process是什么
146、node中如何創建子進程/19講一講你遇到的比較困難的事情,問了兩個,最后是怎么解決的
147、CSS中的單位有哪些分別說一說 (提到了ex)
148、你未來的發展規劃是怎么樣的
149、跨域,舉一個例子,安全性問題到底在哪里
150、100萬個數據中,找出前10大數據,最快的方法是什么,堆排序怎么寫
151、登錄狀態怎么使用cookie保持,最好的方法是什么
152、頁面中一個video,可能格式不支持,那么前端如何判斷并給出提示?
153、通過比較img的onerror是一種方法, 通過服務器端也可以保存一些屬性來標識哪些瀏覽器支持,哪些不支持
154、為什么要用vue和react,而不用JQuery,給你一個項目,什么情況下使用單頁面應用,什么情況下使用多頁面應用。
155、你所知道的前端大會有哪些,比如騰訊web前端大會,CSS conf大會,js conf大會。
156、你學習的前端號有哪些,比如前端早讀課,那么維護者是誰。
157、前端的表單中如何設置表單的方式,如multipart, www等,對于multipart具體是如何區分其中的不同的格式的
158、http2的所有特性。
159、http2中的頭部壓縮和多路復用。
160、迅雷一面比較基礎,二面會根據項目擴展,體驗還是不錯的,和面試官聊得很開心。
161、post、put和get的區別什么
162、localStorage和sessionstorage的區別是什么
163、頁面加載速度很慢,如何加速頁面的渲染
164、輸入了一個URL之后發生了什么
165、圖片很大,如何進行優化
166、手寫二分查找
167、畫出TCP三次握手的過程
168、websocket是如何實現服務器端推送的
169、你對迅雷了解多少?
170、websocket和http的區別是什么?websocket的優點是什么?
171、為什么使用websocket? websocket是怎么連接的,一定需要通過http協議嗎? 短輪詢、commet、長輪訓都介紹一下。各有什么優缺點。
172、聊天室如何兼容IE8
173、http1.1中的keep-alive是怎么理解的?
174、setTimeout和setInterval
175、原型、原型鏈、繼承等。
176、http1.0、http1.1、http2 (這三者還是要會區分的,也會經常被問到)
177、css3動畫相關
178、html、css、js分別實現一個動畫效果。
179、說一下你做過的幾個項目吧。
180、框架對比一下
181、你在項目中用過 runtime 嗎?舉個例子。
182、runtime 中,SEL 和 IMP 的區別
183、 MVC 具有什么樣的優勢,各個模塊之間怎么通信,比如點擊 Button 后 怎么通知 Model?
184、你在項目中用過 GCD 嗎?舉個例子。
185、Category 的實現原理,以及 Category 為什么只能加方法不能加屬性。
186、有沒有自己設計過網絡控件
187、block 的原理,block 的屬性修飾詞為什么用 copy,使用 block 時有哪些要注意的?
188、iOS 的熱更新方案有哪些?介紹一下實現原理。
189、KVO、Notification、delegate 各自的優缺點,效率還有使用場景
190、cookie和session有什么區別,cookie的大小是多少。
191、css3了解多少,說到了漸進增強和優雅降級
192、vue接觸過多長時間、react接觸過多長時間、
193、你對互聯網公司怎么看,你想要什么樣的公司、未來是怎么樣的。
194、樂信你了解多少,你對來深圳工作怎么看。
195、class A 繼承 class B,class B 繼承 NSObject。畫出完整的類圖。
196、細致地講一下事件傳遞流程
197、main()之前的過程有哪些?
198、Category 中有 load 方法嗎?load 方法是什么時候調用的?load 方法能繼承嗎?
199、講一下你對 iOS 內存管理的理解
200、使用 GCD 如何實現這個需求:A、B、C 三個任務并發,完成后執行任務 D。
201、你在項目中是怎么優化內存的?
202、講講 RunLoop,項目中有用到嗎?
203、列表卡頓的原因可能有哪些?你平時是怎么優化的?
204、項目有沒有做過組件化?或者你是否調研過?
205、講一下 OC 的消息機制
206、ARC 都幫我們做了什么?
207、如何手動通知 KVO
208、c++ new 和 malloc 有什么區別?
209、c++ 可不可以多繼承?
210、c++ 引用和指針的區別?
211、如何判斷兩個鏈表是否有交點?
212、堆區和棧區有什么區別?為什么要這么設計?
213、給棧增加一個Max函數接口,返回當前棧的最大值,應該如何設計?
214、給定排好序的整數數組array[]以及整數n,如何找出和為n的兩個數?
215、如果沒排好序呢?
216、一個字符串,如何找出只出現一次并且最先出現的字符?
217、反轉字符串
218、判斷整數是否為$2^n$
219、一個m*n的棋盤,有些格子不能走,如何找到左上角到右下角的最短路徑?
220、iOS 按下 Home 鍵之后會發生什么?
221、c++中內存分配是怎樣的?
222、c++中常用的容器有哪些?
223、queue和vector有什么區別?
224、vector底層是怎么實現的?
225、TCP三次握手?為什么兩次不行?
226、項目中有沒有服務器push機制?
227、兩個無限長度鏈表(也就是可能有環) 判斷有沒有交點
228、實現 isEqual 和 hash 方法時要注意什么?
229、block 為什么會有循環引用
230、如何設計圖片緩存?
231、CoreData 的使用,如何處理多線程問題
232、property 的常用修飾詞有哪些?weak 和 assign 的區別?weak 的實現原理是什么?
233、線程安全的處理手段有哪些?把你想到的都說一下。
234、說一下 OperationQueue 和 GCD 的區別,以及各自的優勢
235、Swift 中 struct 和 class 的區別
236、Swift 是如何實現多態的?
237、Swift 和 OC,各自的優缺點有哪些?
238、如果讓你實現 NSNotificationCenter,講一下思路
240、如果讓你實現 GCD 的線程池,講一下思路
241、為什么是三次握手?為什么是四次揮手?三次揮手不行嗎?
242、講一下 HTTPS 密鑰傳輸流程
243、UITableView 的相關優化
244、講講 MVC、MVVM、MVP,以及你在項目里具體是怎么寫的?
245、iOS 系統框架里使用了哪些設計模式?至少說6個。
246、你自己用過哪些設計模式?
247、NSOperation 和 GCD 的區別
248、Objective-C 中的 copy 方法
249、 autoreleasepool 的使用場景和原理
250、哪一個項目技術點最能體現自己的技術實力?具體講一下。
266、你在項目中遇到的最大的問題是什么?你是怎么解決的?
267、用 Alamofire 比直接使用 URLSession,優勢是什么?
268、你是如何學習 iOS 的?
269、和產品經理、測試產生沖突時,你是怎么解決的?
270、手寫一下快排
271、遍歷一個樹,要求不能用遞歸
272、RunLoop 的實現原理和數據結構,什么時候會用到
273、找出兩個字符串的最大公共子字符串
274、假設ViewController中需要用一個Blcok來改變ViewController中的一個屬性,需要怎么實現?
275、這樣實現之后,這個Block在內存中被存在何處?引用關系又是怎么樣的?
276、函數中的閉包,如果要求閉包執行完后立刻改變函數中某個變量的值,應該如何實現?
277、如何實現一個類似于微信聊天界面的布局?
278、如何用Auto Layout實現一個如下要求的布局: %&@$@(#!...... (說了一大堆 =。= 反正就是使用優先級就解決了)
279、說一說 MVC 和 MVVM 的區別,以及各自的優缺點。
280、如何將 MVC 改造成 MVVM ?在MVVM中,網絡請求、緩存處理的部分應該放在哪個模塊?
281、為什么說Swift是面向協議的語言?使用 Protocol 有什么好處
282、比較一下 Swift 和 Objective-C 在語言層面上的安全性?
283、如果ViewController中使用閉包時,用weak避免循環引用,會有什么問題?
284、當點擊一個View時,發生了什么?如何擴大點擊區域?
285、如何對TableView進行優化?
286、能講一講你對光柵化的理解嗎?
287、對Swift和OC有什么看法?
288、能對Swif中的可選類型談下你的理解嗎?
289、說一下快排的偽代碼和時間復雜度?
290、怎么判斷兩個鏈表是否相交?
291、怎么反轉二叉樹?
292、了解元組嗎?
293、了解多線程嗎?
294、什么是并行?
295、現在有ABC三個任務,如何實現AB完成后再執行C?
296、對 Runtime 有什么了解?
297、HTTP 和 HTTPS 有什么區別?
298、知道 HTTPS 通信過程嗎?
299、Struct 和 Class 有什么區別?
300、為什么要設計Cache?Cache分級有什么好處?
301、如何保證多核數據的一致性?

這些都弄懂了,相信offer已到你的郵箱了!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,837評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,196評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,688評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,654評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,456評論 6 406
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,955評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,044評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,195評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,725評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,608評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,802評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,318評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,048評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,422評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,673評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,424評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,762評論 2 372

推薦閱讀更多精彩內容

  • 廣州今天的天氣還不錯,讓我想分享一組我漂漂亮亮舍友的照片。 她是一個外冷內熱的姑涼。不熟悉她的朋友會覺得她表面看來...
    思向陽閱讀 335評論 6 5
  • 八里溝村很小,只有幾戶人家,寂寞地趴在幕阜山的皺褶里。 極少有人進山,起起伏伏的群山和郁郁蔥蔥的樹林里只聽得各種蟲...
    民間小故事匯閱讀 635評論 -1 5
  • 世界暗淡 唯愛被照亮 呢喃,依偎,留戀,不舍 你與我與倒影 化蝶飛舞 不問方向
    little銫閱讀 291評論 3 1
  • 去年有一次我工作的地點附近幾個十字路口的紅綠燈全部不能正常工作,而當時正是周五下班的高峰期間,由于車輛和行人都沒有...
    紫夜星沙閱讀 856評論 0 2