iOS面试题整理

1.socket原理:socket中文翻译为套接字 是支持TCP/IP协议的网络通信的基本操作单元,包含网络通信必须的5种信息:连接使用的协议 ,本地主机的IP,本地进程的协议端口,远地主机的IP,远地进程的协议端口。当应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供服务的问题,多个TCP连接或应用程序会同时通过一个TCP协议端口传输数据。为了区分不同的应用程序和连接,为应用程序与TCP/IP协议提供socket接口.应用层与传输层通过socket区分不同应用程序或网络连接的通信,实现数据传输的并发服务。建立socket连接知道需要一对套接字, 其中一个运行与客户端 ,一个运行与服务端 连接分为三个步骤:服务器监听 ,客户端请求, 连接确认

2.POST和GET的区别

GET一般用于获取数据 POST一般用于将数据发给服务器。

GET使用URL或者Cookie传参,POST将数据放在body体中

POST比GET较为安全 数据在地址栏上不可见

GET 方法提交的数据大小限制在255 个字符之内, POST 方法提交的数据大小没有限制

GET 方法不可以设置书签,POST可以设置书签

3.远程推送的基本过程:客户端的app需要将用户的UDID和App的bundleID发送apons服务器进行注册 apns返回app一个加密后的device Token。app获得device Token后,上传到公司服务器。当需要推送时 公司服务器会将推送内容和device Token一起发给apns服务器,apns再将推送内容发送到客户端上。

4.ARC和MRC

ARC和MRC两种内存管理机制,ARC是Xcode4.1之后出现的自动管理内存的机制,MRC需要手动管理内存。在MRC下对变量进行管理的方有:retain,release,和autorelease,retain 表示引用计数加一相当于多了一个指针变量指向该对象,release引用计数减一 ,指针变量对该对象的所有权,autorelease是将该对象的内存管理放到autoreleasepool(释放池)中。

你可能感兴趣的:(iOS面试题整理)