iOS 基础面试题汇总

 

系统学习推荐一些经典书籍:
《Effective Objective-C 2.0》
《Objective-C 高级编程》
《剑指Offer》
《程序员的自我修养》

本文收录了一些 iOS 常见的面试题目,重点是要理解其背后原理实现,知道其具体应用场景。

1.Runloop 的实现原理和数据结构,及其应用?

包括 Runloop 与线程的关系,Runloop 的 Mode 等

参考:深入理解 Runloop

2.谈谈对 runtime 的理解,及其应用, 为什么称 OC 为动态语言?

包括 isa 指针, SEL,  IMP,MetaClass,objec_msgSend, Method Swizzling,Objective-C Associated Objects 等

参考:iOS Runtime 详解Objective-C runtime

3.内存管理 ARC, MRC

包括内存泄露,野指针,循环引用,内存泄露调试工具,堆,栈等

参考:iOS 内存管理详解

4.iOS 消息传递机制

参考:iOS 消息传递机制

5.多线程,哪些场景需要开辟线程?

包括 NSTread, NSOperationQueue,CGD,同步锁,主线程刷新 UI,

同步,异步,并行,串行

参考:iOS 中的多线程技术iOS 并行开发系列--并行开发其实很容易

6.Autoreleasepool 原理和使用场景

参考:黑幕背后的 Autoreleasepool

7.App 的启动过程

参考:深入理解 iOS App 的启动过程

8.UIViewController 生命周期

参考:探究 UIViewController 生命周期

9.UIView 的绘制流程

包括 init, initwithcode, awake, layoutsubviews, drawrect 等方法的调用顺序,使用xib, storyboard 的调用顺序

setNeedsDisplay, layoutIfNeeded,hittest, pointinside

参考:谈谈 layoutSubviews 和 drawrectUIView 的 hitTest 和pointInside 方法

10.UIView 的 layer

包括 anchorPoint,position,动画

参考:iOS 开发系列--让你的应用动起来

11.Block 本质

包括 __weak 和 __block,循环引用问题

参考:iOS Block 用法和实现原理

12.property 和 ivar 的区别

包括属性关键字 strong,weak,assign, retain, copy, atomic, nonatomic,readonly, readwrite

参考:iOS 开发 @property 和 ivar 的区别OC MRC 成员变量, property, synthesize, dynamic

13.KVO 和 KVC,Delegate,单例, Notification等设计模式

14.static, const, extern 关键字的作用

参考:OC 中的 static,const,extern 的理解

15.Category 和 Extension, Protocol

16.iOS中常用的数据存储方式有哪些?

包括 NSUserDefault,KeyChainplist,Archive(归档),SQLite,CoreData

17.iOS的沙盒目录结构是怎样的?

面试题参考:

  1. 2018 iOS 面试题及答案

猜你喜欢

转载自blog.csdn.net/LeeCSDN77/article/details/84952880
今日推荐