iOS面试题(附答案)

ID:40156921

大小:100.54 KB

页数:3页

时间:2019-07-23

iOS面试题(附答案)_第1页
iOS面试题(附答案)_第2页
iOS面试题(附答案)_第3页
资源描述:

《iOS面试题(附答案)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、iOS面试题(附答案)1、简述一下UIViewController的生命周期?alloc ‐> init ‐> loadView ‐>viewDidLoad ‐> viewWillAppear ‐>viewDidAppear ‐>viewWillDisappear ‐>viewDidDisappear ‐>viewUnLoad ‐>dealloc2、#import和#include的区别?#import导入的头文件不会多次重复导入3、写一个计算A、B中较大值的标准宏MAX?#define MAX

2、(A,B)  ((A)>(B)?(A) : (B))4、谈一下iOS中的多线程?多线程是指从软件或硬件上实现多个线程并发执行的技术iOS中可以使用NSThread、NSOperation、GCD实现多线程5、谈一下Objective‐C的内存管理方式?ARC、手动管理、线程池6、简述assign、retain、copy、weak和strong分别在什么情况下使用?答案见《iOS面试知识点整理.pdf》7、类别的作用?说一下类别和类扩展的区别?类别的作用是给类增加方法类扩展可以给类增加属性或私有变

3、量,只可以对自定义的类使用类扩展8、说说你对KVC和KVO的理解?KVC:键值编码,提供一种机制来间接访问对象的属性KVO:键值观察,基于KVC实现的对类属性的观察监听9、深复制和浅复制的区别?答案见《iOS面试知识点整理.pdf》10、谈一下你对block的理解,请写一个block类型的属性?block本质是匿名函数声明一个block:方法一:void (^block)(NSString *string);方法二:typedefvoid(^MyBlock)(NSString *string);

4、@property (nonatomic, strong)MyBlock block;11、frame和bounds的区别?答案见《iOS面试知识点整理.pdf》12、谈一下UITableViewCell的重用机制?13、简述一下消息推送的流程?1、在苹果推送服务器APNs上注册deviceToken,并发送给自己的后台服务器;2、后台服务器将deviceToken和要发送的消息打包发送给APNs(注意:这一步还需要推送证书的路径和密码)3、APNs将消息发送给deviceToken中保存的指定

5、设备中的指定App14、简述一下App发布到AppStore的流程?1、首先生成发布描述文件(通过创建生产证书‐> 创建AppId (Bundle Id)‐> 创建发布的描述文件)2、然后在iTunesContent中创建一个应用并填好信息3、在XCode中将项目打包并上传(注意:Bundle Id全程一致, 在build Setting中填好刚创建的描述文件)4、最后再回到iTunesContent中选择刚才上传的项目,然后点击提交。15、谈一下面向对象的几个主要特征?封装、继承、多态16、谈

6、一下你常用的一些设计模式及应用场景?MVC :整个项目,用于降低代码耦合度代理:常用于反向传值单例:常用于整个项目需要且只需要创建一次的类17、谈一下关键字static的作用?关键字const呢?答案见《iOS面试知识点整理.pdf》18、堆和栈的区别是什么?答案见《iOS面试知识点整理.pdf》19、break、continue、return的区别是什么?答案见《iOS面试知识点整理.pdf》20、int*p中*p和p的分别代表什么?答案见《iOS面试知识点整理.pdf》21、讲一下OC和C有

7、哪些区别?OC是面向对象的C,OC是面向对象的语言,C是面向过程的。OC完全兼容C语言。22、谈谈你对代理设计模式的理解?23、谈谈Http协议?其中GET和POST有哪些区别?Http协议是超文本传输协议,是基于TCP/IP协议基础之上的应用层协议;HTTP是短连接,并且是无状态的协议。GET和POST的区别:1、GET比POST安全,GET传输参数是在url中,而POST是在body体中,但是在app中这种安全性体现不明显。2、GET比POST快。3、GET传输数据大小不超过1k,POST可

8、以上传图片、文件等大的数据。24、谈谈你对MVC开发模式的理解及你是如何在iOS项目中采用MVC模式开发的?M:Model,V:View,C:Controller,使用MVC模式主要是用来降低代码耦合度;在iOS项目中将模块按MVC模式划分,可以将网络请求得到的数据封装在Model中,将所有呈现的视图独立出来,然后用视图控制器ViewController来管理各个View和Model之间的数据和信息传递。25、谈谈你对Socket的理解?TCP和UDP协议有什么区别Socket简单来说是一种通信

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
正文描述:

