2020年面向iOS开发的知识点总结

Runloop

1.iOS中触摸事件传递和响应原理

2.为什么只有主线程的runloop是开启的

3.为什么只在主线程刷新UI

4.PerformSelector和runloop的关系

5.GCD 在Runloop中的使用?

6.AFNetworking 中如何运用 Runloop?

Runtime

1.Category 的实现原理?

2.isa指针的理解,对象的isa指针指向哪里?isa指针有哪两种类型?

3.Objective-C 如何实现多重继承?

4.runtime 如何实现 weak 属性?

5.Objective-C 的消息机制如何理解?

6.runtime具体应用

7.runtime如何通过selector找到对应的IMP地址?

8.简述下Objective-C中调用方法的过程

9.怎么理解Objective-C是动态运行时语言。

KVO

1. 实现原理

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

3. 哪些情况下使用kvo会崩溃,怎么防护崩溃

4. kvo的优缺点 

Block

1. block的内部实现,结构体是什么样的

2. 一个int变量被__block修饰与否的区别?

3. block在修改NSMutableArray,需不需要添加__block

4. block怎么进行内存管理的

5. Block怎么被copy到堆上

6._block 在 ARC 和 MRC 下含义一样吗?

多线程

1. iOS开发中有多少类型的线程?分别举例

2. GCD 队列类型

3. 如何实现线程同步,有多少方式就说多少

4. dispatch_once实现原理

5. 什么情况下会死锁

架构设计

1. MVC、MVP、MVVM设计模式

2. 常见的设计模式

3. 单例的利弊

4. 如果保证项目的稳定性

5. 设计一个图片缓存框架(LRU)

数据结构

1.数据结构的存储一般常用的有几种?各有什么特点?

2.集合结构 线性结构 树形结构 图形结构

3.单向链表 双向链表 循环链表

4.数组和链表区别

5.堆、栈和队列

6.输入一棵二叉树的根结点,求该树的深度?

7.输入一棵二叉树的根结点,判断该树是不是平衡二叉树?

算法

1.时间复杂度

2.空间复杂度

3.常用的排序算法

4.字符串反转

5.链表反转(头差法)

6.有序数组合并

7.查找第一个只出现一次的字符

8.查找两个子视图的共同父视图

9.无序数组中的中位数(快排思想)

10.给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

Foundation

1.nil、Nil、NULL和NSNull之间的区别 

2.如何实现一个线程安全的 NSMutableArray?

3.atomic 修饰的属性是绝对安全的吗?为什么?

4.实现 isEqual 和 hash 方法时要注意什么?

5.id 和 instanceType 有什么区别?

6.self和super的区别

7.@dynamic与@synthesize的区别

Swift

1.Swift 和OC 如何相互调用?

2.struct和class的区别

3.class 和 struct 的优势

4.访问控制关键字 open, public, internal, fileprivate, private 的区别?

5.说明并比较以下关键词:strong, weak, unowned

6.如何将Swift 中的协议(protocol)中的部分方法设计为可选(optional)?

7.Swift的尾随闭包、逃逸闭包、自动闭包

UIKit

1.UIView 和 CALayer 是什么关系?

2.Bounds 和 Frame 的区别?

3.谈谈对UIResponder的理解

4.loadView方法的使用

5.keyWindow 和 delegate的window有何区别

动画

1.UIView动画与核心动画的区别?

2.当我们要做一些基于 CALayer 的动画时,有时需要设置 layer的锚点来配合动画,这时候我们需要注意什么?

图像处理

1.图像的压缩方式有哪些?

2.如何计算图片加载内存中所占的大小

数据安全及加密

1.对称加密和非对称加密的区别?

2.简述 SSL 加密的过程用了哪些加密方法,为何这么做?

3.iOS的签名机制是怎么样的

组件化

1.组件化有什么好处?

2.你是如何组件化解耦的?

3.为什么CTMediator方案优于基于Router的方案?

4.基于CTMediator的组件化方案,有哪些核心组成?

调试技巧

1.LLDB常用的调试命令?

2.断点调试

3.iOS 常见的崩溃类型有哪些?

源码理解

1.YYKit

2.SDWebImage加载图片过程

3.YYWebImage 与 SDWebImage 的比较

4.AFNetworking 底层原理分析

代码管理

1.SVN与Git优缺点比较

持续集成

1.你在项目中使用过什么持续集成方式?

2.jenkins怎么备份恢复

3.jenkins你都用了哪些插件?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容