問題:
答案:這是一道老題,或許很多人都準備過,其實如果不是被每個公司都考查的話,這道題可以看看候選人對於 ios 背後底層原理的感興趣程度。真正對程式設計感興趣的同學,都會對這個多少有一些好奇,進而在網上搜尋並學習這方面的資料。
以下是本題的簡單回答:
如果把類的例項看成乙個c語言的結構體(struct),它首先包含的是乙個 isa 指標,而類的其它成員變數依次排列在結構體中。排列順序如下圖所示:
為了驗證該說法,我們在xcode中新建乙個工程,在main.m中執行如下**:
#import
@inte***ce
father : nsobject
@end
@implementation
father
@end
@inte***ce
child : father
@end
@implementation
child
@end
int main(int argc, char * argv)
}
我們將斷點下在@autoreleasepool
處,然後在console中輸入p *child
,則可以看到xcode輸出如下內容,這與我們上面的說法一致。
(lldb) p *child
(child) $0 =
(int) _father = 0
} (int) _child = 0
}
因為物件在記憶體中的排布可以看成乙個結構體,該結構體的大小並不能動態變化。所以無法在執行時動態給物件增加成員變數。
注:需要特別說明一下,通過objc_setassociatedobject
和objc_getassociatedobject
方法可以變相地給物件增加成員變數,但由於實現機制不一樣,所以並不是真正改變了物件的記憶體結構。
中興筆試 面試
中興的校園招聘還是挺早的,九月底就完成全部面試,其他的一些大公司也只是剛開始舉行宣講會或者筆試。對中興以前也不怎麼了解,聽說待遇不怎麼好,事實也確實如此,只是懷著廣撒網積累經驗的目的報了網申。九月十七號接到通知九月十八號在北科筆試。中興的筆試個人感覺考得挺難得,涉及面挺廣,硬體軟體都有,資料結構 網...
筆試面試總結
把youdao和hulu的筆試面試總結一下,youdao的筆試也是有出現經典的題目的,如過橋問題等,當時忘了標準的做法,直接列舉的。還有乙個根據樹的後序和中序來求出樹的前序,當時擠不出 直接寫的思路。最後一題不會做,題目是這樣的,給你n種顏色,用這n種顏色的1 1 1的小立方體構造出乙個長方體,使得...
前端筆試面試
缺點 答案一 答案二doctype宣告指出閱讀程式應該用什麼規則集來解釋文件中的標記。在web文件的情況下,閱讀程式 通常是瀏覽器或者校驗器這樣的乙個程式,規則 則是w3c所發布的乙個文件型別定義 dtd 中包含的規則。html5新增了 27 個元素,廢棄了 16 個元素,根據現有的標準規範,把 h...