整理BAT等100家企业iOS面试题,打造最受名企欢迎的iOS程序员

100道名企精选iOS面试题合集:

你要的这里都有;

接下来让我们来看看这100道题:

面试题合集:
1、堆和栈什么区别?
2、数组和链表什么区别?
3、delegate和notification什么区别,什么情况使用?
4、什么是MVC,为什么使用MVC,有什么好处?
5、从一个数组中找出重复的元素打印出来?
6、UITableView能否绑定多个数据源?
7、一个UIViewController能否管理多个UITableView ?
8、同步请求和异步请求什么区别?
9、iOS中的多线程操作、多线程方式
10、UIViewController的生命周期
11、Autorerelease对象什么时候释放?
12、iOS数据持久化方式
13、Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?
14、#import 跟#include 又什么区别,@class呢, #import<> 跟 #import”"又什么区别?
15、属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?
16、常见的object-c的数据类型有那些, 和C的基本数据类型有什么区别?如:NSInteger和int
17、Objective-C如何对内存管理的,说说你的看法和解决方法?
18、如何对iOS设备进行性能测试?
19、Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么?
20、描述一下iOS SDK中如何实现MVC的开发模式
21、定义属性时,什么情况使用copy、assign、retain?
22、Object-C有私有方法吗?私有变量呢?
23、浅复制和深复制的区别?//浅拷贝和深拷贝
24、自动释放池是什么,如何工作
25、单件实例是什么
26、类别的作用?继承和类别在实现中有何区别?
27、类别和类扩展的区别。
28、KVO and KVC?
29、代理的作用?
30、说说响应链?
31、frame和bounds有什么不同??
32、方法和选择器有何不同??
33、Object-c的类可以多重继承么?可以实现多个接口么?重写一个类的方式用继承好还是分类好?为什么?
34、ARC自动引用技术
35、GCD技术
36、类别的作用?继承和类别在实现中有何区别?
37、代理的作用?
38、我们说的oc是动态运行时语言是什么意思?
39、通知和协议的不同之处?
40、关于多态性
41、NSOperation队列
42、是否在一个视图控制器中嵌入两个tableview控制器?
43、什么是id类型
44、请简要说明viewDidLoad和viewDidUnload何时调用
45、打印结果
46、写一” 标准”宏MIN ,这个宏输入两个参数并返回较小的一个
47、数组和指针的区别
48、static的作用
49、简述内存分区情况
50、const char p;? charconstp;? charconst p;? const char const p;四个修饰指针有什么区别
51、在Obj-c中有没有私有方法?私有变量?一般采用什么方法实现?
52、obj-c的优缺点
53、HTTP协议中,POST和GET的区别是什么?
54、UIView与CLayer有什么区别?
55、Quatrz 2D的绘图功能的三个核心概念是什么并简述其作用.
56、iPhone OS主要提供了几种播放音频的方法?
57、使用AVAudioPlayer类调用哪个框架、使用步骤?
58、CFSocket使用有哪几个步骤.
59、Core Foundation中提供了哪几种操作Socket的方法?
60、线程与进程的区别和联系?
61、iOS平台怎么做数据的持久化?coredata?和sqlite有无必然联系?coredata是一个关系型数据库吗?
62、获取项目根路径,并在其下创建一个名称为userData?的目录。
63、列举几种进程的同步机制,并比较其优缺点。
64、进程间通信的方式有______
65、http和scoket通信的区别。
66、TCP和UDP的区别
67、你了解svn,cvs等版本控制工具么?
68、为什么很多内置类如UITableViewController的delegate属性都是assign而不是retain的?
69、通信底层原理
70、objective-c 是所有对象间的交互是如何实现的?
71、TCP/IP 建立连接的过程?
72、如何引用一个已经定义过的全局变量?
73、Objective-C如何对内存管理的,说说你的看法和解决方法?
74、block 实现原理
75、id、nil代表什么?
76、为什么很多内置类,如UITableView的delegate属性都是assign而不是retain的?
77、视图控制器的loadView方法是什么时候调用的?
78、什么情况使用 weak 关键字,相比 assign 有什么不同?
79、这个写法会出什么问题: @property (strong) NSMutableArray array;
80、AFNetworking或SDWebImage 里面给 UIImageView 加载图片的逻辑是什么样的?
81、GCD 里面有哪几种 Queue? 背后的线程模型是什么样的?
82、什么是iOS中的沙盒机制。
83、nil, Nil, NSNULL, NULL区别
84、iOS中处理音频和视频使用哪些框架?
85、如何监听View的触摸事件,事件是如何传递的、视图的响应者链是什么?
86、xml数据的解析方式,各有什么不同?
87、设备状态栏(Device?Status?Bar)是什么?高度如何?是否透明?在手机通话或者导航状态下,它是如何显示的?
88、Core Graphics 和Quartz 2D的区别?
89、如何为APP添加启动页?
90、UIView的ContentMode是如何实现的?
91、layer的层级结构是什么?
92、如何确定layer的位置?
93、transform中,可以使用kvc执行动画的属性有哪些?
94、在一个对象的方法里面:self.name= “object”;和 name =”object” 有什么不同吗?
95、请简述self.name= nil的机制,以及与[namerelease]的区别?
96、使用sql语句查询出省名以湖开头,邮编为436001所在的市区?(表名及字段名自定义)
97、写一” 标准”宏MIN ,这个宏输入两个参数并返回较小的一个
98、const char p; charconstp;char
const p;const char* const p;四个修饰指针有什么区别
99、下拉和上拉的原理?
100、layoutSubview何时调用?

答案文档获取地址,进作者创建群:62 42 12 887 找群文件:打造最受名企欢迎的iOS程序员

前三道题答案:
1、堆和栈什么区别?
答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。
2、数组和链表什么区别?
答:数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。
链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。
3、delegate和notification什么区别,什么情况使用?
答:Delegate:
消息的发送者(sender)告知接收者(receiver)某个事件将要发生,delegate同意然然后发送者响应事件,
delegate机制使得接收者可以改变发送者的行为。
通常发送者和接收者的关系是直接的一对多的关系。
Notification:
消息的发送者告知接收者事件已经发生或者将要发送,仅此而已,接收者并不能反过来影响发送者的行为。
通常发送者和接收者的关系是间接的多对多关系。

你可能感兴趣的:(整理BAT等100家企业iOS面试题,打造最受名企欢迎的iOS程序员)