iOS 面试题集-01

1、简述oc语言的基本特点:

1> oc语言是c语言的一个超集,只是在c的基础之上加上了面向对象(oo)的特性;

2> oc语言与java语言相同都是单继承,这一点与c++语言不同(多继承);

3> oc语言不支持命名空间机制、取而代之是在类名前加前缀;

2、简述#incloude、#import、@class的区别:

1>、#include与#import的区别:#include和#import其效果相同,只是#import不会引起交叉编译,确保头文件只会被导入一次;

2>、#import与@class的区别:#import会包含这个类的所有信息,包括实体变量和方法。@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,不会考虑用到的时候在去告诉你。使用#import编译效率高,防止相互包含的编译的错误!

3、 简述类目的优点和缺点:

1>、优点:不需要通过增加子类的而增加现有类的行为(方法),且类目中的方法与原始类的方法基本没有区别;

2>、缺点:无法向类目添加实例变量。覆盖原始类方法后,原始类的方法没办法调用。

4、 简述内存管理的基本原则:

1>、如果使用alloc、copy(mutableCopy)或者retian一个对象时,需要向他发送一条releas或者autorelease消息。

5、 简述内存管理的基本原则:

1>ARC是Aatomic Refernce Counting的简称,一般称自动引用计数,是iOS 5之后推出的内存管理的新特性。本质上还是使用引用计数来管理对象,只是我们在编写代码时,不需要向对象发送release或者autorelease 方法,也不可以调用delloc方法,编译器会在合适的位置自动给用户生成release(autorelease)消息。GC的全称是garbage collation,内存垃圾回收机制,ARC 比GC性能好。iOS开发只支持MRC 和ARC ,Mac开发支持GC垃圾回收机制,10.8之后弃用了,推荐使用ARC。

6、 深、浅复制的基本概念以及它们的区别:

1>、浅复制:只复制对象本身,不对里面的属性复制。

2>、不仅复制对象本身,对象持有的属性对象也做复制。

7、  内存中的堆和栈的差别:

1>、栈区(stack)由编译器自动分配释放,存放方法(函数)的参数值、局部变量的值等,先进后出;

2>、堆区(heap)一般有程序员分配与释放,不释放会存在内存溢出的情况。

8、  简述定义属性时、什么时候用assign、retain、copy、nonatomic:

1>、assign:普通赋值,一般用于基本数据类型,常见委托设计模式,以此防止循环引用。

2>、retain:保留计数,获得对象的所有权,引用计数在原有基础上加1。

3>、copy:用来复制对象,一般字符串使用copy。

4>、nonatiomic:非原子性访问,不加同步,多线程并发访问会提高性能。

9、strong和weak的区别:

1>strong强引用,weak弱引用。在ARC中,使用strong告诉编译器帮助我们自动插入retain,weak是普通赋值相当于手动管理内存的assign。

10、ARC 存在内存泄露:

1>ARC中如果内存管理不当的话同样存在内存泄漏。例如:ARC中也会循环引用导致内存泄漏。oc对象和core fountain类之间桥接时,内存管理不当也会产生内存泄漏。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 对于要面试iOS开发的程序员,可能已经看了很多的面试题。但是网上很多的面试题有些很全,但是没有重点,有些又太少。今...
    秋穗巧阅读 858评论 0 0
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,387评论 30 472
  • 转:http://www.cocoachina.com/programmer/20151019/13746.htm...
    Style_伟阅读 5,151评论 0 3
  • 注:此文章来源:Job_Yang 的简书 1. Object-c的类可以多重继承么?可以实现多个接口么?Categ...
    广益散人阅读 5,163评论 0 13
  • 当我告诉周边朋友我要坚持跑步,然后每天写一篇“跑步日记”时,他们基本上都很不理解,都会问:就跑步这么单调、重复的活...
    深夜读书清晨写作阅读 5,083评论 0 1