《iOS面试题(附答案)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、iOS面试题(附答案)1、简述一下UIViewController的生命周期?alloc ‐> init ‐> loadView ‐>viewDidLoad ‐> viewWillAppear ‐>viewDidAppear ‐>viewWillDisappear ‐>viewDidDisappear ‐>viewUnLoad ‐>dealloc2、#import和#include的区别?#import导入的头文件不会多次重复导入3、写一个计算A、B中较大值的标准宏MAX?#define MAX

2、(A,B)  ((A)>(B)?(A) : (B))4、谈一下iOS中的多线程?多线程是指从软件或硬件上实现多个线程并发执行的技术iOS中可以使用NSThread、NSOperation、GCD实现多线程5、谈一下Objective‐C的内存管理方式?ARC、手动管理、线程池6、简述assign、retain、copy、weak和strong分别在什么情况下使用?答案见《iOS面试知识点整理.pdf》7、类别的作用?说一下类别和类扩展的区别?类别的作用是给类增加方法类扩展可以给类增加属性或私有变

3、量,只可以对自定义的类使用类扩展8、说说你对KVC和KVO的理解?KVC:键值编码,提供一种机制来间接访问对象的属性KVO:键值观察,基于KVC实现的对类属性的观察监听9、深复制和浅复制的区别?答案见《iOS面试知识点整理.pdf》10、谈一下你对block的理解,请写一个block类型的属性?block本质是匿名函数声明一个block:方法一:void (^block)(NSString *string);方法二:typedefvoid(^MyBlock)(NSString *string);

4、@property (nonatomic, strong)MyBlock block;11、frame和bounds的区别?答案见《iOS面试知识点整理.pdf》12、谈一下UITableViewCell的重用机制?13、简述一下消息推送的流程?1、在苹果推送服务器APNs上注册deviceToken,并发送给自己的后台服务器;2、后台服务器将deviceToken和要发送的消息打包发送给APNs(注意:这一步还需要推送证书的路径和密码)3、APNs将消息发送给deviceToken中保存的指定

5、设备中的指定App14、简述一下App发布到AppStore的流程?1、首先生成发布描述文件(通过创建生产证书‐> 创建AppId (Bundle Id)‐> 创建发布的描述文件)2、然后在iTunesContent中创建一个应用并填好信息3、在XCode中将项目打包并上传(注意:Bundle Id全程一致, 在build Setting中填好刚创建的描述文件)4、最后再回到iTunesContent中选择刚才上传的项目,然后点击提交。15、谈一下面向对象的几个主要特征?封装、继承、多态16、谈

6、一下你常用的一些设计模式及应用场景?MVC :整个项目,用于降低代码耦合度代理:常用于反向传值单例:常用于整个项目需要且只需要创建一次的类17、谈一下关键字static的作用?关键字const呢?答案见《iOS面试知识点整理.pdf》18、堆和栈的区别是什么?答案见《iOS面试知识点整理.pdf》19、break、continue、return的区别是什么?答案见《iOS面试知识点整理.pdf》20、int*p中*p和p的分别代表什么?答案见《iOS面试知识点整理.pdf》21、讲一下OC和C有

7、哪些区别?OC是面向对象的C,OC是面向对象的语言,C是面向过程的。OC完全兼容C语言。22、谈谈你对代理设计模式的理解?23、谈谈Http协议?其中GET和POST有哪些区别?Http协议是超文本传输协议,是基于TCP/IP协议基础之上的应用层协议;HTTP是短连接,并且是无状态的协议。GET和POST的区别:1、GET比POST安全,GET传输参数是在url中,而POST是在body体中,但是在app中这种安全性体现不明显。2、GET比POST快。3、GET传输数据大小不超过1k,POST可

8、以上传图片、文件等大的数据。24、谈谈你对MVC开发模式的理解及你是如何在iOS项目中采用MVC模式开发的?M:Model,V:View,C:Controller,使用MVC模式主要是用来降低代码耦合度;在iOS项目中将模块按MVC模式划分,可以将网络请求得到的数据封装在Model中,将所有呈现的视图独立出来,然后用视图控制器ViewController来管理各个View和Model之间的数据和信息传递。25、谈谈你对Socket的理解?TCP和UDP协议有什么区别Socket简单来说是一种通信

显示全部收起
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