麪霸計劃java
一.面試題node
1.Objective-C 有多重繼承麼?不是的話有什麼替代方法。ios
2.@class的做用是什麼?面試
3.Xcode項目的目錄結構是怎麼分組的?算法
4.簡單介紹下在真機上調試開發證書申請流程.sql
5.Retain,copy,assign三個關鍵字的區別數據庫
6.按Home鍵時,怎麼保存程序運行狀態編程
7.當程序運行過程當中,按下home鍵之後,ios程序會調用哪一個代碼。數組
8.怎麼定義/實現一個協議xcode
9.對於語句NSString *obj = [[NSData alloc] init]; obj在編譯時運行時分別是什麼類型。
10.在iPhone應用中如何保存數據
11.代理的做用
12.oc中可修改和不能夠修改類型。
13.咱們說的oc是動態運行時語言是什麼意思?
14.通知和協議的不一樣之處
15.什麼是推送消息
16.使用xcode建立工程時,支持同時建立的版本管理庫是
17.使用codedata有哪一種持久化存儲機制
18.請描述一下UIViewController的生命週期
19.請描述ObjectC的內存管理機制以及通常原則?
20.如何判斷一個對象是否屬於某個類和ObjectC如何實現私有方法?
21.視圖控制器之間的通訊方式有哪些(如何傳遞變量)
22.淺複製和深複製的區別
23.類別的做用?繼承和類別在實現中有何區別
24.類別和類擴展的區別
25.oc中的協議和java中的接口概念有何不一樣
26.什麼是KVO和KVC
27.堆和棧的區別
28.定義屬性時,什麼狀況使用nonatomic,atomic,copy,assign和retain
29.runloop是什麼?在主線程中的某個函數裏調用了異步函數,怎麼樣block當前線程,且還能相應當前線程的time事件和touch事件。
30.在一個對象的方法裏面:self.name = "object";和 name = "object"; 有什麼不一樣嗎?
31.NSArray和NSSet有何區別
32.如何在object-c中,聲明私有變量和私有方法
33. 開發過程當中應用程序內存泄露了該怎麼辦
34.ios開發中有什麼方式支持多繼承
35. 數學題從1-20中有兩個任意數 ,A知道2個數字的和,B知道兩個數組的乘積,
A問B 你知道這個兩個數字的嗎? B說不知道
B問A 那你知道這兩個數字嗎 A說不知道
B說,哦,我知道了
A說,我也知道了
請問這兩個數字是多少
37.
(牛牧)大公司面試題
1.SEL和@selector的含義和做用?
2.SEL是OC中的另外一種消息傳遞機制。運行時調用特色,和多線程方面特色是什麼?
3.performSelector方法的使用場景。在mainThread中,實現這個方法的做用。
4. NSOperation 和CGD不一樣點是什麼,有什麼好處,怎樣區別使用?
5.OC中有沒有相似其餘面嚮對象語言異常捕獲機制?若是有異常exception 怎麼捕獲?不一樣的CPU結構上開銷怎樣?C++中又什麼相似的方法?
6.內存管理的幾條原則時什麼?按照默認法則.那些關鍵字生成的對象須要手動釋放?在和property結合的時候怎樣有效的避免內存泄露?
7.在一個對象釋放前.若是他被加到了notificationCenter 中.不在notificationcenter中remove這個對象可能會出現什麼問題?會不會有問題?
8.怎樣實現一個 singleton的類.給出思路。
9.什麼是序列化或者Acrchiving,能夠用來作什麼,怎樣與copy結合,原理是什麼?
10在iphone上有兩件事情要作,請問是在一個線程裏按順序作效率高仍是兩個線程裏作效率高?爲何?
11.你是否接觸過OC中的反射機制?簡單聊一下概念和使用。
12.帳號登陸驗證以及帳號加密保存?聊聊所用技術和實現邏輯。
13.三方支付、加密算法【AES、MD五、3DES+BASE64d等】的問題。
14.TCP,IP,UDP,socket網絡方面的問題
15. ios四、五、6相對於以前的版本添加了哪些新特性?
16.一個tableView是否能夠關聯兩個不一樣的數據源?你會怎麼處理?
17.Object C中建立線程的方法是什麼?若是在主線程中執行代碼,方法是什麼?若是想延時執行代碼、方法又是什麼?
18.ARC自動引用技術
19. 內存告警機制是什麼?何時調用?舉例說明(通常他會提示多控制器加載或跳轉時候的狀況)
20.聊聊GCD ,解決多核並行運算的一種方案。
二.筆記題
1.
{
int outA = 8;
int (^myPtr)(int) = ^(int a){return outA+a;};
outA = 5;
int result = myPtr(3);
}
result =
}
2.求引用計數
NSString *strTest = @"strTest";
NSString *stra = [NSString stringWithFormat:@"str.%@",strTest];
[strTest retainCount] =
[stra retainCount] =
3.標準頭文件都有相似如下結構,主要做用是什麼?
#ifndef _INCvxWorksh
#define _INCvxWorksh
#ifdef _cplusplus
extern "C" {
#endif
/*...*/
#ifdef _cplusplus
}
#endif
#endif /* _INCvxWorksh */
4.下列程序輸出結果
main()
{
int a[5] = {1,2,3,4,5};
int *ptr = (int *)(&a+1);
printf(「%d,%d」,*(a+1),*(ptr -1));
}
5.此段代碼有何做用
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtLndexPath(NSIndexPath *)indexPath
{
static NSString *CellDentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellDentifier];
if(cell == nil){
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellDentifier] autorelease];
}
// Configure the cell…
return cell;
}
6.請本身實現NSString * _namel;-(vold)setName:(NSString*)name方法
- (void)setName:(NSString *)name
{
}
7. 下面一段代碼的區別:(都是主線程調用,若是有問題,請指出問題)
[self func( )];
[self performSelector:func( ) onMainThread:];
8. 從1-n個五序列的數字中排序的算法有哪些,簡單代碼實現一個並寫出時間複雜度
9. 開啓一個其餘線程來計算1+1 而且把結果用主線程顯示在label上更新UI
10.有一個6克和21克的砝碼,怎樣稱量三次將420克的糖分紅270克和150克
11. 一桌子人,每一個人額頭上都貼有標籤,綠色和紅色,綠色至少1個,你們都能看到別人頭上的標籤,看不到本身頭上的標籤,而後開始閉眼遊戲,你們以爲本身頭上是綠色標籤就拍一下手掌,第一次閉眼沒人拍掌,第二次,第三次也一樣沒有人拍掌,第四次有一我的拍掌了,請問綠色標籤有幾張?
大公司筆記題
1.ios平臺怎麼作數據的持久化?coredata和sqlite有無必然聯繫?coredata是一個關係型數據庫嗎?
屬性列表、對象歸檔、NSUserDefault、SQLite3和Core Data
2.下面代碼片斷是否存在問題:(有問題請描述問題。無問題請寫出輸出結果)
NSString *tmpString = nil;
Int strLength = [tmpString length];
NSLog(@」%d」, strLength);
3.有一個剛剛建立的對象,把它們添加到一個可變數組中,若是釋放這個對象,會發生什麼?若是釋放數組會發生什麼?
4.viewDidUnload方法何時調用,做用是什麼?若是內存告警狀況下,你會在這個方法中作些什麼事情?具體回答
5.viewDidAppear viewWillDisappear 是什麼方法,做用。
6.這段代碼有什麼問題:
@implementation Person
- (void)setAge:(int)newAge {
self.age = newAge;
}
@end
7.什麼是retain count?
8.如下每行代碼執行後,person對象的retain count分別是多少
Person *person = [[Person alloc] init];
[person retain];
[person release];
[person release];
9.這段代碼有什麼問題,如何修改
for (int i = 0; i < someLargeNumber; i++)
{
NSString *string = @」Abc」;
string = [string lowercaseString];
string = [string stringByAppendingString:@"xyz"];
NSLog(@「%@」, string);
}
10.ViewController 的 loadView, viewDidLoad, viewDidUnload 分別是在何時調用的?在自定義ViewController的時候這幾個函數裏面應該作什麼工做?
11. 這段代碼有什麼問題.?會不會形成內存泄露(多線程)?在內存緊張的設備上作大循環時自動釋放池是寫在循環內好仍是循環外好?爲何?
for(int index = 0; index < 20; index ++){
NSString *tempStr = @」tempStr」;
NSLog(tempStr);
NSNumber *tempNumber = [NSNumber numberWithInt:2];
NSLog(tempNumber);
}
12.IOS消息傳遞機制都有什麼?如何傳遞?
13.方法和選擇器有何不一樣?
14.OBC中有無垃圾回收機制?
和ARC同樣麼?
15.一個視圖控制器中嵌入兩個tableview控制器?
16.Object-c的類能夠多重繼承麼?能夠實現多個接口麼?Category是什麼?重寫一個類的方式用繼承好仍是分類好?爲何?
17.nonatomic atomic 是什麼?有什麼異同?爲何建立變量時要用到這兩個詞修飾?他們跟多線程是否有關?爲何?
18.描述一下iOS SDK中如何實現MVC的開發模式。
19.Object-C有私有方法嗎?私有變量呢?
20.自動釋放池是什麼,如何工做?
21.單件實例是什麼?
三.算法題
1.檢測兩條鏈表是否想交,是則返回第一個交點,不然返回NULL。
node * detect_intersect_links
(node *first_link,node *second_link)
四.編程題
1.請寫出「快速排序」或者描述實現過程原理
2.用NSLog函數輸出一個浮點數,結果不四捨五入,而且保留一位小數?
3.用你熟悉的語言寫一個方法判斷20121229(階乘)在十進制下是幾位數?
4.如今要作一個汽車360的動畫,應該如何作。