分享之前的优酷iOS面试题,供大家参考。
1、项目介绍、难点介绍、如何解决、现有用户量、崩溃率、如何改进?
2、静态库和动态库的区别
不同点:
- 静态库在链接时,会被完整的复制到可执行文件中,如果多个App都使用了同一个静态库,那么每个App都会拷贝一份,缺点是浪费内存。类似于定义一个基本变量,使用该基本变量是是新复制了一份数据,而不是原来定义的;
- 动态库不会复制,只有一份,程序运行时动态加载到内存中,系统只会加载一次,多个程序共用一份,节约了内存。类似于使用变量的内存地址一样,使用的是同一个变量;
共同点:
- 静态库和动态库都是闭源库,只能拿来满足某个功能的使用,不会暴露内部具体的代码信息
3、100×100图片,估算占多少内存?
长*宽*4,RGBA占4字节
https://www.jianshu.com/p/cd8f2692e064
https://www.jianshu.com/p/c2c7f2c79e53
4、图片内存压缩方法
https://blog.csdn.net/Summer_And_Opencv/article/details/88306886
5、ios 点和像素的区别
在iOS中,point独立于物理设备的逻辑坐标单位。iPhone 4之前non-retina屏幕的设备,一个point就代表一个像素;从iPhone 4到iPhone 7,采用retina屏幕;一个point,代表2X2个像素;Plus的设备,一个point代表3X3个像素。
6、图像渲染原理
https://www.jianshu.com/p/a81d48e0e44a
7、是否熟悉其它语言、flutter、RN、weex等
8、100*100的图片,在iphone4s上,设置最大frame为多少?才不会明显模糊