• iOS-底层常见的面试问题


    OC语法相关的面试

    今天先提出一些我们常见的语法面试问题。
    然后根据这些问题去思考去分析底层的原理,以及为什么这么设计好处是什么呢?
    在接下的的博客中我会一一为大家讲解

    一.对象的本质

    • 一个NSObject对象占用多少内存?
    • OC对象的分类?
    • 对象的isa指针指向哪里?
    • OC的类的信息存放在哪里?

    二.KVO

    • KVO的本质是什么?
    • 如何手动触发KVO
    • 直接修改成员变量会触发KVO么?

    三.KVC

    • 通过KVC修改属性会触发KVO么?
    • KVC的赋值和取值过程是怎样的?原理是什么?

    四.Category

    • Category的使用场合是什么?
    • Category的实现原理?
    • CategoryClass Extension的区别是什么?
    • Category中有load方法吗?load方法是什么时候调用的?load 方法能继承吗?
    • loadinitialize方法的区别什么?它们在category中的调用的顺序?以及出现继承时他们之间的调用过程?
    • Category能否添加成员变量?如果可以,如何给Category添加成员变量?

    五.Block

    • block的原理是怎样的?本质是什么?
    • __block的作用是什么?有什么使用注意点?
    • block的属性修饰词为什么是copy?使用block有哪些使用注意?
    • block在修改NSMutableArray,需不需要添加__block
    • 有几种类型的block?分别是哪些呢?

    之后可能会扩展的 待补充

    六.

  • 相关阅读:
    ThinkPHP5跨控制器调用
    ThinkPHP5显示数据库字段内容
    使用ThinkPHP5连接数据库
    详解shell中>/dev/null 2>&1到底是什么
    算法
    设计模式简介
    python面试题
    python-基础介绍
    python第二天-linux权限管理
    Python全栈考试-部分试题(精选)
  • 原文地址:https://www.cnblogs.com/junhuawang/p/13475857.html
Copyright © 2020-2023  润新知