其他分享
首页 > 其他分享> > ①(语法篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)

①(语法篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)

作者:互联网

iOS面试题 一共分为笔试题面试题两部分
笔试题 一共分为10个 总共613题
面试题 一共400题
笔试题 一个10个系列 分别为
①(语法篇) 共147题 已更新
②(常识篇) 共72题 2022年02月28更新
③(界面篇) 共83题 2022年02月28更新
④(iOS篇) 共52题
⑤(操作篇) 共68题
⑥(数据结构篇) 共23题
⑦(多线程篇) 共60题
⑧(网络篇) 共22题
⑨(多媒体篇) 共59题
⑩(安全篇) 共27题

请添加图片描述

iOS面试1000题以及答案

笔试题 613题

⭐️①、笔试题-语法篇(147题)

1.与alloc相对应的方法是:[单选题]

2.与retain相对应的方法是:[单选题]

3.@property的作用是申明属性及其特性?:[单选题]

4.@synthesize的作用是自动生成属性的访问器(getter/setter)方法?:[单选题]

5.一个对象的dealloc方法在什么时候被调用:[单选题]

6.分类(categoryes)能够向一个已有的类中添加:[单选题]

7.扩展(extensions)能够在当前类中增加[多选题]

8.协议(protocol)可以分为两种,其中以哪种关键字声明的协议可以不被实现:[单选题]

9.那个类是大多数Objective-C类继承的根类,它没有父类[单选题]

10.代理(delegate)的作用是让一个对象实现另一个对象的方法?[判断题]


11.autorelease的作用是:[多选题]

12.-(void)setName:(Nsstring)NewName{ self.name = NewName}:被调用的结果是:[单选题]

13.在KVC中通用的属性访问器方法是那两个:[多选题]

14.关键字nil在Objective-C中表示:[单选题]

15.#import#include的区别是: #import可以避免文件被多次引用?:[判断题]

16.在Objective-C是否支持运算符重载:[判断题]

17.在Objective-C中能否在头文件申明私有方法:[判断题]

Objective-C关键字说明

Objective-C关键字说明
@private 作用范围只能在自身类
@protected 作用范围在自身类和继承自己的子类,什么都不写,默认是此属性。
@public 作用范围最大,在任何地方
@package 不会被导出到外部, 所以任何试图在这个framework外面访问这些成员变量的类都会得到一个链接错误的结果.

18.在Objective-C中,类的成员变量默认被申明为:[单选题]

19.关于Objective-C++中的异常处理,下面说法最正确的是:[单选题]

20.在对象的dealloc方法中,关于[super dealloc]:语法说法正确的是:[单选题]


21.下面关于方法:[[[object method1]method2] method3:[object method4]];中的method调用的顺序是:[单选题]

22.ARC(Automatic Reference Counting)模式下,下面那个方法是未被禁用的:[单选题]

23.下列对象中不能调用initWithContentsOfFile方法进行构造的是:[单选题]

24.下面哪些关键字会引用对象的引用计数(retainCount)加一:[多选题]

25.在以.mm为扩展名的文件里,可以包含的代码有哪些:[多选题]

26.下面哪些类中使用到了单例(Singletion)模式:[多选题]

27.下面个数据类型中,能够直接放进NSArray数组的有:[多选题]

28.Objective-C的快速枚举对比循环访问的优点,下面说法正确的是:[多选题]

29.OC包含一个自定义的头文件应该使用:[单选题]

30.必须实现的协议方法使用那个关键字声明:[单选题]


31.声明一个方法:提供Student对象数组按照学号升序排序的判断条件:[单选题]

32.OC语法中类的实例变量如果只可以被本类和其子类访问,需要下列那个修饰符:[单选题]

33.关于集合描述不正确的是:[单选题]

34.NSDictionary *dict = [NSDictionary dictionaryWithObject:@"a value" forKey:@"aKey"]; NSLog(@"%@",[dict objectForKey:@“aKey”]);输出什么 :[单选题]

35.向OC控制台输出一个字符串应该用 :[单选题]

36.名为print::的方法有几个传入参数 :[单选题]

37.下列那个选项与@synthesize配合使用 :[单选题]

38.在Objective-C中,所有类的根类是 :[单选题]

