最近一直在帶大師班,學習有一段時間了帶著以下三個目的進行了一場測驗.收益頗多.這里也紀錄下來

?? 考試檢測大家最近的學習
?? 敲響警鐘,希望大家能夠端正學習態度、及時查漏補缺
?? 根據大家在這階段學習的情況調整下階段講課的速度和深度
正常考試 分為四種題型. 總分 200分 (不要問我為什么不是100分,誒...就是玩!!!!??)
1、選擇題 (每題5分, 共10道 50分)
2、判斷題 (每題5分, 共6道 30分)
3、簡單題 (每題10分 共10道 100分)
4、拓展滿分題 (20分)
下面我就貼出題目吧,如果你有時間的,不妨也拿筆本子測驗一下,看看能做多少分,在文章點贊留言我會第一時間發你答案!或者加我微信:mayday1739 備注獲取答案
一、選擇題(每題5分) ?? 有單選有多選哦??
1. 在LP64下,一個指標的有多少個位元組 分值5分
A: 4
B: 8
C: 16
D: 64
2. 一個實體物件的記憶體結構存在哪些元素 分值5分
A:成員變數
B: supClass
C: cache_t
D: bit
3. 下面 sizeof(struct3)大小等于 分值5分
struct LGStruct1 {
char b;
int c;
double a;
short d;
}struct1;
struct LGStruct2 {
double a;
int b;
char c;
short d;
}struct2;
struct LGStruct3 {
double a;
int b;
char c;
struct LGStruct1 str1;
short d;
int e;
struct LGStruct2 str2;
}struct3;
A: 48
B: 56
C: 64
D: 72
4. 下列代碼: re1 re2 re3 re4 re5 re6 re7 re8輸出結果 分值5分
BOOL re1 = [(id)[NSObject class] isKindOfClass:[NSObject class]];
BOOL re2 = [(id)[NSObject class] isMemberOfClass:[NSObject class]];
BOOL re3 = [(id)[LGPerson class] isKindOfClass:[LGPerson class]];
BOOL re4 = [(id)[LGPerson class] isMemberOfClass:[LGPerson class]];
NSLog(@" re1 :%hhd\n re2 :%hhd\n re3 :%hhd\n re4 :%hhd\n",re1,re2,re3,re4);
BOOL re5 = [(id)[NSObject alloc] isKindOfClass:[NSObject class]];
BOOL re6 = [(id)[NSObject alloc] isMemberOfClass:[NSObject class]];
BOOL re7 = [(id)[LGPerson alloc] isKindOfClass:[LGPerson class]];
BOOL re8 = [(id)[LGPerson alloc] isMemberOfClass:[LGPerson class]];
NSLog(@" re5 :%hhd\n re6 :%hhd\n re7 :%hhd\n re8 :%hhd\n",re5,re6,re7,re8);
A: 1011 1111
B: 1100 1011
C: 1000 1111
D: 1101 1111
5. (x + 7) & ~7 這個演算法是幾位元組對齊 分值5分
A: 7
B: 8
C: 14
D: 16
6. 判斷下列資料結構大小 分值5分
union kc_t {
uintptr_t bits;
struct {
int a;
char b;
};
}
A: 8
B: 12
C: 13
D: 16
7. 元類的 isa 指向誰, 根元類的父類是誰 分值5分
A: 自己 , 根元類
B: 自己 , NSObject
C: 根元類 , 根元類
D: 根元類 , NSObject
8. 查找方法快取的時候發現是亂序的, 為什么? 哈希沖突怎么解決的 分值5分
A: 哈希函式原因 , 不解決
B: 哈希函式原因 , 再哈希
C: 他存他的我也布吉島 , 再哈希
D: 他亂由他亂,清風過山崗 , 不解決
9. 訊息的流程是 分值5分
A: 先從快取快速查找
B: 慢速遞回查找 methodlist (自己的和父類的,直到父類為nil)
C: 動態方法決議
D: 訊息轉發流程
10. 類方法動態方法決議為什么在后面還要實作 resolveInstanceMethod 分值5分
A: 類方法存在元類(以物件方法形式存在), 元類的父類最終是 NSObject 所以我們可以通過resolveInstanceMethod 防止 NSObject 中實作了物件方法!
B: 因為在oc的底層最侄訓是物件方法存在
C: 類方法存在元類以物件方法形式存在.
D: 咸吃蘿卜,淡操心! 蘋果瞎寫的 不用管
二、判斷題 (每題5分)
- 光憑我們的物件地址,無法確認物件是否存在關聯物件 分值5分
對
錯
- int c[4] = {1,2,3,4}; int *d = c; c[2] = *(d+2) 分值5分
對
錯
- @interface LGPerson : NSObject{ UIButton *btn } 其中 btn 是實體變數 分值5分
對
錯
- NSObject 除外 元類的父類 = 父類的元類 分值5分
對
錯
- 物件的地址就是記憶體元素的首地址 分值5分
對
錯
- 類也是物件 分值5分
對
錯
三、簡單題 (每題 10分 合計 100分)
請把它當成一場面試,認真對待 希望大家耐心 切忌浮躁 (和諧學習 不急不躁)
17. 怎么將上層OC代碼還原成 C++代碼 分值10分
18. 怎么打開匯編查看流程,有什么好處 ? 分值10分
19. x/4gx 和 p/x 以及 p $0 代表什么意思 分值10分
20. 類方法存在哪里? 為什么要這么設計? 分值10分
21. 方法慢速查找程序中的二分查找流程,請用偽代碼實作 分值10分
22. ISA_MASK = 0x00007ffffffffff8ULL 那么這個 ISA_MASK 的演算法意義是什么? 分值10分
23. 類的結構里面為什么會有 rw 和 ro 以及 rwe ? 分值10分
24. cache 在什么時候開始擴容 , 為什么? 分值10分
25. objc_msgSend 為什么用匯撰寫 , objc_msgSend 是如何遞回找到imp? 分值10分
26. 一個類的類方法沒有實作為什么可以呼叫 NSObject 同名物件方法 分值10分
四、拓展滿分題 (20分
提交一篇大師班學習期間,你寫的最好的一篇博客 分值20分
五、總結
考試的題目偏向底層, 也比較貼合現在iOS的面試市場! 內容有深有淺,還可以繼續挖坑 (??)
宣告: 內容只是為了促進學習,并不是為行業增加內卷.希望各位靚仔靚女 不要把這些題目作為面試素材為難求職者.
答案可以直接微信我: mayday1739 備注獲取答案
文末推薦:iOS熱門文集
-
① BAT等各個大廠iOS面試真題+答案大全
-
② iOS中高級開發必看的熱門書籍(經典必看)
-
③ iOS開發高級面試"簡歷制作"指導
-
④ iOS面試流程到基礎知識大全
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/308632.html
標籤:iOS
上一篇:逆向工程三之工具篇
