iOS面试题题总结

来源:互联网 发布:exwinner成套报价软件 编辑:程序博客网 时间:2024/05/18 21:06

这是我总结整理的一些面试中经常会问到的问题,希望对大家有所帮助:

1.简述OC中内存管理机制

2.readwrite,readonly,assign,retain,copy,nonatomic 、atomic、strong、weak属性的作用?

3.关于iOS多线程问题

4.提升UITableView性能的几点建议

5. 线程同步和异步的区别?

6.堆和栈的区别?

7.  iOS类是否可以多继承?

8.iOS本地数据存储都有哪几种方式?iOS如何实现复杂对象的存储?

9.iOS的动态性 

10.深拷贝和浅拷贝的理解?

11.什么是安全释放

12.怎样实现一个singleton。

13.RunLoop是什么?

14.写一个标准宏MIN,这个宏输入两个参数并返回较小的一个?

15.简述应用程序按Home键进入后台时的生命周期,以及从后台回到前台时的生命周期?

16.ViewController的loadView, viewDidLoad,viewWillAppear,viewDidUnload,dealloc、init分别是在什么时候调用的?在自定义ViewController的时候这几个函数里面应该做什么工作?

17.描述应用程序的启动顺序。

18.为什么写代理的属性都是assign而不是retain?请举例说明。

19.UIImage初始化一张图片有几种方法?简述各自的优缺点。

20.这段代码有什么问题吗:

@implementation Person

- (void)setAge:(int)newAge {

         self.age = newAge;

}

@end

21.用OC写一个冒泡排序

22.简述你对UIView、UIWindow和CALayer的理解

23.frame和bounds区别:

24.写一个完整的代理

25.分析json、xml的区别?json、xml解析方式的底层是如何处理的?

26.ViewController 的 didReceiveMemoryWarning 是在什么时候被调用的?默认的操作是什么?

27.面向对象的三大特征,并作简单的介绍

28.简单说一下懒加载

29.分别描述类目(categories)和延展(extensions)是什么?以及两者的区别?继承和类目在实现中有何区别?为什么Category只能为对象添加方法,却不能添加成员变量?

30. #import、#include和@class有什么区别

31.谈谈你对MVC的理解?为什么要用MVC?在Cocoa中MVC是怎么实现的?你还熟悉其他的OC设计模式或别的设计模式吗?

32.字符串替换方法:

33.对于语句NSString* testObject = [[NSData alloc] init];        testObject 在编译时和运行时分别是什么类型的对象?

34.什么是沙盒(sandbox)?沙盒包含哪些文件,描述每个文件的使用场景。如何获取这些文件的路径?如何获取应用程序包中文件的路径?

35.  isKindOfClass、isMemberOfClass作用分别是什么?

36. 简述UIViewController的生命周期

37.写出来UITableView的继承关系,写到NSObject (新浪的面试题)

38.简单说一下GCD技术

39. struct strA{      

int a;     

floats;   

char c; 

} expA;      

  printf("%ld",sizeof(expA));    输出结果是几,为什么 ?

40. 网络传输层协议中,基于TCP/IP协议和UDP/IP的连接有什么区别?

41. OSI(Open System Interconnection)开放式系统互联参考模型把网络协议从逻辑上分为了7层,试列举常见的应用层协议。

42.static关键字的作用

43.iOS系统框架分为几层,分别是什么

44.iOS开发中的传值方式都有哪些

 

 

 



0 0