序言
以下iOS面試題僅供參考,畢竟面試是不可控的,但懂得越多,自然機會越大!
位元組一面內容:
1、 自我介紹
2、 介紹一下簡歷中的一個專案
3、 面向物件的三個要素
4、 多型?
5、 Java,python,OC運行效率孰高?
6、 Property,其中copy如何?
7、 Property(nonatomatic, copy) NSMutableArray有什么問題
8、 Copy和MutableCopy的區別
9、 解釋下類別,原理
10、解釋下封裝,多載;
11、 OC存在多重繼承嗎?
12、了解表視圖嗎,解釋一下復用原理
13、說明一下表視圖的滑動卡頓的優化方法
14、viewDidLoad和viewDidAppear的呼叫時機(一次和多次的區別);
15、頁面間的傳值方式有哪些(公有屬性,公有方法和協議,block傳值,通知,extern全域變數傳值,NSUserDefault簡單資料存盤傳值);
16、通知和delegate的區別?
17、 通知的發送和接收是否在同一執行緒?
18、HTTP和HTTPS區別?
19、OC中多執行緒一般有幾個方案?
20、了解NSURLConnection和Session嗎?
21、說一下NSURLSession具體的實作原理
22、http的頭部的幾個碼,;
23、編程題:實作一個二叉樹的倒置,
位元組二面內容:
1、老虎吃羊問題,(博弈論,老虎要吃羊,假設所有老虎是理智的,即首先為了生存,其次為了飽腹,老虎吃了羊后會變成羊,同樣會被其他老虎吃掉,現在,N只老虎和1只羊,請問N為多少時,老虎們會吃羊,動態規劃問題,奇數吃,偶數不吃,)
2、青蛙跳格子,斐波拉契數列;青蛙跳格子,斐波拉契數列;
3、熟悉使用什么框架?
4、如果讓你自己實作SDWebImage的二級存盤機制,你如果實作?
5、@autorelease{ NSString s;}和NSString s;有什么區別?
6、說一下你對autorelease的理解,
7、說一下對于http的理解?
8、http的回傳狀態碼有了解嗎?
9、為什么說http是無狀態的?
10、為什么不用原生的APNS技術實作呢?
11、了解GCD嗎?
12、說一下dispatch_group_t和dispatch_barrier_sync的區別嗎?
13、了解NSOperation嗎?
14、了解NSOperationQueue嗎?
位元組三面內容:
1、 演算法題:求只有三項元素的陣列中的順序排列,時間復雜度要求O(n);
2、 說一下你對OC程式編譯和連接方面的理解?
3、 說一下記憶體管理相關的操作?
4、 說一下回應鏈的原理?
5、 追問:hitTest有嘗試過重寫嗎?
6、 http, session和cookie有了解過嗎;
7、 執行緒和佇列的關系?
8、 CALayer和UIView了解嗎?
作為開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個 我的iOS交流群:1001906160,不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 大家一起交流學習成長!
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/286138.html
標籤:iOS
