面试问题
1、消息推送的原理;
2、网络的七层协议
3、JSON/XML解析
4、推送服务
5、面向对象的长连接
6、描述单例模式与观察者模式
7、xmpp底层的实现
-
8、什么是墓碑机制
什么是墓碑机制? 我们现在用着的iphone后台功能大概就是这么个尿性。这里要借用一下Windows phone里的一个名词——墓碑机制。 何为墓碑机制?好比大家能从某一个人的墓碑上了解到该人活着时是个什么鸟样,但这个人其实已经挂了。也就是说当一个程序被系统从内存移除后,系统允许这个程序给自己立个“墓碑”,记录自己“生前”的样子,等你要让这些程序“复活”的时候,系统会照着它墓碑上那鸟样给他重新加载到内存里去。“墓碑”状态下的程序们不会占用CPU,不会占用内存,甚至不会产生功耗。也能称之为“后台挂起”,差不多那个意思。这就是为什么你长时间不用浏览器后再打开它时,你会发现页面重新加载了一次但网页并没有刷新,也是为什么iOS的后台功能需要软件的支持才能实现。iOS就是用这种方式实现的后台,同时又保证内存的。 综上所述,在iOS这样的内存管理机制下,你完全不必担心软件会因为分配到的内存不足而卡顿,因为任何软件被放在前台时都有权限向处理器要求尽量多的内存。所以在iOS里,你完全没有必要去手动清理后台程序来释放内存,iOS会自动释放。相反iOS比你更“聪明”,它知道该释放哪些程序的内存,何时释放,释放多少,而自己手动清理内存完全是多此一举。至于那些所谓的内存清理软件所列出的后台程序所占内存,那也并不是实际被占用的内存,多数都是那些程序所请求的内存大小。
-
9、GIT和SVN之间的五个基本区别
Git 和 SVN 之间的五个基本区别 1.GIT是分布式的,SVN不是: 2.GIT把内容按元数据方式存储,而SVN是按文件: 3.GIT分支和SVN的分支不同: 4.GIT没有一个全局的版本号,而SVN有: 5.GIT的内容完整性要优于SVN:
10、OC与JS交互,比如Bridge
11、猫与外界通信的过程是如何实现的
12、对JS的交互