一套不錯的IOS筆試題選擇題

1-10 C語言 & 計算機基礎

1、請看下面一段代碼

static int a = 1;
int main(){
        int b = 2;
        char *c = NULL; 
        c = (char *)malloc(100 * sizeof(char));
    return 0;
}   

請問訪問a,b,c 3種類型變量的效率從高到低依次是 
A. cba 
B. abc 
C. acb 
D. bca

(B)

2、下面四種內部排序算法中哪一種在最差情況下時間複雜度最高? 
A. 快速排序 
B. 冒泡排序 
C. 堆排序 
D. 歸併排序

(B)

3、Shell中,將command1的輸出作爲command2的輸入應該使用的命令是 
A. command1 && command2 
B. command1 > command2 
C. command1 & command2 
D. command1 | command2

(D)

4、下面的數據結構中不屬於線性結構的是 
A. 棧 
B. 鏈表 
C. 二叉樹 
D. 線性表

(C)

5、在一個二叉樹上,第5層最多可以有的節點數是 A. 2 
B. 8 
C. 16 
D. 32

(C)

6、在長度爲n的線性表上進行順序查找,在最糟糕的情況下需要的比較次數是 
A. n 
B. 2n-1 
C. 2n 
D. n^2

(A)

7、下面那項不是動態語言的特性 
A. 在運行時替換一個類 
B. 在運行時動態加載lib文件 
C. 在運行時修改對象中的方法 
D. 在運行時增加對象的方法

(B)

8、已知二叉樹後序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是 
A. cedba 
B. acbed 
C. decab 
D. deabc

(A)

9、以下多線程對int型變量x的操作,哪個不需要進行同步: 
A. x=y 
B. x++ 
C. ++x 
D. x=1

(D)

10、多線程中棧與堆是公有的還是私有的 
A. 棧公有, 堆私有 
B. 棧公有,堆公有 
C. 棧私有, 堆公有 
D. 棧私有,堆私有 
(C)

11-20 Objective-C & Xcode

11、在Xcode中,需要編譯混合Objective-C和C++的源碼文件,需要將文件格式的後綴改爲 
A. .c 
B. .cpp 
C. .mm 
D. .m

(C)

12、Objective-C聲明一個類所要用到的編譯指令是 
A. @interface SomeClass 
B. @protocol SomeClass 
C. @implementation SomeClass 
D. @autorelease SomeClass

(A)

13、使用Xcode創建工程時,支持同時創建的版本管理庫是 
A. Subversion 
B. Mercurial 
C. Git 
D. Concurrent Versions System

(C)

14、下面那個方法不屬於NSObject的內省(Introspection)方法 
A. init 
B. isKindOfClass 
C. responseToSelector 
D. isMemberOfClass

(A)

15、使用protocol時,聲明一組可選擇實現與否的函數,需要在聲明的前一行加上:
A. @required 
B. @optional 
C. @interface 
D. @protocol

(B)

16、需要在手動管理內存分配和釋放的Xcode項目中引入和編譯用ARC風格編寫的文件,需要在文件的Compiler Flags上添加參數: 
A. -shared 
B. -fno-objc-arc 
C. -fobjc-arc 
D. -dynamic

(C)

17、下面關於Objective-C內存管理的描述錯誤的是 
A. 當使用ARC來管理內存時,代碼中不可以出現autorelease 
B. autoreleasepool 在 drain 的時候會釋放在其中分配的對象 
C. 當使用ARC來管理內存時,在線程中大量分配對象而不用autoreleasepool則可能會造成內存泄露 
D. 在使用ARC的項目中不能使用NSZone

(A)

18、下面關於#import和#include的描述正確的是 A. #import 是 #include 的替代指令,防止重複引用 
B. #import 和 #include 不可以混合使用 
C. #import 只用於引用 Objective-C的文件, #include 只用於引用C和C++的文件 
D. #import 和 #include 的使用效果完全相同

(A)

19、下面的代碼問題在哪?

@implementation xxx
…
…
- (void) setVar:(int)i {
     self.var = i;
}

A. 應該將var synthesize 
B. 調用會出現死循環 
C. 正常 
D. 返回值錯誤

(B)

20、下面那個方法可以比較兩個NSString *str1, *str2 的異同 
A. if(str1 = str2) xxx ; 
B. if([str1 isEqualToString:str2]) xxx ; 
C. if(str1 && str2) xxx ; 
D. if([str1 length] == [str2 length]) xxx;

(B)

21-30 iOS

21、下面哪個不屬於對象數據序列化方法 A. JSON 
B. Property List 
C. XML 
D. HTTP

(D)

22、在UIKit中,frame與bounds的區別是 
A. frame 是 bounds 的別名 
B. frame 是 bounds 的繼承類 
C. frame 的參考系是父視圖座標,bounds 的參考系是自身的座標 
D. frame 的參考系是自身座標,bounds 的參考系是父視圖的座標

(C)

23、Objective-C有私有方法嗎?有私有變量嗎? 
A. 有私有方法和私有變量 
B. 沒有私有方法也沒有私有變量 
C. 沒有私有方法,有私有變量 
D. 有私有方法,沒有私有變量

(C)

24、下面關於線程管理錯誤的是 
A. GCD所用的開銷要比NSThread大 
B. 可以在子線程中修改UI元素 
C. NSOperationQueue是比NSthread更高層的封裝 
D. GCD可以根據不同優先級分配線程

(B)

25、下面代碼的作用是讓doSomeThing函數每隔1秒被調用1次。請問哪裏有問題

NSTimer *myTimer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(doSomeThing:)  userInfo:nil repeats:YES]; 

[myTimer fire]

A. 沒有將timer加入runloop 
B. doSomeThing缺少參數 
C. 忘記傳遞數據給userInfo 
D. myTimer對象未通過[[myTimer alloc] init]方法初始化

(A)

26、UIViewController在顯示過程中,各個方法的調用順序是 
A. init -> viewDidLoad -> viewDidAppear -> viewDidUnload 
B. init -> viewDidAppear -> viewDidLoad -> viewDidUnload 
C. init -> viewDidLoad -> viewDidUnload -> viewDidAppear 
D. init -> viewDidAppear -> viewDidUnload -> viewDidLoad

(A)

27、使用imageNamed方法創建UIImage對象時,與普通的init方法有什麼區別? 
A. 沒有區別,只是爲了方便 
B. imageNamed方法只是創建了一個指針,沒有分配其他內存 
C. imageNamed方法將圖片加載到內存中後不再釋放 
D. imageNamed方法將使用完圖片後立即釋放

(C)

28、一個類的delegate(代理)的作用不正確的是 
A. delegate中的函數在其他類中實現 
B. 主要用於不同類型的對象之間一對一傳遞消息 
C. 沒有指派則不會觸發 
D. 可以一個對象的delegate指派給多個其他類型的對象

(D)

29、在沒有navigationController的情況下,要從一個ViewController切換到另一個ViewController應該 
A. [self.navigationController pushViewController:nextViewController animated:YES]; 
B. [self.view addSubview:nextViewController.view]; 
C. [self pushViewController:nextViewController animated:YES]; 
D. [self presentModalViewController:nextViewController animated:YES];

(D)

30、什麼是key window? 
A. App中唯一的那個UIWindow對象 
B. 可以指定一個key的UIWindow 
C. 可接收到鍵盤輸入等事件的UIWindow 
D. 不可以隱藏的那個UIWindow對象

(C)

發佈了33 篇原創文章 · 獲贊 8 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章