iOS 2017年面試總結

各類緣由之下,最近兩週一直處於面試狀態,這裏整理了最近出鏡率略高的面試題。以及我的的一些面試心得。面試

開始面試以前一直聽你們在說iOS行業不景氣、面試機會少、待遇差等等等等各類抱怨。聽完後確實擔心過一段時間,怕辭職以後找不到工做,畢竟個人學歷是個硬傷。你們學歷背景都比我強,我估計會更很差找工做了。算法

然而實際過程還算順利。正式離職以前陸陸續續投遞過幾回簡歷,可是反向平平。17年12月8日(週五)辦理離職手續,週一正式開始在各大招聘平臺(主要是BOSS、拉鉤)投遞簡歷。週二晚上中止投遞簡歷,由於天天兩家面試的安排已經安排到週五。週三的面試結束後,很幸運的拿到三家Offer。爲趕在15號以前入職,將週四週五四家公司推了兩家(對不起貴司),將剩下兩家合併到週四面試,很幸運的又拿到一家Offer,也就是我將要入職公司的Offer。編程

總投遞簡歷時間兩週,面試11家公司,拿到4家Offer(原本應該是5家,有一家過了四面,最後一面由於學歷問題被pass了,必須吐槽一下)。期間沒有安排BAT級別的公司。爲了此次面試,作了不少的準備,在這裏總結一下。緩存

  1. 完善簡歷(用時兩天,如下內容無優先級區分)
    • 簡歷細節
    • 簡歷合理性
    • 簡歷模塊分佈
    • 簡歷乾淨、整潔程度
    • 模塊內容
    • 模塊優先級
    • 模塊內容優先級
    • 模塊內容可閱讀性
    • 簡歷亮點(我以爲這個很重要)

我用了兩天時間完善簡歷。期間在簡書、知乎、百度等各類地方找簡歷模板、模範簡歷。知乎上有各類資深HR回答的「一份優秀簡歷須要注意的內容」。找工做第一關就是HR,因此我以爲簡歷是最重要的,須要好好準備一下。安全

  1. 技術儲備(如下內容無優先級區分)
    • 刷歷年面試題
    • 刷新知識新內容
    • 刷基礎知識書籍、文檔
    • 刷各位大神博客
    • 刷各大iOS論壇

技術儲備這部分我以爲是最辛苦的部分,腦海裏天天要被一大堆新技術舊技術各類衝擊,精神一直處於緊繃狀態。晚上睡覺都是各類面試題、技術原理、技術實現細節等等。 技術儲備我以爲不必定須要把全部內容都背到腦子裏,只要在腦海裏造成一個大致的邏輯就能夠。當面試官問到的時候把知道的說出來就好(切記不要猜)。 講真直播方面的內容我到如今都是隻知其一;不知其二的,之前工做一直沒有涉及到直播方面。並且直播相關知識實在是太多了!性能優化

  1. 面試準備(如下內容無優先級區分)
    • 公司簡介
    • 公司項目
    • 公司創立時間
    • 公司發展歷程
    • 公司處於什麼階段

面試準備是很重要的,這部分的準備決定了面試時候的主導權在誰手裏! 每一個公司都有對應的發展歷程,不一樣的歷程決定了技術架構的不一樣,不一樣的技術架構決定了面試官的問題的技術深度。你去和作直播公司的面試官聊直播就是找虐(若是你想入職!你要記住即便面試官錯了!那也是對的!)。這邊有個小技巧,若是你的回答和麪試官給你解釋的內容不同,並且你也不以爲他說的是對的,請記住!少說一點!不要長篇大論的給面試官解釋,在他解釋的時候切其中的某個知識點一下就行。總之就是請不要把你的位置放到面試官之上,哪怕你倆實際上是對等的。 若是在你查看公司項目的時候發現,項目的知識點恰好是你徹底不瞭解的,請直接說我不會!不要給面試官在你面前秀知識的機會!否則他會面完你轉身和HR說:「這我的啊,呵呵,就那樣吧」! 最最重要的一點!!!去面試以前千萬記得在拉鉤上看一下公司的面試評論!!!例如:XX善康XXXX公司,我要點你!我要曝光你!太生氣了!我用了一個半小時跑過去,面試我5分鐘。並且面試官嘴裏竟然會說出:「就這些?」,「還有嗎?」,「完了吧?」等引人深思的句子。全程玩手機什麼的我就不說了,嘁,爲了它我推掉一個BAT的公司呢~bash

如下爲出鏡率較高的面試題,暫時列出一個大概,後續有時間會補上衍生問題和答案。微信

