ios开发之基础面试题 ios开发中遇到的难点面试

iOS面试题:说说响应链

当事件发生的时候,响应链首先被发送给第一个响应者(往往是事件 发生的视图,也就是用户触摸屏幕的地方)。事件将沿着响应者链一 直向下传递,直到被接受并作出处理。

成都创新互联是网站建设专家,致力于互联网品牌建设与网络营销,专业领域包括成都网站设计、成都网站制作、电商网站制作开发、小程序开发、微信营销、系统平台开发,与其他网站设计及系统开发公司不同,我们的整合解决方案结合了恒基网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,且不断评估并优化我们的方案,为客户提供全方位的互联网品牌整合方案!

一个UIWindow对象在某一时刻只能有一个响应者对象可以成为第一响应者。 成为第一响应者必须要canBecomeFirstResponder,才能becomeFirstResponder。

寻找到最佳响应者后,事件就在响应链中的传递及响应了。

iOS面试题:什么是arc?(arc是为了解决什么问题诞生的?)

1、请解释以下keywords的区别: assign vs weak, __block vs __weak __block在arc和非arc下含义一样吗? 使用atomic一定是线程安全的吗? 描述一个你遇到过的retain cycle例子。

2、ARC只是相对于MRC(Manual Reference Counting或称为非ARC,下文中我们会一直使用MRC来指代非ARC的管理方式)的一次改进,但它和之前的技术本质上没有区别。具体信息可以参考ARC编译器guan 方文档。

3、ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。

4、使用ARC可以减轻iOS开发者的内存管理负担,提高程序的效率和稳定性。避免循环引用循环引用是指两个或多个对象之间互相引用,导致它们的引用计数都不为零,从而无法正常释放。

iOS面试题:讲讲iOS事件响应链的原理

1、当事件发生的时候,响应链首先被发送给第一个响应者(往往是事件 发生的视图,也就是用户触摸屏幕的地方)。事件将沿着响应者链一 直向下传递,直到被接受并作出处理。

2、点击一个UIView或产生一个触摸事件A,这个触摸事件A会被添加到由UIApplication管理的事件队列中(即,首先接收到事件的是UIApplication)。

3、UIKit发送事件到父UIView对象,然后是窗口的根视图(UIWindow)。在将事件定向到窗口之前,响应器链从根视图转移到所属的视图控制器。

4、事件响应会先从底层最合适的view开始,然后随着上一步找到的链一层一层响应touch事件。默认touch事件会传递给上一层。如果到了viewcontroller的view,就会传递给viewcontroller。如果viewcontroller不能处理,就会传递给UIWindow。

面试题判断是不是合格的ios工程师

1、请简要描述一下UIScrollView的执行过程。

2、许多时候,判定一个工程师是否属于最优秀的行列,最好办法就是问他们如何解决一个问题。如果出现缓冲区溢出,结果可能是灾难性的。因此,如果你想测试手下的工程师面临极端问题时将会如何反应,这个问题很适合。

3、首先需要声明的是,此次的面试者大多在有1~3年的iOS开发经验,并非需要找一个真正的大牛,所以准备的题目,自己觉得大多数还是比较基础,比较能够看出这个层次的人的水准的。如果也是个有3年左右开发经验的从业者,不妨一试。

4、请解释以下keywords的区别: assign vs weak, __block vs __weak __block在arc和非arc下含义一样吗? 使用atomic一定是线程安全的吗? 描述一个你遇到过的retain cycle例子。


网站栏目:ios开发之基础面试题 ios开发中遇到的难点面试
文章分享:http://myzitong.com/article/dihsccc.html