面试问题汇总

面试问题

  • 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的交互

你可能感兴趣的:(面试问题汇总)