zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

iOS基础面试题一

2023-09-14 08:58:20 时间
答:person /   personWithAge  / personWithAge:   /   personWithAge: name: 2、NSArray和NSSet有什么使用区别?      (1)NSArray是有序的,而NSSet是无序的。      (2)NSArray数据可以相同,但是NSSet数据是不相同的。      (3)在搜索一个一个元素时NSSet的效率比NSArray高,因为NSSet用到了一个算法hash。比如你要存储和访问一个数据元素A,一个hash算法直接就能找到A的应该存储的位置和存储位置。而NSArray则需要遍历整个数组。 3、定义一个无参返回值的block变量,并且调用这个block? //没有返回值,没有参数的block

5、你知道Swift是什么么?谈谈对它目前的了解?           Swift是苹果新出的一个开发语言,它是基于C语言开发的,比Objective-C更加灵活方便。在不久的将来Swift会取代Objective-C作为iOS开发的主要语言。 6、强引用和弱引用的区别?           强引用是持有对象,弱引用是不持有对象;           强引用可以释放对象,但是弱引用不可以,当一个对象为强引用时,在其作用域之外的话,该对象所持有的对象被释放;当一个对象为弱引用时,,它不持有对象,在对象释放后,它自动被赋值为nil。 7、strong、weak、assign各自使用的场合是什么?        assign用于简单数据类型,如NSInteger,double,bool.      在ARC环境下,strong代替retain,weak代替assign;      在循环使用的时候,一端用strong,另一端则需要使用weak,防止循环调用。      OC对象类型一般都是用strong. 8、分类(Category)有什么作用 将类的实现分散到多个不同文件或者多个不同框架中。 创建对私有方法的向前引用。 向对象添加非正式协议。        简单来说就是:Category可以对类进行扩展,可以给所有类添加自己的方法。   9、谈谈你对self和super的理解?           在我的世界观里,self就是一个类的隐藏的参数,指向当前调用方法的类;           而super指的是父类。使用super就会告诉编译器,要去调用父类的方法。super只是一个编译指示符。 10、编译器遇到下面的代码会自动生成哪些代码?
  NSArray *names = @[@“mj”,@”jj”,@“jay”];    //   NSArray *names = [[NSArray alloc] initWithObjects:@"mj",@"jj",@"jay", nil];
  id money = @20;                自动生成:    NSNumber *money1 = [[NSNumber alloc] initWithInt:20];
11、用两种不同的思路编写函数来计算下面的式子:      1+2+3+4+。。。。。+n(n =1)(PS:一共要写两个函数,仅仅再for/while/do之间更换不算新的思路)      思路一:
12、使用Category给某类(哪个类自己思考)增加一个方法,用来完成以下功能:假设一个OC可变数组存放着很多整数字符串,比如@“10”、@“20”.要求调用完这个方法之后,这个数组里面的数字字符是升序排列的,(从小到大排列)
    NSMutableArray *arr= [[NSMutableArray alloc] initWithCapacity:[mutableArray count]];
    NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithObjects:@"5",@"20",@"3",@"60" ,@"50",nil];
13、使用Category给所有OC对象增加一个run方法(对象方法),然后在run方法中NSLog打印对象本身:
计算英文字母的个数(比如@“235432534rre4645eer”,调用方法之后返回6) 字符串反转(比如@“abc”,调用后输出@“cba”) 去除字符串两端空格(比如@“  jack roce ”,调用后返回@“jack rose”) 截取网站域名中的www.和.com之间的字符串(比如@“http://www.baidu.com”,输出baidu)。
    NSString *trimmedString = [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
    NSRange needRange =NSMakeRange(wwwRange.length+wwwRange.location, comRange.location-wwwRange.location-wwwRange.length);
15、定义一个书本类,需要有名字、价格、出版年份(比如2014年)三个成员属性,创建5个书本对象,属性可以任意值,但名字不要使用中文 增加一个便利构造方法(工厂方法),用于快速创建对象 使用NSLog直接输出书本对象时,要保证输出字符串格式为:这本书叫做xx,价格是xx,出版年份是xx 对5本书本对象按照出版年份—》价格—》名字优先级从小到大排序(出版年份相同按照价格排序,价格相同按照名字排序)
iOS开发:个人对于textView基础用法的总结(其一) 从事了这么久ios开发,对于textView的使用并不陌生,它和textfield有相似的地方,也有不同的地方,这里只对textView的一些基础用法进行描述,textfield不在这里描述。
做了5年iOS,靠着这份面试题跟答案,我从12K变成了30K 在博主认为,对于iOS面试以及进阶的最佳学习方法莫过于刷题+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考,刷题只是次之,这又是一个层次了,这里暂时不提后面再谈。
2019年11月2日:总结iOS技术面试题及应对答案 随着移动互联网技术的不断发展和创新,访谈对于公司和开发人员和设计师来说都是费时且昂贵的项目,面对iOS开发者和设计师在访谈过程中可能遇到的问题,现在为大家总结iOS技术面试题及应对答案。 那些 iOS开发 常备的底层面试题合集! 一、如何绘制UIView? 绘制一个UIView最灵活的方法就是由它自己完成绘制。
携程、阿里、京东、腾讯iOS春招面试过程以及面试题总结! 面经包含:携程、阿里、京东、腾讯 五一假期,春招基本上已经结束了,剩下少量面试和少量流程中。虽然还没有最终决定,不过也还是决定来开个帖子,写一些总结。 楼主是今年春招的时候开始看看面经,真题做的很少,很水=。