iOS 面试基础知识篇

2024-05-06  本文已影响0人  Edviin_2de8

1,介绍常用的设计模式,例如中介者模式,外观模式,MVC MVVM 模式

不同的的设计模式的目的就是,简化设计 避免造很多的轮子,,降低代码的耦合度,便于维护和扩展,增加代码的灵活性,促进代码的复用,以及增加代码可读性,提高工作效率

MVC和MVVM
model-即数据模型,view-视图展示,controller进行UI展现和数据交互的逻辑控制,MVVM 其实是一个mvc 的增强版,从controller的讲逻辑控制的代码分离到的viewmodel中用户管理view和model之间的逻辑控制,更加抽象,减少了controller 的复杂性,MVC 提供了明确的逻辑控制,而MVVM更注重数据的绑定和解耦吧

2, cpu 以及GPU介绍,cpu 如何调用gpu

cpu是中央处理器,主要负责大多数的计算和逻辑控制,适用于顺序执行的任务以及一些复杂逻辑的运算,在ios中通常用户程序的逻辑控制,数据处理ui交互,以及一些一般计算任务
gpu是图形处理器,最初设计用户处理图形和渲染任务,更擅长并行的计算,在ios中通常用用于图形渲染,图像处理,
iOS主要是通过 UIKit,core animation, metail , scencekit 等底层库通过cpu 将指令传输到gpu进行渲染和处理

3,Get 和 Post的区别,http 个版本有什么区别,?http协议和Tcp 协议有什么区别

Get 和 post 是http协议中的两种请求方法,都用于客户端与服务器之间数据传输,区别在于

http 是应用层协议,定义客户端和服务器之间的通信规则,报错请求/响应的格式,方法状态码等
https 相对于HTTP在安全性能上通过SSL/TLS进行了增强,对数据进行了加密,和认证

http和https 的区别
http 特点
https 特点

tcp 是传输层协议,负责数据的传输,包括对数据报的分段,传输,重传确认等
在http1/2中,客户端和服务器是tcp进行的通信,http3是基于QUIC协议,QUIC是基于UDP的传输协议,是结合TCP和UDP的一种传输协议

3次握手和4次挥手是描述网络协议中的链接建立和中止的过程,特别是tcp

FIN

4.内存缓存策略有哪些,NSCache 使用的是什么缓存策略

NSCache 应该使用的LRU,有内存压力下,淘汰最近最少使用的数据,还支持自动内存管理,及自动释放数据环节内存压力,还可以兹定于缓存限制,线程安全,支持弱应用,能够保证对象的自动释放

5,图片格式有哪些,有什么区别

常见的图片格式有 jpg,png,bmp ,TiFF,webp,svg等,JPEG适用于照片和复杂图像,PNG适用于需要透明度的图像,GIF常用于简单动画,BMP 和 TIFF适用于高质量图像,webp 适用于网页图片,svg适用于矢量图和可缩放的图像。

6,如何计算一个像素点的大小以及一张图片的大小

像素点的存储大小一般是 颜色深度除以8,颜色深度表示需要多少位来表示颜色,通常是8位 16位 24 或者32位,常用的RGB 是24位,红绿蓝各8位,而RGBA 这是32位 多了一个透明度,
图片的代销这是宽度X高度X像素点大小 ,例如一张1920 * 1080的rgb颜色深度为24位, 图片大小为 1920 * 1080 * (24/8) = 2220800字节 约等于 8M

上一篇下一篇

猜你喜欢

热点阅读