iOS精品文章-面试iOS开发技术集合ios开发

iOS面试题-每日十道-第十一天

2016-07-15  本文已影响1055人  放肆肆肆
有误的地方 欢迎高手能给指出

一. 什么是动态绑定

动态绑定是指在执行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法.程序运行的过程中,把函数调用与响应调用所需要的代码想结合的过程为动态绑定

二. 什么是协议?分几层?

通讯协议采用了4层的层级结构,每一层都呼叫一下层所提供的网络来完成自己的需求.这4层分别为:

三. TCP和UDP的区别?这两包的字节内容有啥不同?

TCP(Transmission Control Protocol,传输控制协议)

TCP是基于链接的协议,也就是说,在正是收发数据前,必须和对方建立可靠的链接.一个TCP链接必须要经过三次"对话"才能建立起来,其中的过程非常复杂,简单介绍:主机A向主机B发出链接请求数据包"我给你发数据,可以吗?"这是第一次对话;主机B🐘主机A发送同意链接和要求同步(同步就是两台主机一个在发送,一个在介绍,协调工作)的数据包:"可以",这是第二次对话;主机A再发出一个数据包确认主机B的要求同步;"我发的 你接着",这是第三次对话. 三次对话的目的是使数据包发送和接受同步,经过三次对话后,主机才向主机B正是发送数据.

UDP(User Data Protocol,用户数据报协议)

UDP是与TCP相对应的协议.它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!
UDP适合用于一次只传送少量的数据,对可靠性要求不高的应用环境,比如,我们经常使用"ping"命令来测试两台主机之间TCP/IP通信是否正常.其实"ping"命令的原理就想对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。

四. 你是否接触过OC中的反射机制?

NSObject常用的方法:
判断一个类是否属于某个类或者是它的子类
- (BOOL)isKindOfClass:(Class)aClass;
判断一个类对象是否为一个类的实例(不包括子类)
- (BOOL)isMemberOfClass:(Class)aClass
Class的反射

SEL的反射
通过方法的字符串形式实例化方法

 SEL sel = NSSelectorFromString(@“setName:”);
      [st performSelector:sel withObject:@“Mike”];

将方法变成字符串

    NSStringFromSelector(@selector(setName:));

五.C和Obj-c如何混用

总结:只要cpp文件和cpp include的文件中不包含obj-c的东西就可以用了,cpp混用obj-c的关键是使用接口,而不能直接使用实现代码,实际上cpp混用的是 obj-c编译后的o文件,这个东西其实是无差别的,所以可以用。obj-c的编译器支持cpp.

六. 谈谈runtime机制

七. AFN 与 ASI 有什么区别

八. 如果后期需要增加数据库中的字段怎么实现,如果不使用CoreData呢?

编写SQL语句来操作原来表中的字段

九. 简单描述下客户端的缓存机制

十. 利用Socket建立网络连接的步骤

建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket.
套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认.


纯手动 有地方是个人理解 有误的地方希望大家能给指出 谢谢
大家面试中遇到的问题 也可以留言分享
如果您喜欢 或者 对您有点帮助 希望点一下喜欢 谢谢了~~

上一篇下一篇

猜你喜欢

热点阅读