ios 面试题(三)

一、你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?


二、你还能记得你所使用的相关的头文件或者某些方法的名称吗?


三、你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的?


四、Core开头的系列的内容。是否使用过CoreAnimation和CoreGraphics。UI框架和CA,CG框架的联系是什么?分别用CA和CG做过些什么动画或者图像上的内容。(有需要的话还可以涉及Quartz的一些内容)


五、是否使用过CoreText或者CoreImage等?如果使用过,请谈谈你使用CoreText或者CoreImage的体验。


六、NSNotification和KVO的区别和用法是什么?什么时候应该使用通知,什么时候应该使用KVO,它们的实现上有什么区别吗?如果用protocol和delegate(或者delegate的Array)来实现类似的功能可能吗?如果可能,会有什么潜在的问题?如果不能,为什么?(虽然protocol和delegate这种东西面试已经面烂了...)


七、你用过NSOperationQueue么?如果用过或者了解的话,你为什么要使用NSOperationQueue,实现了什么?请描述它和GCD的区别和类似的地方(提示:可以从两者的实现机制和适用范围来描述)。

既然提到GCD,那么问一下在使用GCD以及block时要注意些什么?它们两是一回事儿么?block在ARC中和传统的MRC中的行为和用法有没有什么区别,需要注意些什么?


八、您是否做过异步的网络处理和通讯方面的工作?如果有,能具体介绍一些实现策略么?


九、对于Objective-C,你认为它最大的优点和最大的不足是什么?对于不足之处,现在有没有可用的方法绕过这些不足来实现需求。如果可以的话,你有没有考虑或者实践过重新实现OC的一些功能,如果有,具体会如何做?


十、你实现过一个框架或者库以供别人使用么?如果有,请谈一谈构建框架或者库时候的经验;如果没有,请设想和设计框架的public的API,并指出大概需要如何做、需要注意一些什么方面,来使别人容易地使用你的框架。


十一、构造5个string对象,并添加到array中,遍历array输出string内容(swift语言实现)


十二、指出下面这段代码有哪些问题

@interface TestViewControl()

@property(nonatomic,strong)NSString *obj1;

-(void)testme{

   self.obj1 = @"testString";

   int num = 0;

   int (^myBlock)(int a,int b) = ^(int a, int b)

   {

       num = a + b;

       self.obj1 = @"testString2";

       return num;

   }

};


十三、 在App中如何获取Runtime对象,获取Runtime对象一般用途是什么


十四、 UI框架和CA,CG框架的联系是什么? 分别用CA和CG做过什么动画或者图像上的内容


十五、简述iOS4 ,iOS5,iOS6,iOS7,iOS8 多任务系统有什么区别?


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。