美团iOS开发一二面面经

一面

  • 1.property修饰符以及作用
  • 2.接1,atomic和nonatomic的锁原理,目的,举一个用atomic的例子
  • 3.接1,weak的实现原理,weak表的key-value分别是什么
  • 4.接1,copy的使用场景,使用的条件,如果没有重写copyWithZone会怎样
  • 5.消息发送的机制,方法调用的过程
  • 6.kvc的使用,kvo的使用、原理
  • 7.Category能不能添加属性,为什么。添加属性和method实现的原理
  • 8.接7,ios8编译的app能在ios10(或其他)上运行,如果NSObject修改了,为什么还能正常运行。
  • 9.Xcode中按下运行按钮到App打开,整个的过程,编译过程每一步的产物
  • 10.浏览器输入URL按下回车后的整个过程
  • 11.DNS哪一层的协议,用TCP还是UDP
  • 12.接11,TCP和UDP的区别
  • 13.三次握手的过程,过程中协商了什么;四次挥手过程,为什么握手三次挥手四次
  • 14.为什么要有虚拟内存,为什么分段和分页
  • 15.进程线程的区别,进程之间线程之间内存隔离吗
  • 16.接15,进程间通信的方式,使用过哪些,socket编程用过吗
  • 17.学习iOS过程中的难点,怎么学的
  • 18.点击事件的响应过程了解吗
  • 19.写个题,遍历子view,奇数偶数层分别染色,分别用递归迭代,我递归用了一个参数来标识奇数偶数层,问能不能优化掉
  • 20.思维题,十个物品,九个100g,一个90g,只有一个天平,用最少次数找出这一筐;再加一个条件,如果可以使用任意质量的砝码,如何优化。
  • 21.你有什么问题

十几分钟后二面

二面

  • 1.OC比起C增加了什么,有哪些东西依赖runtime或者是由runtime实现的
  • 2.接1,提醒我还有面向对象的这部分,面向对象的三个特性,那么是怎么实现的怎么构建起来的,我回答了对象类对象metaclass的相对的结构
  • 3.接2,对象的ivar的存在哪,是根据什么生成的,类对象有ivar吗
  • 4.看过哪些OC的源码,直接看的源码还是对照一些文章,都在哪找这些文章,看过什么OC的书,语法是怎么学的,接触OC的时间
  • 5.iOS和Android的App不能通用,分析一下为什么
  • 6.了解过什么跨平台的技术
  • 7.做个题,F()有0.3的概率返回0,0.7的概率返回1,设计一个函数G(),只能使用F(),使G()等概率返回0和1
  • 8.接7,只能使用F()和G()设计一个函数,等概率返回[0, 1000]的整数
  • 9.进程的内存空间,分别存什么
  • 10.接9,函数调用的时候为什么要把寄存器的值压入栈,都有哪些要压进去
  • 11.进程和线程,区别,分别有什么资源,进程切换的过程
  • 12.这学期课多吗,都有啥,实习的话什么时候可以来,考研吗,为什么
  • 13.闲聊~~