文档章节

面试题02

鹿微微鹿
 鹿微微鹿
发布于 2016/05/12 20:21
字数 1245
阅读 97
收藏 3
点赞 2
评论 0
    • 9.理解单例模式并且用OC实现:

    • 单例模式就是使得类中的一个对象成为系统中唯一实例,它提供了对类的对象所提供资源的全局访问点,因此需要用一种只允许生成对象类的唯一实例的机制
      ```Object-c
      static User user = nil;
      +(id)shareUser{
      @synchronized(self){
      if(user == nil){
      user = [[User alloc]init];
      }
      }
      return user;
      }
      //这是在拷贝对象时防止重复创建
      -(id)copyWithZone:(NSZone 
      )zone{
      return user1;
      }
      //这是在retain对象时防止重复创建,当然在ARC开启时可省略这个
      -(id)retain{
      return user1;
      }
      //在release时什么都不做,因为一共就一个实例,不重复引用,所以不能release
      -(oneway void)release{

}
//在autorelease时,返回实例,在ARC下客省略
-(void)autorelease{
return user1;
}
//返回的时无符号整型,即大于0的数字,在ARC下可省略
-(NSUInteger)retainCount{
return UINT_MAX;
}
@end


###10.事件是如何传递的,简述事件响应链机制
  网址:http://www.jianshu.com/p/6f2cc4b1f5a1
```Object-c
  事件的传递过程是由硬件->操作系统->当前活跃的应用程序(   UIApplication)->UIWindow->->UIView
详细过程:
1> 当用户触发了一个事件,由硬件检测到,传递给操作系统,操作系统将这个事件打包成一个UIEvent,其次将UIEvent传递个点前活跃的应用,即传递给了UIApplication。
2> 接着就是应用内部的传递,首先UIApplication将事件传递给UIWindow,UIWindow调用hitTest方法检测事件。
hitTest方法内部做了三件事:1.检测UIView能否交互,hidden是否等于NO,alpha > 0.01; 2.触摸点是否发生在自己身上,即触摸点是否在自己的frame内;3. 按添加顺序逆向遍历自己的子视图,让子视图调用hitTest方法,查看是否能查找到一个比自己更适合处理这个事件的UIView,如此往复,最终找到一个,或者没有找到一个UIView返回。找到,UIApplicatio将事件传递给对应的UIView进行处理,没找到,就石沉大海

11. 什么是TCP的三次握手,四次挥手

