美文网首页
搜狗-Mac开发(2020-05)

搜狗-Mac开发(2020-05)

作者: 强子ly | 来源:发表于2020-05-12 19:46 被阅读0次

初试:

1、什么是Runtime?类和对象在本质上有什么区别?对一个未定义的方法OC是如何处理的?
2、MRC、ARC各自的含义以及区别?
3、说说MVC、MVVM两种设计模式,以及为什么要引入MVVM?要解决什么问题?
4、是否有调查mac平台崩溃、性能问题的经验

复试:

1.不会立刻使引用计数器改变的是

A、release
B、alloc
C、autorelease
D、retain
2.控制台中打印的最后一条信息会是:

NSDictionary *dict = [NSDictionary dictionaryWithObject:@"v" forKey:@"k"];
NSLog(@"%@", [dict objectForKey:@"k"]);
[dict release];

A、v
B、k : v
C、崩溃信息
D、v : k
3.以下说法正确的是:

A、nonatomic:提供多线程保护,提高性能,在没有使用多线程的编程中可以选择使用。
B、assign:属性默认值。说明设置器直接进行赋值,针对基础数据类型(NSInteger,CGFloat)和C数据类型(int, float, double, char)等等。
C、retain:此属性只用于obj-c的对象类型,对参数进行release旧值,再retain新值。
D、copy:此属性只对实现NSCopying协议的对象有效(NSString)。拷贝工作由copy方法执行。
4.下面代码对字符串str进行拼接后,2次打印的地址是否相同:

NSMutableString * str = [[NSMutableString alloc] initWithFormat:@"123"];
NSLog(@"str = %p", str);
[str appendFormat:@"456"];
NSLog(@"str = %p", str);

A、相同
B、不同
C、随机打印
D、有时相同,有时不同
5.下列说法中正确的是:

A、Objective-C不用"函数调用",而用互相传递讯息.
B、Objective-C一个完整的类分为interface和implementation两块
C、Objective-C对象使用new分配内存,用delete释放
D、Objective-C协议分为非正式协议和正式协议
6.创建对象时,对象的内存和指向对象的指针分别分配在哪里:

A、堆区,栈区
B、常量区,堆区
C、全局区,栈区
D、栈区,堆区
7.以下说法正确的是:

A、求数组的内容的个数用length方法
B、字典是根据其位置来索引数据的
C、协议中定义的方法默认是必须实现的
D、定义类目必须要拿到自己类的源代码
8.下面描述正确的选项是:

A、当计数器为1时,dealloc方法由系统自动调用
B、一个对象在引用计数变为0时,会调用自己的dealloc方法
C、在dealloc方法里,应该在[super dealloc]后释放本类所拥有的对象
D、开启ARC后,可以重载dealloc,必须在dealloc里写 [super dealloc]方法
9.下面哪个选项是正确的:

A、用继承可以扩展一个类,要调用扩展的方法,既可以用父类,也可以用子类
B、用类目可以扩展一个类,可以直接用该类或该类的实例对象,去调用该类目扩展的方法
C、延展就是类目
D、可以在一个类的外部,调用这个类延展的方法
10.在IOS中实现回调一般有哪几种方法?
11.OC中实现多线程有哪几种方式?
12.NSView的frame、bounds、和center有什么区别?
13.awakFromNib、initWithCoder、viewDidLoad的调用顺序和调用时间?
14.编程实现字符串拷贝:(考虑内存重叠)
char *strcpy(char *src, char *dst);
15.利用分类给NSString扩展3个方法:

①:字符串反转(比如:@"123",调用方法后,返回@"321");
②:计算英文字母的个数(比如:@"123abc456",调用方法后返回3);
③:去除字符串两端的空格(比如:@" 123 345 ",调用方法后返回@"123 345");

@interface NSString (LPY)
 
//字符串反转 
+ (NSString *) stringWithReverse:(NSString *)rString; 
- (NSString *) initWithReverse;
 
//计算英文字母的个数 
+ (NSUInteger) stringWithCharacterLength:(NSString *)lString; 
- (NSUInteger) initWithCharacterLength; 
 
//去除字符串两端空格 
+ (NSString *) stringWithTrim:(NSString *)tString; 
- (NSString *) initWithTrim;
 
@end

相关文章

网友评论

      本文标题:搜狗-Mac开发(2020-05)

      本文链接:https://www.haomeiwen.com/subject/ypuinhtx.html