39.能准成删除"张三"的代码是 NSMutableDictionary *people = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"张三",@"左护法", nil]; :[单选题]

40.使用OC语言实处"This is Objective-C program."正确的是 :[单选题]


41.协议与委托的描述不正确的是 :[单选题]

42.关于协议描述不正确的是 :[单选题]

43.下面关于概念的描述中,错误的是 :[单选题]

44.在Objective-C中,下面哪些选项是属性的正确声明方式 :[单选题]

45.NSString *name= [[NSString alloc]initWithString:@"张三"]; NSLog(@"%d",[name retainCount]); 以上代码输出的内容是多少:[单选题]

46.不会立刻使引用计数器改变的是:[单选题]

47.OC中的委托最好声明成:[单选题]

48.经过下列哪种操作后需要使用release:[单选题]

49.在OC中的接口声明关键字为:[单选题]

50.-(id)setName:(NSString *)name :(NSString *)sex Age:(Int)age的方法名是:[单选题]


51.将@"2C青年"替换成@"有为青年"的代码是:[单选题]

52.下列回调机制的理解不正确的是:[单选题]

53.在Xcode中,需要编译混合Objective-C和C++的源码文件,需要将文件格式的后缀改为:[单选题]

54.Objective-C声明一个类所要用到的编译指令是:[单选题]

55.下面那个方法不属于NSObject的内省(Introspection)方法:[单选题]

56.使用protocol时,声明一组可选择实现与否的函数,需要在声明的前一行加上:[单选题]

57.下面关于#import#include的描述正确的是:[单选题]

58.下面那个方法可以比较两个NSString *str1, *str2的异同:[单选题]

59.Objective-C有私有方法吗?有私有变量吗?:[单选题]

60.一个类的delegate(代理)的作用不正确的是:[单选题]


61.下面说法不正确的是:[单选题]

62.对于语句NSString *obj = [[NSData alloc]init];obj在编译时运行时,分别是什么类型的对象:[单选题]

63.以下关于类别的作用,说法不正确的是:[单选题]

64.Block不允许修改外部变量的值:[判断题]

65.下面关于Objective-C中的block定义正确的是:[单选题]

66.下列关于iOS开发中类方法的使用描述,错误的是:[单选题]

67.以下那一段代码不会抛出异常:[多选题]

68.关于Swift语言中的常量变量,以下说法正确的是:[多选题]

69.Swift4.0支持哪些输出函数?:[多选题]

70.关于Swift注释,以下说法正确的是:[多选题]


71.Swift布尔类型的值只能是true或者false?:[判断题]

72.Swift语言可以像C语言那样,用 非0表示true,用0表示false?:[判断题]

73.Swift语言可以像Objective-C那样,使用YES表示true,使用NO表示false?:[判断题]

74.关于Swift语言的Double和Float类型,以下说法正确的是:[多选题]

75.关于Swift字符串中的转义符,以下描述正确的是:[多选题]

76.以下对Swift中的Switch条件判断语句描述正确的是:[多选题]

77.Swift的continue语句,用来告诉用户一次循环体停止本次的循环,并立即进入下次的循环:[判断题]

78.以下那个语句,可以运行Swift代码在执行完一个case分支后,跳到下一个case分支中。:[单选题]

79.以下关于Swift语言中的数组,描述错误的是:[单选题]

80.以下关于Swift语言中的字典,描述正确的是:[多选题]


81.对Swift中的函数描述正确的语句是:[多选题]

82.在Swift环境中,无法为函数的参数设置默认值:[判断题]

83.关于Swift语言的函数,以下说法正确的是:[多选题]

84.Swift语言支持将函数作为另一个函数的返回值:[判断题]

85.Swift语言支持将函数作为另一个函数的参数?:[判断题]

86.Swift语言中的函数无法同时返回多个值:[判断题]

87.关于Swift语言的内置函数,以下描述正确的是:[多选题]

88.以下关于Swift语言的枚举类型,描述错误的是:[单选题]

89.以下关于Swift语言的结构体类型,描述错误的是:[单选题]

90.以下关于Swift语言的结构体,描述正确的是:[多选题]


91.以下关于Swift语言的结构体,描述正确的是:[多选题]