原理類

  1. 響應者機制
  2. 消息傳遞機制
  3. 介紹一下catagory
  4. block的本質是什麼
  5. JSON解析快慢緣由
  6. __bridge 是什麼意思
  7. assign和weak的區別
  8. runtime是如何工做的
  9. runloop和線程的關係
  10. 長鏈接在TCP的哪一層
  11. 使用drawRect有什麼影響
  12. nonatomic和atomic的區別
  13. oc中new和alloc/init的區別
  14. nonatomic和atomic的區別
  15. NSDictionary的本質是什麼
  16. UIView和CALayer是啥關係
  17. ARC和MRC的區別,ARC的實現
  18. unrecognized selector是如何出現的
  19. JSON和NSArray/NSDictionary和互轉
  20. 簡述UIButton和UITableView的繼承關係
  21. @dynamic和@synthesize關鍵字是用來幹什麼的
  22. 堆棧的區別、平常的開發中哪些地方會涉及到堆棧
  23. presentView 的釋放時機 rootVC切換的時候釋放嗎
  24. __strong和__weak修飾詞的做用是什麼__autoreleasing修飾詞是幹什麼的
  25. __weak 所屬的hash表裏 存的鍵值都是什麼,被修飾的屬性會在何時釋放
  26. 可否向編譯後獲得的類中增長實例變量?可否向運行時建立的類中添加實例變量?爲何?

實戰類

  1. 屏幕適配
  2. 實現一個單例
  3. 實現retain和copy
  4. 清空NSArray中的元素
  5. 舉幾個形成死鎖的例子
  6. 線程通信和線程安全問題
  7. 數據持久化的幾種方案及優缺點
  8. 微信支付流程、支付寶支付流程
  9. 循環引用 何時用到strongSelf 舉例
  10. 講講你用Instrument優化動畫性能的經歷吧
  11. 實現一個六邊形Button,要求邊框以外區域不可點
  12. storyBoard名爲Personal中多個頁面,初始化其中名爲MyCtrl的頁面如何實現

架構類

  1. 介紹一下RN
  2. 介紹一下組件化
  3. 介紹一下響應式編程
  4. 作過哪些方面的性能優化
  5. 作過哪些方面的內存優化
  6. 如何設計一個AFNetWoring
  7. 如何考慮一個APP框架的搭建
  8. APP我的信息安全性如何保證
  9. MVC/MVVM/MVP區別及優缺點
  10. 如何設計一個存有公司內部員工信息的APP(假設公司有10萬以上員工)
  11. 如何看待storyBoard、xib和純代碼開發,說一下優缺點,你負責項目開發會採用哪一種形式

音視頻類

  1. 流媒體
  2. 視頻播放
  3. 邊下邊播
  4. 直播相關知識

即時通信類

  1. socket、XMPP是如何實現IM的,具體流程
  2. JSON串的儲存模式是什麼
  3. XML和JSON的優缺點
  4. 除了socket和XMPP還有其餘實現IM的方式嗎

JS與原生交互類

  1. JS交互使用過哪一種方式
  2. WKWebImage和UIWebImage的卻別及優缺點
  3. AFNetWorking和SDWebImage實現原理,SDWebImage核心緩存理念

算法類

  1. 隨便寫一個排序算法
  2. 寫一個取10000之內質數算法
  3. 實現找到兩個向教練表的倒數第n個節點(能夠用僞代碼)
  4. 字符串按照單詞反轉,例「Objective-C Hello Word!」,結果「word! Hello Objective-C」

功能類

  1. 藍牙有幾種通信協議
  2. 說一下藍牙的實現

其餘類

  1. 職業規劃
  2. 展現項目,介紹項目難點,亮點,項目哪些模塊是你負責的
  3. 工做期間遇到有意思的問題或者比較難的問題
  4. 工做期間有沒有讓你以爲頗有成就感的事情
  5. 作過的最有技術含量的東西
  6. 有沒有作過看起來特別炫的東西

神經病類

這個問題不是我遇到的,是我一個朋友去面試被問到,歡迎各路大神討論。架構

  1. 你有朋友嗎?
  2. 若是你和你朋友一塊兒去犯罪,很不幸你被抓住了,你會把你的朋友供出來嗎?

代碼類

void tet1(){
	int a = 10;
	void (^block) = ^{
		NSLog(@「a is %d」, a);
	}
	a = 20;
	block();
}
輸出結果:
複製代碼
main() {
	int a[5] = {1,2,3,4,5};
	int *ptr = (int *)(&a+1);
	printf(「%d, %d」,*(a+1),*(ptr+1));
}
輸出結果:
複製代碼
NSLog(@"1");
dispatch_sync(dispatch_get_main_queue(), ^{
    NSLog(@"2");
});
NSLog(@"3");
輸出順序:
複製代碼

結束,預祝各位找工做順序~



有志者、事竟成,破釜沉舟,百二秦關終屬楚;框架

苦心人、天不負,臥薪嚐膽,三千越甲可吞吳.

相關文章
相關標籤/搜索