黑马程序员技术交流社区

标题: 入学考试试题分享 [打印本页]

作者: 泥娃娃    时间: 2016-3-19 13:57
标题: 入学考试试题分享
黑马程序员训练营入学考试题


1、Copy和retain的区别




2、什么是多态,为什么要使用多态。




3、下面第一个self指向的是________,第二个self指向的是_________.
#import <Foundation/Foundation.h>
@interface Person : NSObject
    int _age;
}
+ (void)test1;
+ (void)test2;
- (void)text3;
@end
@implementation Person
+ (void)test1
{
    NSLog(@"调用了test1方法");
}
+ (void)test2
{
     [self test1];
}
- (void)text3
{
    NSLog(@"%d",self->_age);
}
@end




4、说说对代理协议的理解。




5、利用分类给NSString扩展3个方法(Objective-C)
1>  字符串反转(比如@”123”调用方法后返回@”321”)
2>  计算英文字母的个数(比如@”5435abc54abc3AHJ5”调用方法后返回的是9)
3>  去除字符串两端空格(比如@”  1235 45 ”调用方法后返回@”1235 45”)




6、创建一个NSDictionary对象,随便往里面添加内容,然后通过代码产生可变和不可变副本,这些复制是深复制还是浅复制?(Objective-C)




7、定义2个新类,分别命名为Song/Playlist。Song对象包含歌曲的信息,歌名、艺术家、专辑、歌曲长度;Playlist对象表示一个播放列表,包含播放列表名称和一个歌曲的集合,还应该提供添加和删除歌曲的方法。(Objective-C)




8、现在有一个有序的数组,要求用户输入一个整数放到数组中还保证这个数组是有序的。例如原数组为@[@1,@3,@5,@7,@9]; 插入8之后为@[@1,@3,@5,@7,@8,@9];(Objective-C)




9、设计一个菜单类
*一个添加菜单的对象方法
*一个删除菜单的对象方法
*还有一个打印数组中所有菜单的对象方法
//菜单
@interface  CZCarte : NSObject {
NSMutableArray * _foods;
}
/**添加菜*/
(void) addFood:(CZFood *) food;
/**删除菜*/
(void) removeFood:(CZFood *) food;
/**打印菜单*/
(void) printCarte;
@end
@implementation CZCarte
/**添加菜*/
(void) addFood:(CZFood *) food {
[_foods addObject:food];
}
/**删除菜*/ - (void) removeFood:(CZFood *) food {
[_foods removeObject:food];
}
/**打印菜单*/
(void) printCarte {
for (CZFood *food in _foods) {
NSLog(@"菜名:%@",[food name]);
NSLog(@"价格:%f",[food  price]);
NSLog(@"简介:%@",[food info]);
}
}
@end




10、定义一个学生类,需要有姓名,年龄,考试成绩三个成员属性,创建5个对象,属性可以任意值。(Objective-C)
1)不使用@property,手动编写他们的访问器方法(getter和setter),注意内存管理(手动管理内存)
2)增加一个便利构造器(快速构造器)
3)使用NSLog输出学生对象时,输出信息格式为:My Name Is XXX  Age Is XXX Score Is XXX
4)对5个学生对象按照成绩—》年龄—》姓名优先级排序(成绩相同按照年龄排序,成绩年龄相同按照姓名排序(5个学生的属性值自己随便设定,姓名不考虑中文,按26个大小字母排序))





作者: 15527933998    时间: 2016-3-19 16:08
全都不会饿,
作者: 泥娃娃    时间: 2016-3-19 16:10
15527933998 发表于 2016-3-19 16:08
全都不会饿,

OC的知识,掌握了视频内容就会了,加油~
作者: 15527933998    时间: 2016-3-19 16:13
泥娃娃 发表于 2016-3-19 16:10
OC的知识,掌握了视频内容就会了,加油~

加油~~~~~~
作者: xz1299    时间: 2016-3-19 17:49
感觉路很长啊,自己还得加油~
作者: 吴振伟    时间: 2016-3-19 18:47
666666666666
作者: yuluoyu    时间: 2016-3-19 19:01
这是什么的入学考试题啊?就业班?
作者: 从心开始のBean    时间: 2016-3-19 19:07
问什么我的入学考试是C呢
作者: 泥娃娃    时间: 2016-3-19 20:43
yuluoyu 发表于 2016-3-19 19:01
这是什么的入学考试题啊?就业班?

是的,就业班入学考试
作者: 泥娃娃    时间: 2016-3-19 20:44
从心开始のBean 发表于 2016-3-19 19:07
问什么我的入学考试是C呢

这个不太清楚呢,系统升级前基础测试是C,我知道的入学考试是OC
作者: 菜逼    时间: 2016-3-19 22:21
第十题的关键是不是stringWithFormat  还有  compare
作者: A吃素的鲨鱼    时间: 2016-3-20 13:16
赞一个
作者: zzt244    时间: 2016-3-22 21:17
楼主,第9题下面的代码是不是答案
作者: 大彬周    时间: 2016-3-22 21:32
加油加油~~~
作者: 爱尘iPhone    时间: 2016-3-22 22:00
不错不错
作者: 幸福来敲门    时间: 2016-3-23 01:34
感觉好复杂的样子,我还没有学这么多,感觉自己都落伍了…
作者: 泥娃娃    时间: 2016-3-23 09:13
zzt244 发表于 2016-3-22 21:17
楼主,第9题下面的代码是不是答案

不是的,其中需要补充CZFood的部分
作者: clinging    时间: 2016-3-23 09:22
加油!!!!!!!!
作者: 蜗牛的未来    时间: 2016-3-23 10:50
o.o看不懂,好难得样子
作者: mingli    时间: 2016-3-25 00:07
今天看到好几个学长分享的面试试题,真的很有心,谢谢你们了
作者: a1010166    时间: 2016-5-4 11:34
赞一个!
作者: a1010166    时间: 2016-5-4 11:37
赞一个!谢谢分享
作者: zxd007    时间: 2016-5-4 16:27
这个是刚进基础班就考的内容吗?
作者: 我说三年    时间: 2016-5-4 22:23
加油{:3_46:}
作者: sunguangyu12138    时间: 2016-5-24 16:03
yuluoyu 发表于 2016-3-19 19:01
这是什么的入学考试题啊?就业班?

是的,挺麻烦的,最后文件要压缩才能上传
作者: 1871037345    时间: 2016-5-24 17:39
为什么你的帖子没有被和谐掉,,,
作者: huanglinwang    时间: 2016-5-24 18:40
加油!!!看来oc才是重点,要努力了!!!
作者: Chenjunfeng    时间: 2016-8-4 21:32
快速构造器是什么?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2