iOS開發——面試筆試精華(二)

來源:互聯網
上載者:User

標籤:

面試筆試精華(二)

警告:一定要把英文題目過一遍,有些公司的題目故意弄成英文的!!!

1.        Difference between shallow copy and deep copy?

淺複製和深複製的區別?

1>   淺拷貝:指標(地址)拷貝,不會產生新對象

2>   深拷貝:內容拷貝,會產生新對象

 

2.        What is advantage of categories? What is difference between implementing a category and inheritance?

類別的作用?繼承和類別在實現中有何區別?

1>   分類可以在不修改原來類模型的基礎上拓充方法

2>   分類只能擴充方法、不能擴充成員變數;繼承可以擴充方法和成員變數

3>   繼承會產生新的類

 

3.        Difference between categories and extensions??

類別和類擴充的區別?

1>   分類是有名稱的,類擴充沒有名稱

2>   分類只能擴充方法、不能擴充成員變數;類擴充可以擴充方法和成員變數

3>   類擴充一般就寫在.m檔案中,用來擴充私人的方法和成員變數(屬性)

 

4.        Difference between protocol in objective c and interfaces in java??

oc中的協議和java中的介面概念有何不同?

1>  Java的介面中聲明的方法必須都實現

2>  Oc的protocol中聲明的方法並不一定要實現

 

5.        What are KVO and KVC?

1>  KVC是索引值編碼,可以通過一個字串的key(屬性名稱)修改對象的屬性值

2>  KVO是索引值監聽,可以監聽一個對象屬性值的改變

 

6.        What is purpose of delegates??

代理的作用?

1>   兩個對象之間傳遞資料和訊息

2>   解耦,拆分商務邏輯

 

7.        What are mutable and immutable types in Objective C??

oc中可修改和不可以修改類型?

1>  mutable是可變類型,比如NSMutableArray,可以動態往裡面添加元素

2>  immutable是不可變類型,比如NSArray,固定的儲存空間,不能添加元素

 

8.        When we call objective c is runtime language what does it mean??

我們說的oc是動態運行時語言是什麼意思?

1>   動態綁定:物件類型在運行時才真正確定

2>   多態性

 

9.        what is difference between NSNotification and protocol??

通知和協議的不同之處

1>   通過NSNotification可以給多個對象傳遞資料和訊息

2>   通過protocol(代理模式)只能給一個對象傳遞資料和訊息

 

10.     What is push notification??

什麼是推送訊息?

1>   本地推送:程式內部彈出通知到使用者裝置

2>   遠程推送:由推送伺服器推播通知到使用者裝置

 

11.     What is Polymorphism??

關於多態性?

多態:父類指標指向子類對象

 

12.     What is Singleton??

對於單例的理解

單例:保證程式運行過程中,永遠只有一個對象執行個體

目的是:全域共用一份資源、節省不必要的記憶體開銷

 

13.     What is responder chain??

? 響應者鏈:

l  UIResponder有一個nextResponder屬性,通過該屬性可以組成一個響應者鏈,事件或訊息在其路徑上進行傳遞

l  如果UIResponder沒有處理傳給它的事件,會將未處理的訊息轉寄給自己的nextResponder

 

14.    Difference between frame and bounds??

frame和bounds有什麼不同?

1>  frame以父控制項的左上方為座標原點

2>  bounds以控制項本身的左上方為座標原點

 

15.     Difference between method and selector??

方法和選取器有何不同?

通過一個selector可以找到方法地址,進而調用一個方法

補充:selector是一個方法的名字,method是一個組合體,包含了名字和實現.

 

16.     Is there any garbage collection mechanism in Objective C.??

OC的記憶體回收機制?

1>  OC 1.0沒有記憶體回收

2>  OC 2.0有記憶體回收,只能用在Mac上

3>  iOS中有ARC機制,是編譯器特性,記憶體回收是運行時特性

 

17.     What is NSOperation queue??

1>   用來存放NSOperation對象的隊列,可以用來非同步執行一些操作

2>   一般可以用在網路請求等耗時操作

 

18.     What is lazy loading??

消極式載入:比如控制器的view,在第一次用到view時才會調用loadView方法進行建立

19.     Can we use two tableview controllers on one viewcontroller?

是否在一個視圖控制器中嵌入兩個tableview控制器?

從技術角度上分析,一個控制器內部添加2個表格控制器是沒有問題的

 

20.     Can we use one tableview with two different datasources? How you will achieve this???

一個tableView是否可以關聯兩個不同的資料來源?你會怎麼處理?

從對象屬性上分析,tableView只有一個dataSource屬性。當然,真要使用2個不同的資料來源,還是有其他辦法解決的

 

iOS開發——面試筆試精華(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.