- 1
- 0
- 约4.59千字
- 约 7页
- 2026-10-12 发布于河北
- 举报
iOS初级开发面试题及详细答案(真实职场版)
本套面试题适配iOS初级开发者,涵盖OC/Swift基础、UI开发、内存管理、多线程、项目实战、常见问题排查等企业高频面试考点,答案贴合实际开发场景,通俗易懂,无书面化生硬套话。
一、OC基础核心面试题
1.简述OC中栈区、堆区、全局区的区别,以及日常开发中对应的使用场景
答案:
栈区:系统自动分配、自动释放,内存空间小、速度快。所有基本数据类型、局部变量都存放在栈区。函数调用、代码块执行结束后,栈区变量会立刻销毁,不会产生内存泄漏。
堆区:需要开发者手动管理内存(MRC)或依赖自动管理(ARC),空间大、速度慢。所有OC对象、动态开辟的内存都在堆区。堆区对象不会随函数结束销毁,需要依靠引用计数管理,也是项目中内存泄漏的主要来源。
全局区:存放全局变量、静态static变量,程序启动开辟、程序结束才释放。整个项目生命周期内常驻内存,多处调用不会重复创建,适合存放全局配置、通用常量。
2.ARC下strong、weak、assign、copy的区别及使用场景
答案:
strong:强引用,持有对象,引用计数+1。只要有强引用指向对象,对象就不会销毁。是OC对象属性的默认修饰符,日常开发中自定义对象、视图、模型基本都用strong。
weak:弱引用,不持有对象,引用计数不变化。对象销毁后,weak指针会自动置空,不会产
原创力文档

文档评论(0)