文档章节

面试题02

鹿微微鹿
 鹿微微鹿
发布于 2016/05/12 20:21
字数 1245
阅读 97
收藏 3
    • 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同步设备时不会备份该目录

© 著作权归作者所有

共有 人打赏支持
上一篇: 使用xib常犯的错
下一篇: ios基础面试题
鹿微微鹿
粉丝 8
博文 116
码字总数 71882
作品 0
程序员
私信 提问
最新iOS面试必看题视频教程(附大神简历要素)

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

2846613430
2016/04/12
388
0
华为2018届校园招聘笔试题目以及相应代码分享 软件开发岗位

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

lizi_stdio
2017/08/03
0
0
MYSQL之SQL高级运用(帮助你高效率编程)

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

idea_biu
2012/11/20
0
0
2018 前端面试准备

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

掘金官方
2017/12/14
0
0
老男孩51CTO博客博文列表整理版20170620更新

老男孩51CTO博客博文列表整理版 (本文原自于一道考试题http://oldboy.blog.51cto.com/2561410/1860985) 老男孩教育运维脱产班35期 刘同学 2017-06-14 17:44:41 老男孩的MySQL私房菜新书视频1...

老男孩oldboy
2016/10/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 有一天考拉麻麻拉肚子了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念 :分享周汇洋的单曲《Man Srae(曼斯拉之舞)》:美滋滋。。。。 手机党少年们想听歌,请使劲儿戳(这里) 我听了一下 赶紧关了, ...

小小编辑
44分钟前
13
4
oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
今天
6
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
6
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
18
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部