1.及時聊天app不會採用的網絡傳輸方式是 D
A UDP B TCP C Http D FTP 算法
2.下列技術不屬於多線程的是 A
A Block B NSThread C NSOperation D GCD數組
3.線程和進程的區別不正確的是 B
A 進程和線程都是由操做系統所體會的程序運行的基本單元
B 線程之間有單獨的地址空間
C 進程和線程的主要差異在於它們是不一樣的操做系統資源管理方式
D 線程有本身的堆棧和局部變量服務器
4. 堆和棧的區別正確的是 D
A 對於棧來說,咱們須要手工控制,容易產生memory leak。
B 對於堆來講,釋放工做由編譯器自動管理,無需咱們手工控制
C 在Windows下,棧是向高地址擴展的數據結構,是連續的內存區域,棧頂的地址和棧的最大容量是系統預先規定好的。
D 對於堆來說,頻繁的new/delete勢必會形成內存空間的不連續,從而形成大量的碎片,使程序效率下降。網絡
5. 下列回調機制的理解不正確的是 B
A 目標動做對:當兩個對象之間有⽐比較緊密的關係時,如視圖控制器與其下的某個視圖。
B 代理:也叫委託,當某個對象收到多個事件,並要求同一個對象來處理全部事件時。委託機制必須依賴於某個協議定義的⽅方法來發送消息。
C 通告機制:當須要多個對象或兩個⽆無關對象處理同一個事件時。
D Block:適⽤於回調只發⽣生一次的簡單任務。數據結構
6. 對於runloop的理解不正確的是 C
A 每個線程都有其對應的RunLoop
B 默認非主線程的RunLoop是沒有運行的
C 在一個單獨的線程中沒有必要去啓用RunLoop
D 能夠將NSTimer添加到runloop中多線程
7. UITableView中cell的複用是由幾個數組實現的 B
A 1 B 2 C 3 D 3或4併發
8. 在線播放視頻通常訪問服務器中的 類型文件 A
A M3U8 B flv C MP4 D dataapp
9. 點擊Button響應鏈中最終獲得響應的是 B
A Window B Application C AppDelegate D UIViewController框架
10。 內存管理理解不正確的是 B
A 程序A裏有一段內存被成功申請完成以後,內存計數器就從0變爲1 (這個過程是alloc);
B 程序B裏要使用已存在內存,那麼內存計數器從1變爲2 (這個過程是retain或者copy);
C 緊接着程序A不須要這個內存了,那麼程序A就把這個內存計數器減1 (這個過程是release);
D 當系統發現這個內存計數器變爲小於等於0,那麼就調用垃圾回收程序把這段內存回收(這個過程是dealloc); 函數
11 斷點續傳須要在請求頭中添加的控制續傳最重要的關鍵字是 A
A range B length C type D size
12 post傳輸的最大文件限制爲 C
A 1G B 2G C 4G D 8G
13 MVC優勢不正確的是 D
A 低耦合性
B 高重用性和可適用性
C 較低的生命週期成本
D 代碼高效率
1-10 C語言 & 計算機基礎
一、請看下面一段代碼
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)
二、下面四種內部排序算法中哪種在最差狀況下時間複雜度最高?
A. 快速排序
B. 冒泡排序
C. 堆排序
D. 歸併排序
(B)
三、Shell中,將command1的輸出做爲command2的輸入應該使用的命令是
A. command1 && command2
B. command1 > command2
C. command1 & command2
D. command1 | command2
(D)
四、下面的數據結構中不屬於線性結構的是
A. 棧
B. 鏈表
C. 二叉樹
D. 線性表
(C)
五、在一個二叉樹上,第5層最多能夠有的節點數是 A. 2
B. 8
C. 16
D. 32
(C)
六、在長度爲n的線性表上進行順序查找,在最糟糕的狀況下須要的比較次數是
A. n
B. 2n-1
C. 2n
D. n^2
(A)
七、下面那項不是動態語言的特性
A. 在運行時替換一個類
B. 在運行時動態加載lib文件
C. 在運行時修改對象中的方法
D. 在運行時增長對象的方法
(B)
八、已知二叉樹後序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是
A. cedba
B. acbed
C. decab
D. deabc
(A)
九、如下多線程對int型變量x的操做,哪一個不須要進行同步:
A. x=y
B. x++
C. ++x
D. x=1
(D)
十、多線程中棧與堆是公有的仍是私有的
A. 棧公有, 堆私有
B. 棧公有,堆公有
C. 棧私有, 堆公有
D. 棧私有,堆私有
(C)
11-20 Objective-C & Xcode
十一、在Xcode中,須要編譯混合Objective-C和C++的源碼文件,須要將文件格式的後綴改成
A. .c
B. .cpp
C. .mm
D. .m
(C)
十二、Objective-C聲明一個類所要用到的編譯指令是
A. @interface SomeClass
B. @protocol SomeClass
C. @implementation SomeClass
D. @autorelease SomeClass
(A)
1三、使用Xcode建立工程時,支持同時建立的版本管理庫是
A. Subversion
B. Mercurial
C. Git
D. Concurrent Versions System
(C)
1四、下面那個方法不屬於NSObject的內省(Introspection)方法
A. init
B. isKindOfClass
C. responseToSelector
D. isMemberOfClass
(A)
1五、使用protocol時,聲明一組可選擇實現與否的函數,須要在聲明的前一行加上:
A. @required
B. @optional
C. @interface
D. @protocol
(B)
1六、須要在手動管理內存分配和釋放的Xcode項目中引入和編譯用ARC風格編寫的文件,須要在文件的Compiler Flags上添加參數:
A. -shared
B. -fno-objc-arc
C. -fobjc-arc
D. -dynamic
(C)
1七、下面關於Objective-C內存管理的描述錯誤的是
A. 當使用ARC來管理內存時,代碼中不能夠出現autorelease
B. autoreleasepool 在 drain 的時候會釋放在其中分配的對象
C. 當使用ARC來管理內存時,在線程中大量分配對象而不用autoreleasepool則可能會形成內存泄露
D. 在使用ARC的項目中不能使用NSZone
(A)
1八、下面關於#import和#include的描述正確的是
A. #import 是 #include 的替代指令,防止重複引用
B. #import 和 #include 不能夠混合使用
C. #import 只用於引用 Objective-C的文件, #include 只用於引用C和C++的文件
D. #import 和 #include 的使用效果徹底相同
(A)
1九、下面的代碼問題在哪?
@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
2一、下面哪一個不屬於對象數據序列化方法 A. JSON
B. Property List
C. XML
D. HTTP
(D)
2二、在UIKit中,frame與bounds的區別是
A. frame 是 bounds 的別名
B. frame 是 bounds 的繼承類
C. frame 的參考系是父視圖座標,bounds 的參考系是自身的座標
D. frame 的參考系是自身座標,bounds 的參考系是父視圖的座標
(C)
2三、Objective-C有私有方法嗎?有私有變量嗎?
A. 有私有方法和私有變量
B. 沒有私有方法也沒有私有變量
C. 沒有私有方法,有私有變量
D. 有私有方法,沒有私有變量
(C)
2四、下面關於線程管理錯誤的是
A. GCD所用的開銷要比NSThread大
B. 能夠在子線程中修改UI元素
C. NSOperationQueue是比NSthread更高層的封裝
D. GCD能夠根據不一樣優先級分配線程
(B)
2五、下面代碼的做用是讓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)
2六、UIViewController在顯示過程當中,各個方法的調用順序是
A. init -> viewDidLoad -> viewDidAppear -> viewDidUnload
B. init -> viewDidAppear -> viewDidLoad -> viewDidUnload
C. init -> viewDidLoad -> viewDidUnload -> viewDidAppear
D. init -> viewDidAppear -> viewDidUnload -> viewDidLoad
(A)
2七、使用imageNamed方法建立UIImage對象時,與普通的init方法有什麼區別?
A. 沒有區別,只是爲了方便
B. imageNamed方法只是建立了一個指針,沒有分配其餘內存
C. imageNamed方法將圖片加載到內存中後再也不釋放
D. imageNamed方法將使用完圖片後當即釋放
(C)
2八、一個類的delegate(代理)的做用不正確的是
A. delegate中的函數在其餘類中實現
B. 主要用於不一樣類型的對象之間一對一傳遞消息
C. 沒有指派則不會觸發
D. 能夠一個對象的delegate指派給多個其餘類型的對象
(D)
2九、在沒有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對象
——————————————————————————————————————————————————————————————————————————
-————————————————————————————————————————————————————————————————————————
31 求如下程序段的輸出int test(int x, int y){ x = x + y; return x * y;}int main(int argc, const char * argv[]){ @autoreleasepool { int x = 3, y = 10, z = test(x, y); NSLog(@"%d%d", x++, ++z); } return 0;} 答案是 A
A 331 B 330 C 431 D 430
32 求如下程序段的輸出int func(int x){ int countx = 0; while (x) { countx++; x = x&(x-1); } return countx;}int main(int argc, const char * argv[]){ @autoreleasepool { NSLog(@"%d", func(2013)); } return 0;}答案: D
A 1 B 5 C 8 D 9
33 下面說法不正確的是 C
A readwrite 是可讀可寫特性;須要生成getter方法和setter方法時
B readonly 是隻讀特性 只會生成getter方法 不會生成setter方法 ;不但願屬性在類外改變
C assign 是賦值特性,和weak同樣,可用weak代替;
D retain 表示持有特性,setter方法將傳入參數先保留,再賦值,傳入參數的retaincount會+1;
34 對於語句NSString*obj = [[NSData alloc] init]; obj在編譯時和運行時分別時什麼類型的對象? A
A 編譯時是NSString的類型;運行時是NSData類型的對象
B 編譯時是NSObject的類型;運行時是NSData類型的對象
C 編譯時是NSData的類型;運行時是NSString類型的對象
D 編譯時是NSObject的類型;運行時是NSString類型的對象
35 Object C中的線程下面描述不正確的是 B
A 使用NSThread建立、使用GCD的dispatch
B 直接使用NSOperation,而後將其加入NSOperationQueue;
C 在主線程執行代碼,方法是performSelectorOnMainThread,
D 若是想延時執行代碼能夠用performSelector:onThread:withObject:waitUntilDone:
36 下列不屬於iOS存儲方式的是 A
A NSFileManager B 歸檔 C SQLite D CoreData
37 IP Phone的原理是什麼? C
A IPV4 B DHCP C IPV6 D DNS
38 類別的做用不正確的是 D
A 將類的實現分散到多個不一樣文件或多個不一樣框架中。
B 建立對私有方法的前向引用。
C 向對象添加非正式協議。 繼承能夠增長,修改或者刪除方法。
D 不能添加屬性
39 對NSOperationQueue理解不正確的是 D
A 存放NSOperation的集合類
B 能夠設置最大併發數
C 放進去的線程會自動執行
D 用戶須要管理放進去的線程執行順序