TCP三次握手的过程如下:
1.客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
2.服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
3.客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。
ACK表示Acknowledgment Number字段有意义
SYN表示SYN报文(在建立TCP连接的时候使用
三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。

建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的
四次挥手:
1.某个应用进程首先调用close,称该端执行“主动关闭”(active close)。该端的TCP于是发送一个FIN分节,表示数据发送完毕。

接收到这个FIN的对端执行 “被动关闭”(passive close),这个FIN由TCP确认。 注意:FIN的接收也作为一个文件结束符(end-of-file)传递给接收端应用进程,放在已排队等候该应用进程接收的任何其他数据之后,因为,FIN的接收意味着接收端应用进程在相应连接上再无额外数据可接收。
一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的套接字。这导致它的TCP也发送一个FIN。 4.接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN。[1] 既然每个方向都需要一个FIN和一个ACK,因此通常需要4个分节。

12iOS 数据持久化的方式

网址:http://www.jianshu.com/p/e5ffd35eb59a

总结一下iOS中几种比较常用的数据存储方式
属性列表(plist)
偏好设置(preference)
NSKeyedArchiver(归档)
SQLite3
Core Data
沙盒目录结构:应用程序包(hq):包含所有的资源文件和可执行文件
 - Documents:保存应用运行时所生成的需要持久化的数据,iTunes同步设备时会备份该目录
 - Library Caches:保存应用运行时所生成的需要持久化的数据  iTunes同步设备时不会备份  一般存储体积大、不需要备份非重要数据
- Library Preferences:保存应用所有的偏好设置,liOS的Settings(设置)应用会在该目录中查找应用的设置信息,iTunes同步设备时会备份该目录
- Temp:保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录

© 著作权归作者所有

共有 人打赏支持
鹿微微鹿
粉丝 8
博文 115
码字总数 71882
作品 0
程序员
最新iOS面试必看题视频教程(附大神简历要素)

本文是由尚学堂iOS学院总结的ios开发者在求职时会遇到的一些面试题 ,并通过实际代码演练将课程详尽的讲解出来,希望对学习ios或从事ios开发行业的朋友有所帮助。 001尚学堂iOS面试题命名规范...

2846613430 ⋅ 2016/04/12 ⋅ 0

华为2018届校园招聘笔试题目以及相应代码分享 软件开发岗位

华为2018届校园招聘笔试 时间20170712 笔试题目 01 括号匹配 //01 括号匹配 define CRTSECURENOWARNINGS /*括号匹配 给定一个字符串,里边可能包含“()”、“[]”、“{}”三种括号,请编写程...

lizi_stdio ⋅ 2017/08/03 ⋅ 0

2018 前端面试准备

前端面试常见问题按知识点分类整理 前端面试常考问题整理,按模块知识点分类,持续完善中... Front-end-Developer-Questions by Modules and knowledge 前端面试经典问题:CSS 中居中的几种方...

掘金官方 ⋅ 2017/12/14 ⋅ 0

MYSQL之SQL高级运用(帮助你高效率编程)

小编说:这些知识常出现在面试题,但是实用价值很高。。其实也就是SQL的高级篇罢了,多用在统计方面,将行数据合并成列数据。希望读者能举一反三,灵活运用。 1.一道SQL语句面试题,关于gro...

idea_biu ⋅ 2012/11/20 ⋅ 0

民工哥公众号linux系统学习线路图大全

民工哥公众号linux系统学习线路图大全 <-----------点击链接进入 友侃有笑公众号Linux学习路线图 1、基础篇 Linux 基础优化配置 Linux系统根目录结构介绍 linux系统重要子目录介绍 Linux文件...

民工哥 ⋅ 2017/08/30 ⋅ 0

Bitmap的一个简单实现

一、Bitmap简介 Bitmap是一种常用的数据结构,其实就是一个连续的数组,主要是用于映射关系,如映射整数,一位代表一个数,即这里假设Bitmap有100Bytes * 8 这么多的位,那么这里可以映射出来...

Triangle23 ⋅ 2013/07/02 ⋅ 0

面试时该向面官提什么问题?

专栏 | 九章算法 网址 | http://www.jiuzhang.com 每次到面试即将结束的时候,面试官总会问: Do you have any question for me? 这个时候,向面试官提什么问题比较合适呢? 首先,也是最重要...

⋅ 01/28 ⋅ 0

鹅厂奋战历程简录

从开始准备到最后尘埃落定,和鹅厂总共纠缠了近10个月,所幸最终拿到Offer,也算万事完满。 2015.12 12月中旬,和一读研学长讨论今后出路。本觉得以自己的水平万不可眼界过高放眼鹅厂这种互联...

sun511230 ⋅ 2017/05/25 ⋅ 0

程序员永远都不会出轨? 和程序员谈恋爱的真实感受

专栏 | 九章算法 网址 | www.jiuzhang.com 不管你是刚刚开始与程序员恋爱还是已经与程序员交往了很久,这篇文章都值得你看一看,我百分之百确信你会阅读得很愉快。 Enjoy~ 01 程序员永远都不...

⋅ 2017/12/31 ⋅ 0

小博老师解析经典Java面试题-redirect和forward的区别

[面试原题] 简述java中redirect和forward的区别。 [正确答案] redirect是url重定向,让客户端重新发送一次请求到另一个url。因此整个过程客户端向服务器发送了两次请求,并且客户端浏览器地址...

博为峰教研组 ⋅ 2016/10/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

开启Swarm集群以及可视化管理

在搭建的两台coreos服务器上开启swarm集群 前置条件: docker均开启2375端口 同一个局域网内 主服务器上安装Portainer容器 安装Portainer容器执行: docker run -d -p 9000:9000 --restart=a...

ykbj ⋅ 18分钟前 ⋅ 0

单例设计模式

1、单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 2、饿汉式单例类 在这个类被加载时,静态变量instance会被初始化,此时类的私有构造子会被调用 饿汉式是典型...

职业搬砖20年 ⋅ 23分钟前 ⋅ 0

前端基础(四):前端国际规范收集

字数:1142 阅读时间:5分钟 前言 由于前端技术的灵活性和杂乱性,导致网上的许多解决方案不够全面甚至是完全错误,容易起到误导作用。所以,我对搜索到的解决方案往往是存疑态度。那么,如何...

老司机带你撸代码 ⋅ 25分钟前 ⋅ 0

Failed to open/create Network-VirtualBox Host-Only

虚拟机版本 : Oracle Vm VirtualBox 5.2.12 报错时机:开网卡二,重启虚拟机报错 "Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Ada......

p至尊宝 ⋅ 29分钟前 ⋅ 0

三分钟学会如何在函数计算中使用 puppeteer

摘要: 使用 puppeteer 结合函数计算,可以快速的构建弹性的服务完成各种功能,包括:生成网页截图或者 PDF、高级爬虫,可以爬取大量异步渲染内容的网页、模拟键盘输入、表单自动提交、登录网...

阿里云云栖社区 ⋅ 32分钟前 ⋅ 0

springMVC接收表单时 Bean对象有Double Int Char类型的处理

前台ajax提交表单price为double类型 后台controller就介绍不到 400错误 前台 实体类: public class ReleaseMapIconConfig{ private String id; private long maxValue; private long minVal......

废柴 ⋅ 34分钟前 ⋅ 0

ZOOKEEPER安装

工作需要在ubuntu上配置了一个zookeeper集群,有些问题记录下来。 1. zookeeper以来java,所以首先要安装java。但是ubuntu系统有自带的jdk,需要通过命令切换java版本: $ sudo update-alter...

恰东 ⋅ 37分钟前 ⋅ 0

linux 进程地址空间的一步步探究

我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间。其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间。 那虚拟内存空间...

HelloRookie ⋅ 37分钟前 ⋅ 0

myatis #{}与${}区别及原理

https://blog.csdn.net/wo541075754/article/details/54292751

李道福 ⋅ 41分钟前 ⋅ 0

三分钟学会如何在函数计算中使用 puppeteer

摘要: 使用 puppeteer 结合函数计算,可以快速的构建弹性的服务完成各种功能,包括:生成网页截图或者 PDF、高级爬虫,可以爬取大量异步渲染内容的网页、模拟键盘输入、表单自动提交、登录网...

猫耳m ⋅ 42分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部