A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 泥娃娃 中级黑马   /  2016-3-19 13:57  /  4196 人查看  /  29 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

黑马程序员训练营入学考试题


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个大小字母排序))




29 个回复

倒序浏览
全都不会饿,
回复 使用道具 举报

OC的知识,掌握了视频内容就会了,加油~
回复 使用道具 举报
泥娃娃 发表于 2016-3-19 16:10
OC的知识,掌握了视频内容就会了,加油~

加油~~~~~~
回复 使用道具 举报
感觉路很长啊,自己还得加油~
回复 使用道具 举报
吴振伟 来自手机 中级黑马 2016-3-19 18:47:35
地板
666666666666
回复 使用道具 举报
yuluoyu 来自手机 中级黑马 2016-3-19 19:01:31
7#
这是什么的入学考试题啊?就业班?
回复 使用道具 举报
问什么我的入学考试是C呢
回复 使用道具 举报
yuluoyu 发表于 2016-3-19 19:01
这是什么的入学考试题啊?就业班?

是的,就业班入学考试
回复 使用道具 举报
从心开始のBean 发表于 2016-3-19 19:07
问什么我的入学考试是C呢

这个不太清楚呢,系统升级前基础测试是C,我知道的入学考试是OC
回复 使用道具 举报
第十题的关键是不是stringWithFormat  还有  compare
回复 使用道具 举报
赞一个
回复 使用道具 举报
楼主,第9题下面的代码是不是答案
回复 使用道具 举报
加油加油~~~
回复 使用道具 举报
不错不错
回复 使用道具 举报
幸福来敲门 来自手机 中级黑马 2016-3-23 01:34:25
16#
感觉好复杂的样子,我还没有学这么多,感觉自己都落伍了…

点评

加油,面试题主要考OC  发表于 2016-3-23 09:03
回复 使用道具 举报
泥娃娃 来自手机 中级黑马 2016-3-23 09:13:56
17#
zzt244 发表于 2016-3-22 21:17
楼主,第9题下面的代码是不是答案

不是的,其中需要补充CZFood的部分
回复 使用道具 举报
加油!!!!!!!!
回复 使用道具 举报
o.o看不懂,好难得样子
回复 使用道具 举报
今天看到好几个学长分享的面试试题,真的很有心,谢谢你们了

点评

加油!你会更出色  发表于 2016-3-25 08:57
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马