KG面试题(iOS)

118 阅读1分钟

1.属性修饰符(***)

  • delegate 为什么用weak修饰

  • weak 与 assign 有什么区别

  • weak 实现原理 哈希表

2.block 为什么要用copy修饰,用assign 修饰会产生什么问题(***)

3.__block用来做什么的(**)

  • 底层实现原理(答到forwarding指针即可)

  • static 属性 捕获外部变量么?

  • 3.2与3.3 同时考察 是否arc下 捕获外部变量。block内存地址是否 一定是由 栈空间 copy到堆空间?

4.autorealsepool原理(*)

  •  何时创建与释放

  • 子线程临时对象什么时候释放(拓展同8题)

5.category 可以添加 属性么?(***)

  • 成员变量 ? 

  • 如何添加成员变量 关联对象 

6.事件传递与响应者

7.多线程的使用(***)

  • 死锁问题如何产生
  • 3种使用方式的区别
  • 队列、执行。是否开启线程等相关小问题

8.Runloop(**)

  • runloop干什么用的?

  •   * 保证程序不退出
      * 负责处理输入事件
      * 如果没有事件发生,让程序进入休眠状态
    
  • 子线程既然默认没有开启runloop,那么子线程中的对象、临时变量何时被销毁(拓展)suhou.github.io/2018/01/21/…

9.iOS平时都是用过什么调试技巧?(*)

10.您都了解哪些锁 能大体说一说么

11.iOSNSString类分别实现不同分类的同一个方法

1.项目中遇到什么问题,如何解决****(体现你在团队中扮演什么角色)

2.职业规划***(考察可塑性)

3.性能优化 **

4.产品从需要初期到上线那***