最開始春招的時候,一線互聯網基本上都投了,可是不少都被刷了,有的是刷了學校,有的是刷了四級,有的是刷了專業,但更多的是刷了能力,畢竟咱們學校計科學院每一年有幾我的去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,阿里面試題、面試經驗,討論技術, 你們一塊兒交流學習成長!
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.對於咱們企業文化的理解(我把我實習公司的企業文化吹噓了一遍,發現這幾點基本上放在任何私企都好使:客戶至上,團隊合做,誠信正直,務實創新)
總結:技術面很是偏向項目,感受前面兩個面試官比較水。
綜上所述:秋招的一線互聯網公司基本上看中學習能力和刻苦勤奮程度。好比百詞斬給出的招聘要求就是精通數據結構和算法,沒有實際開發經驗的均可以。因此要想去大廠基礎是必不可少的,並且必須深刻學習。