【译】iOS面试问题

原文链接

  1. 解释下什么是方法混合?什么时候用?
  2. 有三个对象:祖父,父亲和孩子,
  3. 在nil指针上调用方法会发生什么?
  4. 为什么retainCount不应用在代码中,给出2个不同的原因? 这个问题有2个好处,(1)确保人们不使用retainCount (2)看看他们是否理解为什么不应该用。
  5. 解释autorelease pool在运行时那一层是如何工作的?这类问题比程序员从书中学到的基础知识要难,考察了他们对事情真正运行情况的了解。
  6. 在进行属性声明的时候,atomicnon-atomic有什么区别? 再次让人吃惊的是,又有很多人不知道此问题的答案。很多人只是以特定方式进行属性声明,因为他们看到别人这么做。像这样的问题暴露这些问题。
  7. 在C语言中,如何尽快的翻转一个字符串?
  8. 在对NSArrayNSSet进行迭代时,哪个更快?
  9. 解释代码签名是如何工作的?
  10. Objective-C里的posing是什么?
  11. 列举6个标准工具
  12. copyretain的区别是什么?内存问题
  13. framebound的区别是什么?
  14. 当下面的代码执行时会发生什么 ?Ball *ball = [[[[Ball alloc] init] autorelease] autorelease]; 另一个内存问题,我想要的答案并不只是程序崩溃了,还有为什么崩溃,什么时候崩溃。

###答案

  1. 决不要使用它,它不会告诉你有用的东西。因为FoundationAppKit/UIKit的实现是不透明的,你并不知道什么被保存了,为什么被保存了,谁保存的,什么时候保存的等等。http://whentouseretaincount.com/
  • You'd think that [NSNumber numberWithInt:1] would have a retainCount of 9223372036854775807.
  • You'd think that @"Foo" would have a retainCount of 1. It doesn't. It's 1152921504606846975.
  • You'd think that [NSString stringWithString:@"Foo"] would have a retainCount of 1. It doesn't. Again, it's 1152921504606846975.

这里只翻译了部分问题,整理了1个问题的答案。对于 想提供其他几个问题的答案的,可以留言哦,我后面整理下加上。

这是一个系列中的第三部分,第一部分是关于如何申请iOS开发工作,第二部分是介绍简历应该如何写,里面举了4种类型的简历,各有千秋。

##文章链接如下:

转载于:https://my.oschina.net/leeming/blog/178611

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值