高级ios工程师面试题(整理2篇)

时间:2024-08-13

高级ios工程师面试题(三)

1.写一下UIButton与UITableView的层级结构

2.Cocoa的Foundation对象与CoreFoundation对象通过什么关键字进行转换?这些关键字有什么区别?

3.KVO是什么?内部是怎么实现的?

4.是否可以把比较耗时的操作放在NSNotificationCenter中处理?为什么?应该如何处理?

5.利用NSOperation与NSOperationQueue处理多线程时,有3个NSOperation分别为A,B,C,要求A,B执行完之后,才执行C,如何做?

6.在非ARC中,可以对哪些对象加上autorelease关键字,它的作用是什么?被autorelease修饰的.对象什么时候释放?

7详细说明一下App启动过程,从main文件开始说起.main中有什么函数,几个参数,作用是什么?

8C高级ios工程师面试题nimation是做什么的?写一下它的层级结构(主要是写下其各种子类)?

9.iOS7之前,后台执行内容有几种形式,都是什么?

10.一个有序的序列M,判断其中是否有两个元素A,B的和为K?如何判断三个元素的A,B,C的和为K呢?

高级ios工程师面试题(二)

1.你使用过Objective-C的运行时编程(RuntimeProgramming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?

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

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

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

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

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

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

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

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

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

更多范文

热门推荐