前言:小编私人分享一个微信资源共享群群里:有iOS经典面试题、底层原理资料、面试必问底层技术资料、开发过程中的加密底层实现、开发实战框架-RAC 与 RXSwift、音视频开发与直播技术、 AR 特效开发与底层原理、常用框架底层原理分析
加我备注要什么资料,会免费分享的正文:
面试题1:
1.CoreFundation框架中的CFRelease函数作用是什么?
A. 让对象的引用计数器减一 B.直接释放指针指向的堆区域数据
答案B
面试题2:
2.CFRelease函数和free函数有什么区别?原因是什么?
答案:在CoreFundation框架中提供的CFRelease函数专门用来释放CoreFundation的结构体指针。CFRelease和free都是释放内存空间。但是
free有可能存在内存泄露,释放不干净。
因为:CoreFundation框架中的结构体内部也许还有指针指向堆区域,如果直接free会导致那部分堆区域无法释放,引起内存泄露。
面试题3:
线程和进程的区别?
1. 每个应用程序都会一一对应一个进程,在内存中会占据一块存储空间
PID就是进程ID的. 从上图可以看出每一个程序运行的时候, 在内存中多会对应的进程ID.
2. 进程在执行任务的时候,会开启线程,一条线程就代表一个任务,进程中可以开启多条线程, 所以可以同时执行多个任务
面试题4:
集成测试通常都有那些策略?
1、在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
2、各个子功能组合起来,能否达到预期要求的父功能;
3、一个模块的功能是否会对另一个模块的功能产生不利的影响;
4、全局数据结构是否有问题;
5、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。
网友评论