iOS电话面试题详解Push机制、生命周期与数据结构
1. Push原理
推送通知是iOS应用程序常见功能之一,允许应用在后台接收消息。Push原理可以分为三阶段:
- 第一阶段:服务器打包消息并附加目标iPhone标识,发送给Apple推送通知服务(APNS)。
- 第二阶段:APNS在注册列表中匹配标识,将消息传送到目标iPhone。
- 第三阶段:iPhone接收消息,传递给应用并弹出通知。
2. View Controller生命周期
View Controller生命周期包括五个方法:
- viewDidLoad:视图加载后调用。
- viewWillAppear:视图即将显示时调用。
- viewDidAppear:视图完全显示后调用。
- viewWillDisappear:视图被驳回前调用。
- viewDidDisappear:视图被驳回后调用。
3. Frame和Bounds的区别
Frame定义视图在父视图中的位置和大小,Bounds定义在自身坐标系统中的位置和大小。修改Frame会影响Bounds,但两者表示不同的坐标系统。
4. SQLite中插入特殊字符的方法
在SQLite中插入特殊字符时,用两个单引号替换单引号,即''
。可以通过replace
方法替换其他特殊字符为合适格式。
5. 数组和集合的认识
- NSArray:用于对象的有序集合,常用
initWithObject
和initWithObjects
。 - NSMutableArray:可变数组,支持删除、添加、排序。
- NSSet:无序集合;NSDictionary用于键值对映射。
6. Socket编程简述
Socket编程基于TCP/IP协议,用于网络程序通信。客户端编程过程包括加载库、创建套接字、向服务器请求连接、进行通信、关闭套接字。
7. 冒泡算法
冒泡算法是一种排序算法,步骤为:依次比较数组元素,将最大的移动到最后,重复此过程直至排序完成。时间复杂度为$O(n^2)$。
77KB
文件大小:
评论区