美文网首页
iOS面试那点事

iOS面试那点事

作者: 星光璀璨的夜空 | 来源:发表于2018-11-14 15:09 被阅读0次

    工作4年多了,说下最近1年面试的要点吧(答案都是自己总结的,要是有更好的答案欢迎发送邮件到18560459018@163.com)

    1、介绍下HTTP

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

    HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS

    工作流程:

    1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。

    2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。

    3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

    4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

    想深入了解的朋友可以点这里

    2、项目中用到多线程了吗,是如果处理的?并行的异步线程是如何处理的?

    多线程想必99.9%的APP都使用了,AFNetworking里使用了GCD和NSThread。在进行大量计算非UI的时候我们也可能放到异步线程了来执行。相对实现多线程的3种方法:GCD、NSThread、NSOperation就不介绍了。

    对于并行的异步线程,GCD是有串行队列和并发队列的,如果想要顺序执行,选择串行队列处理,反之选择并发队列处理。

    相关文章

      网友评论

          本文标题:iOS面试那点事

          本文链接:https://www.haomeiwen.com/subject/hlszqxtx.html