优酷iOS笔试题

14年的面试题,仅供参考。


问答题

1、如何声明私有变量和私有方法?

2、assign,retain,copy分别起什么作用?

@property (nonatomic,retain) NSNumber *num;用代码实现这个属性的get和set方法。

3、如何声明一个delegate属性?为什么?

4、autorelease的对象何时被释放?

5、这段代码有问题吗?如何修改。

for(int i=0;i<10000;i++)

{

NSString *str = @“Abc”;

str = [str lowercaseString];

str = [str stringByAppendingString:@“xyz”];

NSLog(@“%@”,str);

}

6、UIViewController的viewDidUnload,ViewDidLoad和loadView方法分别什么时候被调用?UIView的drawRect和layoutSubviews方法起什么作用?

7、自定义NSOperation,需要实现哪些方法?

8、如何扩展obj-C里面类的方法?

9、用代码实现一个单例。

10、请用Objective-C实现一个冒泡算法。

可选题:

11、UITableView是如何重用cell的?

12、如何更高效的显示列表?

13、cocoa中的MVC是怎么实现的?

14、描述一下KVC和KVO的机制。

15、使用或了解哪些设计模式。


选择题:

1、这条语句的输出:NSLog(@“%.4f”,3.1415926)

A.3.14  B.3.141  C.3.1415   D3.14159

 

2、@property (nonatomic,retain) NSArray *array;

self.array = [[NSArray alloc] init];

请问array对象的retainCount是多少:

A.1  B.2  C.3  D.4

 

3、NSString *string = [[NSString alloc] initWithString:@“abc”];

NSString *test = string;

请问test对象的retainCount是多少:

A.1  B.2  C.3  D.4

 

4、NSInteger count = 100;以下那一条语句没有错误:

A. NSArray *array = [NSArray arrayWithObject:count];

B. NSString *str = [NSString stringWithFormat:@“%@”,count];

C. NSMutableArray *array = [NSMutableArray arrayWithCapacity:count];

D. NSString *str = [count stringValue];

 

5、以下代码没有内存泄露的是:

A. 

– (NSMutableArray *)getNameList

{

NSMutableArray *list = [[NSMutableArray alloc] init];

[list addObject:@“name1”];

[list addObject:@“name2”];

return list;

}

B.

@property (nonatomic, retain) NSArray *list;

list = [[NSArray alloc] init];

self.list = nil;

C.全局变量NSString *name;

– (void)setName:(NSString *)string

{

name = [string retain];

}

D.UIButton *button = [[UIButton alloc] init];

[self.view addSubview:button];

 

6、@property(nonatomic) NSInteger age;以下代码有什么问题?

– (void)setAge:(int)_age

{

self.age = _age;

}

A.没有问题   B.死循环  C.内存泄露  D.不能用int类型做参数

 

7、下面程序的输出是:

main()

{

int a=-1,b=4,k;

k=(a++<=0)&&(!(b—<=0));

printf(“%d%d%d\n”,k,a,b);

}

A.003   B.012   C.103   D.112

 

8、设有:int a=1, b=2, c=3, d=4, m=2, n=2;

执行(m=a>b)&&(n=c>d)后n的值是多少?

A.1   B.2   C.3   D.4 

尊重原创内容,转载请注明出处
本文链接地址: https://www.awnlab.com/archives/223

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注