葵花宝典1.0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
葵花宝典欲练此功,必先自宫
若不自宫,也能成功
前言:
本秘籍只针对现场面试的学员,本教没有搜集到视频面试的资料,所以不做评论,姑且认为与现场面试大同小异。
强烈建议学员尽早提交入学测试(可百度可群里讨教),切不可慢慢悠悠看完视频再做,以免耽误时机,后期面试全被约满。提交测试后应预约较晚的时间面试,如10号是本批次录取,那学员可预约9号10号面试,给自己留下充足准备时间。
话不多说,少年,发功!
黑马面试分为3部分:(按顺序)
1》笔试:手写3道编程题。(据说视频只写一道)2》自我介绍。
3》口答。
先说口答:
根据官方提供的口答知识点如下:
C语言:变量,函数,选择结构,循环结构,指针,结构体,枚举,宏定义
OC语言:面向对象,类与对象,方法,封装,继承,多态,self,super
设计模式:代理
特有语法:协议,分类,代码块(@protocol, Gategory, Block)
Foundation框架:NSString,NSArray,NSDictionary
根据众教徒的反馈,面试官实际问到的问题为:介绍Foundation框架的结构体,手动管理内存,分类,协议,C预处理指令,Block,autorelease 和release的区别,@property,单例设计模式,枚举,宏定义,self与super,代理,strong与weak,NSString的各种…
如有不全之处,绝对正常。
再说自我介绍:
如果你有故事,可以讲给面试官听,但是前提是,必须先把自己的基本情况讲清楚。讲的时候一定要看面试官脸色,如果发现她表情冷漠,应及时转移话题。可以说实话,但要有选择的说,每个面试官都希望招到性格开朗,学习认真刻苦,家
境殷实并全力支持你,你也超级热爱黑马热爱IOS的学员。这里不多累赘,大家自己发挥。
接下来是最重要的笔试部分:
以下是本教整理的笔试真题,多写,你的笔试题最少有一道就在这里面。具体答案这里只提供一部分,其余请百度或者群内交流。
1》创建一个NSDictionary,并创建可变副本和不可变副本,说下是深复制还是浅复制。2》有序数组,插入一个数后还保证有序。(OC)3》NSString和NSDictionary的遍历,知道几种写几种。
4》NSArray的遍历,知道几种写几种。
5》利用分类实现以下两个功能:(1)字符串的反转。(2)计算字符串中英文字母的个数6》求几个字符串的最大公共子字符串(oc)
7》输入6个字符串,按首字符的大小,对6个字符串排序。
8》编写一个函数,找出整数数组的最小值。
9》编写一个程序,用于接收从终端输入的整数,提取并用英文显示这个数的每一位数,例如
输入112,输出One One Two
10》求两个字符串的公共字母,添加到第三个字符串中。
11》给一个英文句子,把每个单词的首字母转成大写。
12》给一个英文句子,罗列出句子中出现的字母和其出现的次数,不区分大小写。
4》NSArray遍历的四种方法
第一种,for循环
void arrayFor()
{
//快速创建一个oc数组
NSArray *array = @[@”one”,@”two”]; //遍历数组
for(int i=0; i { NSLog(@”array[%i]=%@”,i ,array[i]); } } 第二种,快速遍历for(if obj in array) void arrayFor() NSArray *array = @[@”one”,@”two”]; for(id obj in array) { NSLog(@”%@”,obj); } } 第三种调用block,原理:每遍历一个元素,就会调用一次block,并且把这个元素和下标当做block的参数传给id obj和idx void arrayFor() { NSArray *array = @[@”one”,@”two”]; [array enumerateObjectsUsingBlock:^(id obj, NSInteger idx, BOOL *stop) {NSLog(@”array[%zi]=%@”,idx,obj); if(idx==1) {*stop=YES;} }]; 第四种通过迭代器遍历数组 void arrayFor() { NSArray *array = @[@”one”,@”two”]; //获取数组的迭代器 NSEnumerator *enumerator = [array objectEnumerator]; id obj = nil; //获取下一个数组元素,当下一个元素不为空的时候,继续遍历直到下个元素为空 while((obj =[enumerator nextObject])!=nil) { NSLog(@”%@”,obj); 3>NSDictionary的遍历 第一种for循环快速遍历 void dictFor() { NSDictionary*dict=@{@”k1”:@”v1”,@”k2”:@”v 2”}; //遍历字典的所有key for(id key in dict) { id value=[dict objectForKey:key]; NSLog(@”%@=%@”,key,value); } 第二种使用迭代器遍历 void dictFor()