将来跳槽用iOS DevelopmentiOS Developer

那些用烂了却一直出现在面试中的经典面试题合集(三)

2018-03-05  本文已影响347人  _小迷糊_997

前言:小编私人分享一个微信资源共享群群里:有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、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。

上一篇 下一篇

猜你喜欢

热点阅读