1、frame bouns 区别 在view中画出区别2、代理、单例 手写代码
3、设计模式 延迟加载 监听 kvo mvc
4、深拷贝 浅拷贝 区别 举例开发工程中哪些实现了这些 ios中哪个实现了深拷贝
5、动画 view中哪里可以实现动画
6、layer 与view的区别
7、绘制图片文字 你的思路
8、你站在开发者角度 为啥需要设计代理
9、retain 与copy的区别
10、多线程 nsthread nsoperetation gcd
11、block __block为啥需要这个
12、数据库 实现中遇到的问题
13、使用过的开源api 以及使用时遇到的问题 以及是怎么解决的
14、使用代理的好处 为啥要使用代理 与通知的区别
15、同步队列 异步队列 区别
16、怎么解决版本手机兼容性问题
1.写一下UIButton与UITableView的层级结构
2.Cocoa的Foundation对象与Core Foundation对象通过什么关键字进行转换?这些关键字有什么区别?
3.KVO是什么?内部是怎么实现的?
4.是否可以把比较耗时的操作放在NSNotificationCenter中处理?为什么?应该如何处理?
5.利用NSOperation与NSOperationQueue处理多线程时,有3个NSOperation分别为A,B,C,要求A,B执行完之后,才执行C,如何做?
6.在非ARC中,可以对哪些对象加上autorelease关键字,它的作用是什么?被autorelease修饰的对象什么时候释放?
7详细说明一下App启动过程,从main文件开始说起.main中有什么函数,几个参数,作用是什么?
8CAAnimation是做什么的?写一下它的层级结构(主要是写下其各种子类)?
9.iOS7之前,后台执行内容有几种形式,都是什么?
10.一个有序的序列M,判断其中是否有两个元素A,B的和为K?如何判断三个元素的A,B,C的和为K呢?
1.你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?
用过一些比较简单的功能,替换对象的Method,使用AssociatedObject来传值,根据一个Class来获取它的propertyList等等。头文件<objc/runtime.h>。
2.你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的?
从来没用过Core Data,一直使用sqlite3(或者FMDatabase)来做缓存。
3.Core开头的系列的内容。是否使用过CoreAnimation和CoreGraphics。UI框架和CA,CG框架的联系是什么?分别用CA和CG做过些什么动画或者图像上的内容。(有需要的话还可以涉及Quartz的一些内容)
UI框架应该是CA的上层框架,CG开头就是是Quartz框架的。我的理解是,UI是画板,而CA是画布,CG算是画笔吧。画板用于承载画布,画笔用于在画布上绘制。
4.是否使用过CoreText或者CoreImage等?如果使用过,请谈谈你使用CoreText或者CoreImage的体验。
CoreImage没用过,如果去面试一些做图形处理的公司的话,还是要先突击一下的好。CoreText用来做图文混排,或者一些格式上的编排,这个例子好多了。
5.NSNotification和KVO的区别和用法是什么?什么时候应该使用通知,什么时候应该使用KVO,它们的实现上有什么区别吗?如果用protocol和delegate(或者delegate的Array)来实现类似的功能可能吗?如果可能,会有什么潜在的问题?如果不能,为什么?(虽然protocol和delegate这种东西面试已经面烂了…)
KVO用的好少,这里随便说点,欢迎指正。通知和KVO都是一对多,通知需要主动发(需要写代码postNotifcation),而KVO不需要,接收的时候,通知用自定义的方法来处理,KVO需要在自己的协议方法里来处理。
可以用delegate Array 来实现类似的功能,参考XMPPFramework中的GCDMulticastDelegate。
6.你用过NSOperationQueue么?如果用过或者了解的话,你为什么要使用NSOperationQueue,实现了什么?请描述它和G.C.D的区别和类似的地方(提示:可以从两者的实现机制和适用范围来描述)。
前者默认是并发队列,但是可以通过配置操作对象的依赖关系实现串行,而GCD有并发队列(全局队列)和串行队列(私有队列)。再就是前者使用操作对象,后者使用block,其实差别不大。
7.既然提到G.C.D,那么问一下在使用G.C.D以及block时要注意些什么?它们两是一回事儿么?block在ARC中和传统的MRC中的行为和用法有没有什么区别,需要注意些什么?
GCD是一种处理机制,block是一种语法,当然不是一回事。需要注意的最多就是循环引用。ARC和MRC中有区别,最重要的一点是使用__block关键字修饰的变量,在ARC中会被retain,但是在MRC中不会被retain。
8.您是否做过异步的网络处理和通讯方面的工作?如果有,能具体介绍一些实现策略么?
大多数网络处理都应该是异步的吧,这个貌似就是和面试官聊聊天了。
9.对于Objective-C,你认为它最大的优点和最大的不足是什么?对于不足之处,现在有没有可用的方法绕过这些不足来实现需求。如果可以的话,你有没有考虑或者实践过重新实现OC的一些功能,如果有,具体会如何做?
我的看法是:最大的优点,应该说最大的特点就是运行时了,最大的不足,听说是不支持多重继承和运算符重载,呵呵,反正我也不会。
10.你实现过一个框架或者库以供别人使用么?如果有,请谈一谈构建框架或者库时候的经验;如果没有,请设想和设计框架的public的API,并指出大概需要如何做、需要注意一些什么方面,来使别人容易地使用你的框架。
多人维护的项目,经常要写一些共用的类,这样的类按功能合在一起就算是一个框架了。需要做的地方么,第一功能稳定不要出问题,第二接口简单明了最好有注释。
1,Objective-C的内存管理方式, NSAutoreleasePool的作用
2,写一个retain方式声名属性的setter方法
3,Objective-C与C的区别有哪些
4,列出你常用的几个设计模式,列出如何在Objective-C中实现与应用
5,drawRect, lasyoutSubViews的区别
6,列举Cocoa中常用的几种多线程实现,并谈谈多线程安全问题的几种解决方案,什么地方会用到多线程
7,Socket连接相关库,TCP,UDP的连接方法,HTTP的几种常用方式
iOS Client 与WebSocket 通信(一)
http://blog.csdn.net/justinjing0612/article/details/9365879
[原创] ARC官方文档翻译!
http://bbs.feng.com/read-htm-tid-3448966.html
iOS开发中很重要,很常用,但却容易被忽略的知识点:id ,NSObject, id<NSObject>区别
http://www.cocoachina.com/bbs/read.php?tid=151376
Objective-C Blocks Quiz
http://blog.parse.com/2013/02/05/objective-c-blocks-quiz/
iOS 排序算法总结、二分法查找
http://bbs.9ria.com/thread-222314-1-1.html
ios开发之常用算法设计方法 递归
http://bbs.9ria.com/thread-260216-1-1.html
23种设计模式的意图和适用范围
http://www.cnblogs.com/snake-hand/archive/2011/11/14/2452230.html
很全面的ios面试题以及解答,很多答案不一定全对,网上摘录以及自己的理解
http://blog.csdn.net/itianyi/article/details/8856517
iOS:堆(heap)和栈(stack)的理解
http://mobile.51cto.com/iphone-394484.htm
Objective-C的Block,递归与泛型
http://arthurchen.blog.51cto.com/2483760/616735/
《Objective-C 2.0程序设计》摘要
http://web2.0coder.com/archives/220
MQTT协议
http://baike.baidu.com/link?url=OFMli5e38zPzT1HdDaAcm10m1zT3VOIfWtT9XDY_GlHFcb0cjtAXNrqp3dNYfE3D2hMURoZpEUasIvHesyI5Eq
3、设计模式 延迟加载 监听 kvo mvc
4、深拷贝 浅拷贝 区别 举例开发工程中哪些实现了这些 ios中哪个实现了深拷贝
5、动画 view中哪里可以实现动画
6、layer 与view的区别
7、绘制图片文字 你的思路
8、你站在开发者角度 为啥需要设计代理
9、retain 与copy的区别
10、多线程 nsthread nsoperetation gcd
11、block __block为啥需要这个
12、数据库 实现中遇到的问题
13、使用过的开源api 以及使用时遇到的问题 以及是怎么解决的
14、使用代理的好处 为啥要使用代理 与通知的区别
15、同步队列 异步队列 区别
16、怎么解决版本手机兼容性问题
1.写一下UIButton与UITableView的层级结构
2.Cocoa的Foundation对象与Core Foundation对象通过什么关键字进行转换?这些关键字有什么区别?
3.KVO是什么?内部是怎么实现的?
4.是否可以把比较耗时的操作放在NSNotificationCenter中处理?为什么?应该如何处理?
5.利用NSOperation与NSOperationQueue处理多线程时,有3个NSOperation分别为A,B,C,要求A,B执行完之后,才执行C,如何做?
6.在非ARC中,可以对哪些对象加上autorelease关键字,它的作用是什么?被autorelease修饰的对象什么时候释放?
7详细说明一下App启动过程,从main文件开始说起.main中有什么函数,几个参数,作用是什么?
8CAAnimation是做什么的?写一下它的层级结构(主要是写下其各种子类)?
9.iOS7之前,后台执行内容有几种形式,都是什么?
10.一个有序的序列M,判断其中是否有两个元素A,B的和为K?如何判断三个元素的A,B,C的和为K呢?
1.你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?
用过一些比较简单的功能,替换对象的Method,使用AssociatedObject来传值,根据一个Class来获取它的propertyList等等。头文件<objc/runtime.h>。
2.你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的?
从来没用过Core Data,一直使用sqlite3(或者FMDatabase)来做缓存。
3.Core开头的系列的内容。是否使用过CoreAnimation和CoreGraphics。UI框架和CA,CG框架的联系是什么?分别用CA和CG做过些什么动画或者图像上的内容。(有需要的话还可以涉及Quartz的一些内容)
UI框架应该是CA的上层框架,CG开头就是是Quartz框架的。我的理解是,UI是画板,而CA是画布,CG算是画笔吧。画板用于承载画布,画笔用于在画布上绘制。
4.是否使用过CoreText或者CoreImage等?如果使用过,请谈谈你使用CoreText或者CoreImage的体验。
CoreImage没用过,如果去面试一些做图形处理的公司的话,还是要先突击一下的好。CoreText用来做图文混排,或者一些格式上的编排,这个例子好多了。
5.NSNotification和KVO的区别和用法是什么?什么时候应该使用通知,什么时候应该使用KVO,它们的实现上有什么区别吗?如果用protocol和delegate(或者delegate的Array)来实现类似的功能可能吗?如果可能,会有什么潜在的问题?如果不能,为什么?(虽然protocol和delegate这种东西面试已经面烂了…)
KVO用的好少,这里随便说点,欢迎指正。通知和KVO都是一对多,通知需要主动发(需要写代码postNotifcation),而KVO不需要,接收的时候,通知用自定义的方法来处理,KVO需要在自己的协议方法里来处理。
可以用delegate Array 来实现类似的功能,参考XMPPFramework中的GCDMulticastDelegate。
6.你用过NSOperationQueue么?如果用过或者了解的话,你为什么要使用NSOperationQueue,实现了什么?请描述它和G.C.D的区别和类似的地方(提示:可以从两者的实现机制和适用范围来描述)。
前者默认是并发队列,但是可以通过配置操作对象的依赖关系实现串行,而GCD有并发队列(全局队列)和串行队列(私有队列)。再就是前者使用操作对象,后者使用block,其实差别不大。
7.既然提到G.C.D,那么问一下在使用G.C.D以及block时要注意些什么?它们两是一回事儿么?block在ARC中和传统的MRC中的行为和用法有没有什么区别,需要注意些什么?
GCD是一种处理机制,block是一种语法,当然不是一回事。需要注意的最多就是循环引用。ARC和MRC中有区别,最重要的一点是使用__block关键字修饰的变量,在ARC中会被retain,但是在MRC中不会被retain。
8.您是否做过异步的网络处理和通讯方面的工作?如果有,能具体介绍一些实现策略么?
大多数网络处理都应该是异步的吧,这个貌似就是和面试官聊聊天了。
9.对于Objective-C,你认为它最大的优点和最大的不足是什么?对于不足之处,现在有没有可用的方法绕过这些不足来实现需求。如果可以的话,你有没有考虑或者实践过重新实现OC的一些功能,如果有,具体会如何做?
我的看法是:最大的优点,应该说最大的特点就是运行时了,最大的不足,听说是不支持多重继承和运算符重载,呵呵,反正我也不会。
10.你实现过一个框架或者库以供别人使用么?如果有,请谈一谈构建框架或者库时候的经验;如果没有,请设想和设计框架的public的API,并指出大概需要如何做、需要注意一些什么方面,来使别人容易地使用你的框架。
多人维护的项目,经常要写一些共用的类,这样的类按功能合在一起就算是一个框架了。需要做的地方么,第一功能稳定不要出问题,第二接口简单明了最好有注释。
1,Objective-C的内存管理方式, NSAutoreleasePool的作用
2,写一个retain方式声名属性的setter方法
3,Objective-C与C的区别有哪些
4,列出你常用的几个设计模式,列出如何在Objective-C中实现与应用
5,drawRect, lasyoutSubViews的区别
6,列举Cocoa中常用的几种多线程实现,并谈谈多线程安全问题的几种解决方案,什么地方会用到多线程
7,Socket连接相关库,TCP,UDP的连接方法,HTTP的几种常用方式
iOS Client 与WebSocket 通信(一)
http://blog.csdn.net/justinjing0612/article/details/9365879
[原创] ARC官方文档翻译!
http://bbs.feng.com/read-htm-tid-3448966.html
iOS开发中很重要,很常用,但却容易被忽略的知识点:id ,NSObject, id<NSObject>区别
http://www.cocoachina.com/bbs/read.php?tid=151376
Objective-C Blocks Quiz
http://blog.parse.com/2013/02/05/objective-c-blocks-quiz/
iOS 排序算法总结、二分法查找
http://bbs.9ria.com/thread-222314-1-1.html
ios开发之常用算法设计方法 递归
http://bbs.9ria.com/thread-260216-1-1.html
23种设计模式的意图和适用范围
http://www.cnblogs.com/snake-hand/archive/2011/11/14/2452230.html
很全面的ios面试题以及解答,很多答案不一定全对,网上摘录以及自己的理解
http://blog.csdn.net/itianyi/article/details/8856517
iOS:堆(heap)和栈(stack)的理解
http://mobile.51cto.com/iphone-394484.htm
Objective-C的Block,递归与泛型
http://arthurchen.blog.51cto.com/2483760/616735/
《Objective-C 2.0程序设计》摘要
http://web2.0coder.com/archives/220
MQTT协议
http://baike.baidu.com/link?url=OFMli5e38zPzT1HdDaAcm10m1zT3VOIfWtT9XDY_GlHFcb0cjtAXNrqp3dNYfE3D2hMURoZpEUasIvHesyI5Eq