面试题目汇总
磁盘缓存最好是把 SQLite 和文件存储结合起来:key-value 元数据保存在 SQLite 中,而 value 数据则根据大小不一样选择 SQLite 或文件存储。
复制代码
本身封装一个网络,若是离开A页面去了B页面,那么A页面的网络请求怎么当即取消
复制代码
分流三种。
1,集群 - 将并发请求分配到不一样的服务器上,能够是业务服务器,也能够是数据库服务器。
2,分布式 - 分布式是把单次请求的多项业务逻辑分配到多个服务器上,这样能够同步处理不少逻辑,通常使用与特别复杂的业务请求。
3,CDN - 在域名解析层面的分流,例如将华南地区的用户请求分配到华南的服务器,华中地区的用户请求分配到华中的服务器。
复制代码
1) drawRect
2) layer.shouldRasterize = true;
3) 有mask或者是阴影(layer.masksToBounds, layer.shadow*);
3.1) shouldRasterize(光栅化)
3.2) masks(遮罩)
3.3) shadows(阴影)
3.4) edge antialiasing(抗锯齿)
3.5) group opacity(不透明)
4) Text(UILabel, CATextLayer, Core Text, etc)...
光栅化(rasterization)
假定屏幕分辨率为1920×1080,在二维屏幕渲染(光栅化)时,内存中frame buffer只保存着1920×1080个屏幕点的颜色,而后一个一个的画到屏幕上。(它的实现方式是以一个1920×1080长的一维数组储存每一个顶点的RGB颜色,而后遍历数组画出来)
什么X, Y, Z,什么alpha之类的frame buffer都没有的,在frame buffer里只有3个值:R, G, B。
X, Y, Z, alpha等等属性要在另外的地方存储。
光栅化,就是计算出1920×1080这么长的RGB数组中,每个RGB的值。
复制代码
OOA(Object Oriented Analysis) --面向对象分析
OOD(Object Oriented Design) --面向对象设计
OOP(Object Oriented Programming)--面向对象编程
复制代码