如果没有这188道面试题,疫情过后我就转行了

248 阅读12分钟

序言

献给还在奋斗的朋友

188道面试题

1、swift和oc的区别
2、编译链接
3、synthesize & denamic
4、在项目开发中常用的开发工具有哪些?
5、UITableView & UICollection
6、NSProxy & NSObject
7、Object & Swift
8、传值通知&推送通知(本地&远程)
9、第三方库&第三方平台
10、NSCache & NSDcitionary
11、UView的setNeedsDisplay和setNeedsLayout方法
12、UlLayer & UIView
13、layoutSubViews & drawRects
14、UDID & UUID
15、CPU & CPU
16、点(pt) &像素(px)
17、属性与成员变量
18、int和NSInteger的区别
(1) importOInclude

(2) Cciss

(3)全局&静态变量
19、类和对象
(1)分类拓展协议中哪些可以声朝网型?

(2)继承和类剧的区刷

(3)分类的作用

(4)分类的局限性
20、category & extension
  1. Foundation
(1)字符串
(2)字特串截双
(3)格式

22、NSArray和NSDictionary

(1) 1os遍历数细字典的方法
(2) NSValue NSNumber
(3)其它
(4)如何避免循环引用
23、CFSocket使用有哪几个步骤
24、Core Foundation中提供了哪几种操作Socket的方法?
25、解析XML文件有哪几种方式?
26、什么是沙盒模型?哪些操作是属于私有api范畴?
27.在-个对象的方法里面: self.name= "object";和name ="object"有什么不同吗?
28、请简要说明viewDidL oad和viewDidUnload何时调用
29、创建控制器、视图的方式
30、简述内存分区情况
31、队列和栈有什么区别
32、iOS的系统架构
33、控件主要响应3种事件
34、xib文件的构成分为哪3个图标?都具有什么功能
35、简述视图控件器的生命周期
36、app项目的生命周期
(1)应用的生命周丽
(2)荷要说明一下APP的启动过程, main文件说起。maln函数中有什么函数?作用是什么?
(3) upplcstionMain函数t用
(4) main函数作用
37、动画有基本类型有哪几种;表视图有哪几种基本样式。
38、实现简单的表格显示需要设置UITableView的什么属性、实现什么协议?
39、Cocoa Touch提供了哪几种Core Animation过渡类型?
40、UView与CLayer有什么区别?
41、Quatrz 2D的绘图功能的三个核心概念是什么并简述其作用
42、iPhone OS主要提供了几种播放音频的方法?
43、使用AVAudioPlayer类调用哪个框架、 使用步骤?
44、有哪几种手势通知方法、写清楚方法名?
45、ViewController的didReceiveMemoryWarning怎么被调用
46、什么时候用delegate,什么时候用Notification?
47.用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
48、写一个"标准"宏MIN,这个宏输入两个参数井返回较小的一个。
49、关键字const有什么含意?修饰类呢?static的作用,用于类呢?还有extern c的作用
50、关键字volatile有什么含意?并给出三个不同的例
51.一个参数既可以是const还可以是volatile吗? -个指针可以是volatile吗?解释为什么。
52、static关键字的作用
53、列举几种进程的同步机制,井比较其优缺点。
54、进程之间通信的途径
55、进程死锁的原因
56、死锁的4个必要条件
57、死锁的处理
58,cocoa touch框架
59、自动释放池是什么,如何工作
60、sprint,strcpy,memcpy使用. 上有什么要注意的地方
61.你了解svn,cvs等版本控制工具么?
62、什么是push
63,静态链接库
64、0C三大特性
65、OC中如何实现多态
66、Objective- C的优缺点
67.对于OC,你认为最大的优点和最大的不足是什么?对于不足之处,现在有没有可用的方法绕过这些不足来实现需求。如果可以话,有没有考虑或者实现过重新实现OC的功能,如果有,具体怎么做?
68、oc中可修改和不可以修改类型
56、死锁的4个必要条件
57、死锁的处理
58、cocoa touch框架
59、自动释放池是什么,如何工作
60、sprint,strcpy,memcpy使用. 上有什么要注意的地方
61.你了解svn,cvs等版本控制工具么?
62、什么是push
63,静态链接库
64、0C三大特性
65、OC中如何实现多态
66、Objective- C的优缺点
67、对于OC,你认为最大的优点和最大的不足是什么?对于不足之处,现在有没有可用的方法绕过这些不足来实现需求。如果可以话,有没有考虑或者实现过重新实现OC的功能,如果有,具体怎么做?
68、oc中可修改和不可以修改类型
69、我们说的oc是动态运行时语言是什么意思?
70、通知和协议的不同之处?
71、什么是推送消息?
72、关于多态性
73、什么是谓词?
74、做过的项目是否涉及网络访问功能,使用什么对象完成网络功能?
75、简单介绍下NSURLConnection类及+sendSynchronousRequestreturningResponseerror:与-initWithRequestdelegate:两个方法的区别?
76、谈谈Object-C的内存管理方式及过程?
77、Object-C有私有方法吗?私有变量呢?
78、说说响应链
79、时间传递&响应者链
80、frame和bounds有什么不同?
81、方法和选择器有何不同?
82、OC的垃圾回收机制?
83、什么是延迟加载?
84、是否在-个视图控制器中嵌入两个tableview控制器?
85、一个tableView是否可以关联两个不同的数据源?你会怎么处理?
86、什么时候使用NSMutableArray,什么时候使用NSArray?
87、给出委托方法的实例,井且说出UITableVlew的Data Source方法
88、在应用中可以创建多少autorelease对象,是否有限制?
89、如果我们不创建内存池,是否有内存池提供给我们?
90、什么时候需要在程序中创建内存池?
91、类NSObject的那些方法经常被使用?
92、什么是简便构造方法?
93、如何使用Xcode设计通用应用?
94、UMiew的动画效果有那些?
95、Object-C有 多继承吗?没有的话用什么代替?cocoa中所有的类都是NSObject的子类
96、内存管理Autorelease、retain、 copy, assign的set方法和含义?
97、C和obj-c如何混用
98、类别的作用?继承和类别在实现中有何区别?
99、类别和类扩展的区别。
100、oc中的协议和java中的接口概念有何不同?
101、深拷贝与前拷贝区别
(1)什么是深将贝浅拷贝
(2)字符事什么时候使用cpy.strong
(3)字符串所在内存区域
(4) mutablecopy和copy @property(copy) NSMutableArray tarr;这
样写有什么问题
(5)如何让自定义类可以使用opy修饰行
102、对于语句NSString*obj = [INSData alloc] init];obj在编译时和运行时分别时什么类型的对象?
103、#import 跟#include又什么区别,@class呢, #import<>跟#import""又什么区别?
104、Objective C的类可以多重继承么?可以实现多个接口么?Category是什么?重写-个类的方法用继承好还是分类好?为什么?
105、#import 跟#include又什么区别,@class呢,#import<>跟#import""又什么区别?
106、写一个setter方 法用于完成@property(nonatomic,retain)NSStringname,写-个setter方法用于完成@property(nonatomic, copyNSStringname
107、常见的Objective C的数据类型有那些,和C的基本数据类型有什么区别?如: NSInteger和int
108、id 声明的对象有什么特性?
109、Objective- C如何对内存管理的,说说你的看法和解决方法?
110,原子(atomic)跟非原子{non- atomic)属性有什么区别?
111.看下面的程序,第一个NSLog会输 出什么?这时str的retainCount是多少?第二个和第三个呢?为什么?
112、内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象需要手动释放?在和property结合的时候怎样有效的避免内存泄露?
113、如何对iOS设备进行性能测试?
114、设计模式
(1) mvc模式
(2)单间视式
(3) mw模式
(4)观察者模式
(5)工厂视式
(6)代理模式
(7)萧略根式
(8)适配邵模式

(9)模版模式
(10)外观模式
(11)创建视式
(12) MVP模式
115、MWM模式原理分析
116、说说常用的几种传值方式
117、什么时候用delegate,什么时候用Notification
118、对于单例的理解
119.从设计模式角度分析代理,通知和KVO区别? iosSDK提供的framework使用了哪些设计模式,为什么使用?有哪些好处和坏处?
120、KVo, NSotification, delegate及block区别
121、运行时(runTime)
122、runtime/消息转发机制
(1) runtme
1.1.什么是rundime
1.2. runtmwT什么用。使用场量
(2)酒息机制
2.1.消息转发的原理.
2.2. SEL u super cma是什么
(3)动态邮定
123、使用bugly进行崩溃分析
124、jenkens持续打包
125、KVo & KVC
(1)庭层实理
2) KVO微述
(3) KVC概述
126、什么是KVO和KVC?
KVOORVC
(1)如何调用私有变量,如何修改系快的只达园性,KVO的古找顺序
(2)什么是键值健路轻是什么
(3) kvo的实现机制
(4) K/O计算属性,设置依赖健
(6) KO集合属性
(6) kwvo使用场景
127、SDWeblmage(SDWeblmage的实现机制)
(1)主要功的
(2)根存
向)内存根存与限盘编存
128、框架SDWebimage的缓存机制
129、网络安全軎码的安全原则
130、多线程
(1) 多线程概士
(2)多站程的作用
(3)使用场最
131、NSOperationQueue和CCD的区别是什么
124、jenkens持续打包
125、KVo & KVC
(1)庭层实理
(2) KVO微述
(3) KVC概述
126、什么是KVO和KVC?
KVOORVC
(1)如何调用私有变量,如何修改系快的只达园性,KVO的古找顺序
(2)什么是键值健路轻是什么
(3) kvo的实现机制
(4) K/O计算属性,设置依赖健
(6) KO集合属性
(6) kwvo使用场景
127、SDWeblmage(SDWeblmage的实现机制)
(1)主要功的
(2)根存
(3)内存根存与限盘编存
128、框架SDWebimage的缓存机制
129、网络安全軎码的安全原则
130、多线程
(1) 多线程概士
(2)多站程的作用
(3)使用场最
131、NSOperationQueue和CCD的区别是什么?
132、CCD与NSThread的区别
133、进程和线程的区别与联系是什么?
134、别异步执行两个耗时操作,等两次耗时操作都执行完毕后,再回到主线程执行操作.使用队列组(dispatch group. t )快速,高效的实现.上述需求
135、在项目什么时候选择使用GCD,什么时候选择NSOperation?
136、对比iOS中的多线程技术
137、多线程优缺点
138、iOS中的延迟操作
139、串行队列同步执行和异步主队列
140、资源抢夺解决方案
141、dispatch barrier_ async 的作用是什么?
142、在多线程Core Data中,NSC,MOC.NSObjectModel哪些需要在线程中创建或者传递?你是用什么策越来实现的?
143、+(void)load与 +(voidJinitialize区别
108d和Intisize方法的区则
144、http的post与 区别与联系,实践中如何选择它们
145、说说关于UDP/TCP的区别?
146、http和scoket通信的区别?socket连接相关库,TCPUDP的连接方法,HTTP的几种常用方式?
147、HTTP请求常用的几种方式
148、block
(1)使用b/ock时什么情况会发生引用循环,如何解决?
(2)在block内如何修3b0ock外部变量?
(3) Block & MRC-B10ock
(4)什么是b/ock
(5) block实现原理
(6)关于b/ock
(7)使用b/ock和0用bdelgst妇完成委托模式有什么优点
(8)多线程与b10ck
(9)读读对Block 的理款并写出一个饱用 Block执行UIVew动画?
(10)写出上面代码的Block的定义(接上图)
149、Weak、strong、 copy. assign 使用
(1) f么情况使用weak关键字相比essign 有什么不同?
(2)怎么用copy关键字?
(3) weak & strong
(4) 这个写法会出什么问题: @property (copy) NSMutablArray
array
(6)如何让自己的类用copy修饰符?如何重写帶copy关键宇的
setter?
(6) @property 的本质是什么7 Iwvar, getter, setter是如何生成并潘
加到这个类中的
(7) Ivar, getter, setter 是如何生成并添加到这个类中的?
(8) @property声明的NSString (NSArrey, NSDIctonary) 经常
使脉coy关键字,为什么?如果改用strong关键字,可能造成什么问题?
(9) @protocol和category中如何使用@property
(10) runtimne如何通Irselector找到对应的MP地址?
(11) retslnIcopy区别
(12) copylistrong的使用?
(13) NSStringONSMutableString,前古线程安全,后者线程不安
全。
(14) readwitte, resdony, ssign, retain, copy, weak
,strong.nonstomlc属性的作用

150、0C与JS的交互(ios与H5混编)

TableView:性的优化
UTableVew核心思想
UTEbloWew的优化主要从三个方面入手:

151、TableView为什么会卡?

152、UITableView

(1) urableVew量核心的思想
(2)定义高度
(3)自定义高度原理
(4)者生常谈之2U7ableVew的性能优化
(5) cell高度的计算
(5.1)定高的oel和动态高度的osll
(6) TableVew渣染
(7)减少视图的数目
(8)减少多余的始制操作
(9)不要给cn动志添加suDVow
(10)异步ftuI,不要阳本主线程
(11)滑动时按需如载对应的内容
(12)离屏渲染的问题
(13)高屏渣染优化方案

由于文章太长只写了152道

温馨提示,每道面试题都有相对于的答案哦!