92.在Swift环境中,可以为结构体枚举等类型定义静态方法?:[判断题]

93.在为结构体枚举定义静态方法时,可以使用static关键字:[判断题]

94.在为定义静态方法时,可以使用class关键字?:[判断题]

95.Swift和Objective-C一样是通过自动引用计数(ARC)技术,来实现对实例的内存管理的:[判断题]

96.在Swift环境中,继承不同于结构体枚举类型,继承所特有的?:[判断题]

97.Swift的延迟加载属性是指当第一次被调用的时候,才会对其进行初始化操作的属性?:[判断题]

98.在Swift环境中,元组、枚举结构体属于引用类型,而则属于值类型:[判断题]

99.类型检查在Swift中,是使用isas 操作符来实现的?:[判断题]

100.Swift语言中的AnyObject,可以代表人和class类型的实例?:[判断题]


101.Swift语言中的Any可以表示人和类型,除了方法类型(function types)?:[判断题]

102.Swift中的扩展功能(Extension),可以在没有权限获取原始源代码的情况下,扩展某个类型的功能:[判断题]

103.现有的结构体枚举类型的方法。都可以在扩展的帮助下进行添加?:[判断题]

104.在Swift语言中,类型的功能可以使用扩展加入,但重写的功能能不能使用扩展?:[判断题]

105.在Swift语言中,使用扩展可以完成哪些任务?:[多选题]

106.结构体枚举都可以遵循协议,并提供具体实现来完成协议定义的方法和功能:[判断题]

107.以下关于Swift语言中的可选Optional类型,描述正确的是:[多选题]

108.Swift没有Objective-C中的#define__OPTIMIZE__宏定义方法?:[判断题]

109.在Swift中,我们可以给哪些类型定义subscript下标脚本的语法:[多选题]

110.以下关于Swift语言下标说法正确的是:[多选题]


111.Objective-C中的头文件和实现文件,请问.h文件类似C++的.h文件, .m文件类似.cpp文件?:[判断题]

112.Objective-C语言可以和C、C++混合编程吗?:[判断题]

113.Objective-C具有哪些动态特性:[多选题]

114.在Objective-C语言中,除了那几个方法之外创建的对象都是autorelease的?:[多选题]

115.在Objective-C只有单一继承,没有多重继承:[判断题]

116.如果你用Swift 写的class 是继承自NSObject,Swift会自动为所有非private的类和成员加上哪些标记?:[单选题]

117.Objective-C有哪些遍历(迭代)方式:[单选题]

118.如果Category和原始类中的方法名称冲突,则Category将覆盖原始类的方法。因为Category具有更高的优先级?:[判断题]

119.无法向Category中添加实例变量吗?:[判断题]

120.Objective-C的Category可以实现哪些功能?:[多选题]


121.以下哪些情况会在Objective-C中产生异常:[多选题]

122.以下哪些情况会在Objective-C中产生异常?:[多选题]

Mach异常信号说明

Mach异常信号说明。
SIGHUP1
SIGINT2
SIGQUIT3
SIGILL4
SIGATRAP5
SIGABRT6
SIGBUS7
SIGFPE8
SIGKILL9
SIGUSR110
SIGSEGV11
SIGSTOP12

123.Mach异常通常指底层的内核级异常,以下哪些属于Mach异常?:[多选题]

124.最常见Mach异常:EXC_BAD_ACCESS,一般是由于那两种情况造成的:[多选题]

125.Objective-C异常并非真正的异常,但是当一个异常被抛出到最外层还没有被捕获。程序会强行发送那个信号来中断程序:[单选题]

126.如果管理员发现某个进程终止不了,可尝试发送那个信号?:[单选题]

127.在以下列出的信号中,程序不可捕获阻塞忽略的信号有哪两个:[多选题]

128.在以下列出的信号中,默认会导致进程退出的信号有:[多选题]

129.在那个Swift版本中,Apple向开发者提供了两个类 JSONENcoderJSONDecoder,使对象和JSON之间进行转换:[单选题]

130.Swift中枚举可以有初始化方法、也可添加函数[判断题]


131.Swift中的结构体可以添加函数扩展,和实现protocol吗[判断题]

