個人2020春招iOS面試總結 -百度/京東

前言:

最開始春招的時候,一線互聯網基本上都投了,可是不少都被刷了,有的是刷了學校,有的是刷了四級,有的是刷了專業,但更多的是刷了能力,畢竟咱們學校計科學院每一年有幾我的去BATios

大廠的春招基本上結束,面試結果不理想,由於只想在成都工做,因此面的公司比較少(就寫三個最有表明性的公司)。面試

寫下一點面試中被問到的一些問題給你們參考,也是對本身的不足進行總結。算法

【百度】(二面掛)

一面:

1.說下線程和進程的區別sql

2.如何保證線程安全設計模式

3.寫個算法,輸出2~100的素數(而後問你怎麼優化,還能夠怎麼優化,而後還能夠怎樣優化.....)緩存

4.瞭解哪些設計模式安全

5.MVC設計模式的思想是什麼?在項目中的運用,而後對比MVVM設計模式性能優化

6.堆和棧的區別,工程項目中的哪些數據是儲存在堆哪些在棧中網絡

7.iOS中的NSCopying協議,copy,MutableCopy的區別數據結構

8.解釋屬性修飾關鍵詞的做用(weak,strong,copy,readOnly,assgin,nonatomic等)

9.最近看過哪些書?目錄結構是怎樣的?哪部份內容印象最深?瞭解過做者嗎?

10.你還有什麼問題問我?

做爲一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個個人iOS交流羣:413038000,無論你是小白仍是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 你們一塊兒交流學習成長!

本次面試題答案總結以下,請點擊下面連接查看。

iOS開發——2020 最新 BAT面試題合集(持續更新中)

二面:

1.寫二叉樹的先序遍歷,而後用非遞歸寫

2.寫快排,並分析原理

3.http協議

4.http爲何底層是tcp不是udp ?

5.tcp是基於流式傳輸的,怎麼設計協議,進行協議的解析?

6.tcp爲何要進行三次握手?不是2次,4次?

7.抓包工具的原理是啥?

8.socket異常斷開時,設計一個合理的重連機制。

9.內存管理

10.iOS開發中用過哪些測試性能的工具

11.instruments它爲何能檢測內存泄漏

12.作過的項目有什麼技術難點(我說的難點在面試官看來都不是難點)?

13.在10億個數中如何快速找到最大的前100個數?

14.你有什麼創新能力?

15.你還有什麼問題問我?

總結:偏向基礎,問題逐步深刻。

【京東】(二面莫名其妙掛)

一面:

1.解釋屬性修飾關鍵詞的做用(weak,strong,copy,readOnly,assgin,nonatomic等)

2.項目中用過哪些設計模式

3.結合響應者鏈條和設計模式,解釋事件怎樣傳遞和處理

4.blcok,NSNotification,delegate,Observer比較

5.block爲何會致使循環引用

6.爲何想來京東

7.聊人生

二面:

(項目:由於實習的公司用的SDK組件化的開發模式,拿出來做品一邊演示他一邊提問,1-6點都是對於個人SDK項目提問)

1.爲何須要組件化?

2.tableView的性能優化

3.SDK的接口設計過程(通常設計爲進入業務線提供一個註冊方法,在須要的時候使用代理回調。向SDK裏傳遞數據通常用單利模式,開出相應的方法)

4.cocoaPods的實現思路,爲何沒有使用cocoaPods管理本身的SDK

5.項目中緩存SDK採用的策略(咱們項目主要借鑑了YYCache,採用lru算法,使用sqlite)

6.相對複雜業務交互的處理,採用的設計模式(單利模式配合模板方法模式實現)

7.AFN實現思路,對源碼的理解程度

8.項目中如何保證數據的安全性

9.runtime在奇葩需求當中的運用(好比產品要求5和6上面顯示不一樣的字體大小,能夠用runtime的交換方法)

9.快排的原理

10.C語言中strlen和sizeof的區別

11.職業規劃(開始聊人生)

總結:

偏向項目,主要考察對業務的處理熟練度。(這是我最拿手的,二面差很少聊了1個多小時,沒有答不上來問題,走的時候我跟面試官都很開心,晚上回去一看官網狀態爲未經過,傷心極了)

【同花順】

一面:(問的太基礎)

1.對於面向對象的理解

2.內存管理

3.多線程

4.保證線程安全的方式(加鎖和GCD柵欄,隊列組相關知識)

5.KVC和KVO的使用和注意事項

6.推送的原理

7.tableViewCell的自適應如何實現,如何保證性能

8.堆和棧的區別

二面:

1.SDWebImage的底層實現(我只答到了沒有沙盒的時如何實現)

2.簡述下runLoop(問了應用程序在不一樣條件下各個線程runLoop所處模式)

3.一個頁面能夠由幾個控制器共同管理嗎

4.http和socket的區別

5.何時用集合(NSSet)

6.項目上線或者版本迭代,有過被拒嗎?是什麼緣由?怎麼解決?

7.轉場動畫相關操做

8.繪圖相關知識(coreGraphics框架的使用)

9.數據持久化

10.xib和代碼適配界面有什麼不同

11.項目中遇到的問題,如何解決(我從所作的項目的框架搭建,模塊分佈,設計類圖,開發,自測,上線一直扯)

12.最先何時可以來實習(感受他們很缺人,可是我問了下他們部門都有30多個iOS開發者!!)

三面:(由於薪資沒談攏加了一次技術面)

1.assgin和weak的區別,代理爲何用assgin

2.類方法:load 和 initialize 有什麼區別,通常怎麼用它們

3.OC語言的動態機制的理解(開始淺談runtime)

4.設計模式:代理和觀察者模式的對比,單利模式的使用注意點

5.如何設計網絡請求框架(我按照AFN的理解去解釋了一波)

6.響應者鏈條

7.iPhone自帶的AssistiveTouch你如何實現

8.App包的大小受哪些影響

9.關於debug和release

10.view的生命週期

四面:

(HR面,基本上是閒扯,想着反正拿到offer也不得去,我問他的問題都比他問個人還要多。。。基本上也記不住了)

1.說出你的三個缺點和優勢

2.爲何選擇同花順

3.說出你在大學期間幹過的最牛逼的一件事

4.對於咱們企業文化的理解(我把我實習公司的企業文化吹噓了一遍,發現這幾點基本上放在任何私企都好使:客戶至上,團隊合做,誠信正直,務實創新)

總結:技術面很是偏向項目,感受前面兩個面試官比較水。

綜上所述:秋招的一線互聯網公司基本上看中學習能力和刻苦勤奮程度。好比百詞斬給出的招聘要求就是精通數據結構和算法,沒有實際開發經驗的均可以。因此要想去大廠基礎是必不可少的,並且必須深刻學習。

相關文章
相關標籤/搜索