iOS 超全各类型经典面试题

设计模式面试题
多线程面试题
数据安全及加密
内存管理面试题
UI相关面试题
Runtime面试题
Runloop面试题
Block面试题
OC底层面试题
Animation面试题
网络相关面试题
性能优化面试题
数据结构与算法

一、编程中的六大设计原则?

1.单一职责原则 通俗地讲就是一个类只做一件事
 CALayer:动画和视图的显示。
 UIView:只负责事件传递、事件响应。
2.开闭原则 对修改关闭,对扩展开放。 要考虑到后续的扩展性,而不是在原有的基础上来回修改
3.接口隔离原则 使用多个专门的协议、而不是一个庞大臃肿的协议  UITableviewDelegate  UITableViewDataSource
4.依赖倒置原则 抽象不应该依赖于具体实现、具体实现可以依赖于抽象。 调用接口感觉不到内部是如何操作的

5.里氏替换原则 父类可以被子类无缝替换,且原有的功能不受任何影响。例如 KVO 6.迪米特法则 一个对象应当对其他对象尽可能少的了解,实现高聚合、低耦合

二、如何设计一个图片缓存框架?

可以模仿 SDWebImage 来实现。 构成
 Manager
 内存缓存
 磁盘缓存
 网络下载
 Code Manager
 图片解码
 图片解压缩
图片的存储是以图片的单向 hash 值为 Key 内存设计需要考虑的问题 存储的 Size 因为内存的空间有限,我们针对不同尺寸的图片,给出不同的方案
 10K 以下的 50 个
 100Kb 以下的 2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值