132.Swift中字符串、数组和字典是以结构体的形式实现的,还是以的形式实现的?[判断题]

133.Swift中的Array、Dictionary、String都是结构体,传递时会进行拷贝。而不会改变原有的值吗?[判断题]

134.在Swift4中,以下那条语句可以获取字符串的长度[单选题]

135.单向区间主要分两种:确定上限和确定下限的区间。如6…,表示6及之和的所有控件。请问单项区间是由那个Swift版本带来的[单选题]

136.使用runtime Associate 方法关联的对象,需要在主对象dealloc的时候释放么?[判断题]

137.可以向编译后得到的类中增加实例变量?[判断题]

138.可以向运行时创建的类中添加实例变量?[判断题]

139.以下哪些是常见的Carsh场景[多选题]

140.闭包值类型还是引用类型的?[判断题]


141.weak属性需要在dealloc中置为nil吗?[判断题]

142.在Objective-C中,向nil对象发送消息会导致crash吗?[判断题]

存储区说明

存储区说明。
13
14
全局区15
文字常量区16
程序代码区17

143.runtime会将weak对象放入哪种数据结构?[单选题]

144.autoreleasepool 是以一个队列数组的形式实现的,主要通过以下三个函数完成:[多选题]

145.Objective-C的loadinitlize方法只会被调用一次吗?[判断题]

146.调用一个静态方法,需要release吗?[判断题]

147.以下哪些是RunLoop可以做到的:[多选题]

注脚


  1. SIGHUP:用户终端退出进程时,终端将接收到SIGHUP信号。这个信号的默认操作为终止进程。 ↩︎

  2. SIGINT:程序终止信号(interrupt),在用户键入INTR字符(通常Ctrl-C)时发出,用于通知前台进程组终止进程。 ↩︎

  3. SIGQUIT:和SIGINT类似,但进程收到SIGQUIT会产生core文件,这个意义上类似于一个进程错误信号。 ↩︎

  4. SIGILL:执行了非法指令,通常因为可执行文件本身出席错误,或者试图执行数据段,堆栈溢出时也有可能产生这个信号。 ↩︎

  5. SIGATRAP:由断点指令或其他trap指令产生,由debugger使用。 ↩︎

  6. SIGABRT:调用abort函数生成的信号。 ↩︎

  7. SIGBUS:非法地址,包括内存地址对齐出错。比如访问一个四个字长的整数,但其地址不是4的倍数。 ↩︎

  8. SIGFPE:在发生致命的算术运算错误时发出,不仅包括浮点运算错误,还包括溢出及除数为0等其他所有的算术错误。 ↩︎

  9. SIGKILL:用来立即结束程序的运行,本信号不能被阻塞、处理和忽略。如果管理员发现某个进程终止不了,可以尝试发送这个信号。 ↩︎

  10. SIGUSR1、SIGUSR2:留给用户使用。 ↩︎

  11. SIGSEGV:试图访问未分配给自己的内存,或试图往没有权限的内存地址写数据。 ↩︎

  12. SIGSTOP:停止(stopped)进程的执行,但该信号可以被处理和忽略,用户键入SUSP字符时(通常Ctrl-Z)发出这个信号。 ↩︎

  13. 栈:编译器自动分配和释放,存放函数参数值,局部变量,(swift结构体,栈block)等。 ↩︎

  14. 堆:程序员画管理释放。分配方式倒是类似于链表。就是通过new、malloc、realloc分配的内存块,编译器不会负责它们的释放工作,需要用程序区释放。分配方式类似于数据结构中的链表。在iOS开发中所说的“泄漏”说的就是堆区的内存。 ↩︎

  15. 全局区:全局变量和静态变量 。初始化过的全局变量和静态变量在同一块区域,未初始化的全局变量和静态变量存放在一块相邻的区域内。此区域由系统在程序结束后释放。 ↩︎

  16. 文字常量区:常量字符串,程序结束后由系统释放 ↩︎

  17. 程序代码区:存放函数二进制代码。在程序结束后由系统释放。 ↩︎

标签:面试题,八股文,正确,iOS,多选题,Objective,判断题,单选题,Swift
来源: https://blog.csdn.net/qq_42816425/article/details/123160122