⑤(操作篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)

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

请添加图片描述

@TOC

笔试题 613题

⭐️⑤、笔试题-操作篇(68题)

1.在Instruments工具中,用于检查内存泄露的工具是:[多选题]

  • [ ] A、Counters
  • [x] B、Allocations
  • [x] C、Leaks
  • [ ] D、Energy Log

2.可以通过代码进行写操作的文件或目录有:[多选题]

  • [ ] A、bundle目录
  • [x] B、Documents目录
  • [x] C、keychain
  • [x] D、SQLite

3.使用Xcode创建工程时,支持同时创建的版本管理库是:[单选题]

  • [ ] A、Subversion
  • [ ] B、Mercurial
  • [x] C、Git
  • [ ] D、Concurrent Versions System

4.需要在手动管理内存分配释放Xcode项目引入和编译ARC风格编写的文件,需要在文件的Compiler Flags 添加参数:[单选题]

  • [ ] A、-shared
  • [ ] B、-fon-objc-arc
  • [x] C、-fobjc-arc
  • [ ] D、-dynamic

5.使用iPhone模拟器可以测试相机传感器等功能?:[判断题]

  • [ ] A、正确
  • [x] B、错误

6.以下哪个操作可以获取模拟器截图?:[多选题]

  • [x] A、依次点击[File > Save Screen Shot]菜单命令。
  • [ ] B、使用[Command + D]快捷键。
  • [x] C、使用[Command + S]快捷键。
  • [ ] D、使用[Command + Shift + S]快捷键。

7.使用Xcode9的模拟器,如果需要退出当前的应用程序,可以如何操作?:[多选题]

  • [x] A、使用[Command + Shift + H]快捷键。
  • [x] B、使用[HardWare + Home]命令。
  • [ ] C、使用[Command + Shift + E]快捷键。
  • [x] D、点击模拟器的Home键。

8.使用Xcode9的模拟器,如果需要清除模拟器中的所有应用程序,可以如何操作?:[单选题]

  • [ ] A、使用[HardWare + Restart]命令。
  • [x] B、使用[HardWare + Erase All Content and settings...]命令。
  • [ ] C、使用[File > Close Window]命令。
  • [ ] D、使用[HardWare + Lock]命令。

9.按下键盘上的哪个键,可以在模拟器中模拟双指触摸?:[单选题]

  • [ ] A、Command
  • [x] B、Option
  • [ ] C、Shift
  • [ ] D、Control

10.模拟器可以支持长按操作?:[判断题]

  • [x] A、正确
  • [ ] B、错误

11.模拟器支持3D Touch操作?:[判断题]

  • [ ] A、正确
  • [x] B、错误

12.程序单元是应用程序的最小可测试部件最小可测试部件通常是包括基类抽象类或者子类中的方法?:[判断题]

  • [x] A、正确
  • [ ] B、错误

13.单元测试关键组件测试用例测试用例可以在最低可测试的单元对代码进行测试?:[判断题]

  • [x] A、正确
  • [ ] B、错误

14.XCTest框架可以进行单元测试,但是无法进行性能测试?:[判断题]

  • [ ] A、正确
  • [x] B、错误

15.XcodeUI测试功能能够自动记录你在应用程序界面的每一个操作步骤,它可以将每一步的操作自动生成对应的代码吗?:[判断题]

  • [x] A、可以
  • [ ] B、不可以

16.使用Instruments提供的多种工具,可以对应用程序进行哪些操作?:[多选题]

  • [x] A、追查代码难以重现的问题。
  • [x] B、对应用程序进行性能分析。
  • [x] C、对应用程序进行压力测试。
  • [x] D、进行一般的系统故障诊断。

17.Instruments中的哪个工具,可以显示内存的对象占用曲线内存当前分配给了哪些对象被分配的对象数量,以及由哪些函数进行对象的创建?:[单选题]

  • [ ] A、Leaks
  • [ ] B、System Trace
  • [ ] C、Zombies
  • [x] D、Allocations

18.Instruments中的哪个工具,可以查看内存泄露的对象数量,每个泄露对象的类型内存地址占用大小等信息:[单选题]

  • [x] A、Leaks。
  • [ ] B、System Trace。
  • [ ] C、Zombies。
  • [ ] D、Allocations。

19.以下关于iOS开发的第三方依赖开源框架管理工具。说法正确的是:[单选题]

  • [x] A、SMP现在仅仅支持Swift语言,不支持iOS和watch OS平台。
  • [x] B、Carthage 仅仅支持最低版本为iOS8的工程。
  • [x] C、Cocoa Pods 则拥有最多的开源框架支持,并且可以支持Swift和Objective-C两种语言编写的Cocoa工程。
  • [x] D、Carthage是一个Swift编写的第三方依赖开源框架管理工具。

20.使用CocoaPods 安装第三方开源框架之后。双击以下那个文件,来打开编辑安装后的项目。:[单选题]

  • [ ] A、projectName.xcodeproject
  • [x] B、projectName.xcodeworkspace
  • [ ] C、projectName.storyboard
  • [ ] D、projectName.plist

21.当增加删除了某个第三方开源框架,或第一次增加Podfile到工程时,你需要使用以下哪个命令安装框架?:[单选题]

  • [x] A、pod install
  • [ ] B、pod update
  • [ ] C、pod update --no-repo-update
  • [ ] D、pod install --no-repo-update

22.如果你的操作不需要更新podspecs,执行哪些命令可以快速更新第三方开源框架?:[多选题]

  • [ ] A、pod update
  • [x] B、pod update --no-repo-update
  • [ ] C、pod install
  • [x] D、pod install --no-repo-update

23.Git的哪些指令需要在网络环境中执行:[多选题]

  • [x] A、pull
  • [x] B、commit
  • [ ] C、status
  • [x] D、push

24.GitSVN等其他版本控制系统的一个重要不同之处,就是Git有暂存区:[判断题]

  • [x] A、正确
  • [ ] B、错误

25.Git版本有哪三种状态?:[多选题]

  • [x] A、commited
  • [ ] B、updated
  • [x] C、staged
  • [x] D、modified

26.Git中几乎所有的操作都是可逆的?:[判断题]

  • [x] A、正确
  • [ ] B、错误

27.可以为iPhoneiPad指定不同的`LaunchScreen.storyboard故事板?:[判断题]

  • [ ] A、正确
  • [x] B、错误

28.LaunchScreen.storyboard故事版可以使用UIView或者UIViewController,而自定义的子类则不可以使用:[判断题]

  • [x] A、正确
  • [ ] B、错误

29.写入SQLite数据库,从数据库中取出char类型,当char类型表示中文字符时,会出现乱码,这是因为数据库的默认编码方式为:[单选题]

  • [x] A、ASCII
  • [ ] B、UTF-8
  • [ ] C、GB2312
  • [ ] D、GBK

30.以下哪条sqlite语句,可以执行非查询的sql语句?:[单选题]

  • [ ] A、sqlite3_open()
  • [x] B、sqlite3_exec()
  • [ ] C、sqlite3_step()
  • [ ] D、sqlite3_close()

Mac键盘快捷键说明

31.以下哪个快捷键,可以左移一行多行选中的代码:[单选题]

  • [x] A、Command + [
  • [ ] B、Command + ]
  • [ ] C、Command + <
  • [ ] D、Command + >

32.以下哪个快捷键,可以隐藏显示左侧的项目的导航区:[单选题]

  • [ ] A、control +1
  • [ ] B、control + 0
  • [ ] C、command + 1
  • [x] D、command + 0

33.以下哪个快捷键,可以隐藏显示右侧的项目的工具区(Utilities):[单选题]

  • [x] A、Command + Alt + 0
  • [ ] B、Command + Alt + 1
  • [ ] C、Command + 0
  • [ ] D、Command + 1

34.以下哪个快捷键,可以上移一行多行选择的项目的代码:[单选题]

  • [ ] A、Option + Command + <
  • [ ] B、Option + Command + >
  • [x] C、Option + Command + [
  • [ ] D、Option + Command + ]

35.以下哪个快捷键,可以新建一个项目?:[单选题]

  • [ ] A、 Command + Shift + A
  • [x] B、Command + Shift +N
  • [ ] C、Command + N
  • [ ] D、Command + A

36.以下哪个快捷键,可以新建一个文件?:[单选题]

  • [ ] A、 Command + Shift + A
  • [ ] B、Command + Shift +N
  • [x] C、Command + N
  • [ ] D、Command + A

37.以下哪个快捷键,可以在项目搜索一个文件?:[单选题]

  • [x] A、 Command + Shift + F
  • [ ] B、Command + Shift +S
  • [ ] C、Command +F
  • [ ] D、Command + S

38.以下哪个快捷键,可以对当前项目执行Clear操作?:[单选题]

  • [ ] A、 Command + Shift + F
  • [x] B、Command + Shift +K
  • [ ] C、Command + Shift +H
  • [ ] D、Command + Shift +N

39.以下哪个快捷键,可以快速编译并运行项目?:[单选题]

  • [ ] A、 Command + B
  • [ ] B、Command + S
  • [ ] C、Command + N
  • [x] D、Command + R

40.以下哪个快捷键,可以快速对代码进行注释和取消注释?:[单选题]

  • [x] A、 Command + /
  • [ ] B、Command + \
  • [ ] C、Command + C
  • [ ] D、Command + T

41.以下哪个快捷键,可以快速在当前行插入或清除断点?:[单选题]

  • [ ] A、 Command + /
  • [x] B、Command + \
  • [ ] C、Command + C
  • [ ] D、Command + T

42.以下哪个快捷键,可以将光标快速移动到文件的头部?:[单选题]

  • [x] A、 Command + 上箭头
  • [ ] B、Command + 下箭头
  • [ ] C、Command + 左箭头
  • [ ] D、Command + 右箭头

43.以下哪个快捷键,可以将光标快速移动到文件的尾部?:[单选题]

  • [ ] A、 Command + 上箭头
  • [x] B、Command + 下箭头
  • [ ] C、Command + 左箭头
  • [ ] D、Command + 右箭头

44.以下哪个快捷键,可以将光标快速移动到行首?:[单选题]

  • [ ] A、 Command + 上箭头
  • [ ] B、Command + 下箭头
  • [x] C、Command + 左箭头
  • [ ] D、Command + 右箭头

45.以下哪个快捷键,可以将光标快速移动到行尾?:[单选题]

  • [ ] A、 Command + 上箭头
  • [ ] B、Command + 下箭头
  • [ ] C、Command + 左箭头
  • [x] D、Command + 右箭头

46.以下哪个快捷键,可以终止模拟器的运行?:[单选题]

  • [ ] A、 Command + ,
  • [x] B、Command + .
  • [ ] C、Command + '
  • [ ] D、Command + ~

47.以下哪个快捷键,可以在同一行上将光标向右移动?:[单选题]

  • [ ] A、 Control + M
  • [ ] B、Control + B
  • [x] C、Control + F
  • [ ] D、Control + P

48.以下哪个快捷键,可以在同一行上将光标向左移动?:[单选题]

  • [ ] A、 Control + M
  • [x] B、Control + B
  • [ ] C、Control + F
  • [ ] D、Control + P

49.以下哪个快捷键,可以将光标移动到前一行?:[单选题]

  • [ ] A、 Control + M
  • [ ] B、Control + B
  • [ ] C、Control + F
  • [x] D、Control + P

50.以下哪个快捷键,可以将光标移动到后一行?:[单选题]

  • [x] A、 Control + N
  • [ ] B、Control + B
  • [ ] C、Control + F
  • [ ] D、Control + P

51.以下哪个快捷键,可以将光标移动到本行的行首?:[单选题]

  • [ ] A、 Control + N
  • [x] B、Control + A
  • [ ] C、Control + F
  • [ ] D、Control + P

52.以下哪个快捷键,可以将光标移动到本行的行尾?:[单选题]

  • [ ] A、 Control + N
  • [ ] B、Control + A
  • [x] C、Control + E
  • [ ] D、Control + P

53.以下哪个快捷键,可以删除 光标的字符?:[单选题]

  • [ ] A、 Control + N
  • [ ] B、Control + A
  • [ ] C、Control + E
  • [x] D、Control + D

54.以下哪个快捷键,可以删除光标所在行光标后面的代码,便于您重写行尾代码?:[单选题]

  • [ ] A、 Control + N
  • [x] B、Control + K
  • [ ] C、Control + E
  • [ ] D、Control + D

55.以下哪个快捷键,可以将显示区域移动到光标显示的中心位置?:[单选题]

  • [ ] A、 Control + N
  • [ ] B、Control + A
  • [x] C、Control + L
  • [ ] D、Control + D

56.以下哪个快捷键,可以打开文件跳转列表,方便查看和打开历史文件?:[单选题]

  • [x] A、 Control + 1
  • [ ] B、Control + 2
  • [ ] C、Control + 3
  • [ ] D、Control + 4

57.以下哪个快捷键,可以打开与当前文件处于同一文件夹下所有文件和文件列表?:[单选题]

  • [ ] A、 Control + 4
  • [x] B、Control + 5
  • [ ] C、Control + 6
  • [ ] D、Control + 7

58.以下哪个快捷键,可以显示当前代码文件的所有方法列表?:[单选题]

  • [ ] A、 Control + 4
  • [ ] B、Control + 5
  • [x] C、Control + 6
  • [ ] D、Control + 7

59.以下哪个快捷键,可以选择光标右侧的代码?:[单选题]

  • [x] A、 Control + Shift + E
  • [ ] B、Control + Shift + A
  • [ ] C、Control + Shift + F
  • [ ] D、Control + Shift + H

60.以下哪个快捷键,可以选择光标左侧的代码?:[单选题]

  • [ ] A、 Control + Shift + E
  • [x] B、Control + Shift + A
  • [ ] C、Control + Shift + F
  • [ ] D、Control + Shift + H

61.以下哪个快捷键,可以复制一个标签窗口?:[单选题]

  • [ ] A、 Command + A
  • [ ] B、Command + E
  • [x] C、Command + T
  • [ ] D、Command + J

62.以下哪个快捷键,可以打开辅助编译器?:[单选题]

  • [ ] A、 Command + Shift + Enter
  • [ ] B、Command + Control + Enter
  • [ ] C、Command + Enter
  • [x] D、Command + Alt + Enter

63.以下哪个快捷键,可以关闭打开辅助编译器?:[单选题]

  • [ ] A、 Command + Shift + Enter
  • [ ] B、Command + Control + Enter
  • [x] C、Command + Enter
  • [ ] D、Command + Alt + Enter

64.以下哪个快捷键,可以通过键入关键词的方式,快速切换至某个文件?:[单选题]

  • [x] A、 Command + Shift + O
  • [ ] B、Command + Shift + A
  • [ ] C、Command + Shift + H
  • [ ] D、Command + Shift + K

65.CALayerPDFDocumentNSImageRep,CIRenderTask,CIContext & CIImage这些类型的数据可以在哪个版本的Xcode直接看到数据内容,不再是简单的内存地址了?:[单选题]

  • [ ] A、 Xcode 6
  • [ ] B、Xcode 7
  • [ ] C、Xcode 8
  • [x] D、Xcode 9

66.Xcode 9 中可以同时运行多个模拟器吗?:[判断题]

  • [x] A、 可以
  • [ ] B、 不可以

67.Xcode 9 中可以任意调节模拟器的显示比例吗?:[判断题]

  • [x] A、 可以
  • [ ] B、 不可以

68.Xcode 9 中支持哪些转换重构:[多选题]

  • [x] A、 添加缺少的协议要求
  • [x] B、为抽象方法添加缺少的重写
  • [x] C、提取到局部变量
  • [x] D、提取方法/表达式

Mac键盘快捷键说明

⑴、快捷键图标

图标 键盘
Command
Control
Option
Shift

⑵、快捷键图标

文件快捷键

快捷键 键盘 描述
⌘N command + N 新文件
⇧⌘N command + shift +N 新项目
⌘O command + O 打开
⌘S command + S 保存
⇧⌘S command + shift + S 另存为
⌘W command + W 关闭窗口

导航快捷键

快捷键 键盘 描述
⌘1-8 command +1/2/3/4/5/6/7/8 打开 Project/Symbol/Find/Issue/Test/Debug/Breakpoint/Log 导航栏
⌘0 command + 0 显示/隐藏 左侧 tool panel
⇧⌘Y command + shift + Y 显示/隐藏 控制台
⌥⌘0 option + command + 0 显示/隐藏 右侧 tool panel
⌥⌘1-3 option + command + 1/2/3 打开右侧导航栏
⇧⌘J command + shift + j 在项目导航中定位当前文件(Reveal in Project Navigator)
⌘J command + j 焦点切换(Move Focus),可快速定位到编辑界面

搜索快捷键

快捷键 键盘 描述
⌘⇧F command + shift + F 使用项目搜索可以找到某个变量或方法名的被提到的次数。可以依据实例来匹配,并可忽略大小写字母。另外还可以对查找的变量名进行替换。
⌃⌘Up/Down command + control + Up/Down .h 和 .m文件间的快速切换
⇧⌘O command + shift + O 可以直接跳转到指定的代码文件。
⌃6 control + 6 (键入方法/变量名+Enter跳转)跳转至当前代码文件中的代码行。如果文件中有上千行代码,你可以通过该快捷操作来缩小查找范围,从而在需要的地方插入代码以添加新的功能。
⌃1 control + 1 该快捷键可打开’Show Related Items‘弹出菜单’。倘若你已经将光标放在了任何方法中,并点击‘⌃1 ’就可以很方便地通过弹出的视图访问该方法的所有调用者和被调用者。

运行调试快捷键

快捷键 键盘 描述
⇧⌘K command + shift + k 清除工程(clean)
⌘B command + B 构建应用程序
⌘R command + R 运行应用程序
⌘. command + . 停止运行(Stop)
⌘\ command + \ 设置/取消断点;通过鼠标点击蓝色断点来启用/禁用当前行断点。
⌘Y command + Y 全局激活或禁用所有的断点,激活进入调试模式(此时断点蓝色可见)。

编辑快捷键

快捷键 键盘 描述
⌘[/] command+[ 或 ] 向前/向后缩进
⌘/ command + / 注释选中的代码
⌥⌘←/→ command + option + ← / → 折叠当前代码块
⌥⇧⌘←/→ command + option + shift + ← / → 折叠该文件内所有代码块(方法/函数)
⌥⌘[/] command + option + [ 或 ] 当前行上移/下移
⌃B control + B 前移光标
⌃F control + F 后移光标
⌃P control + p 移动光标到上一行
⌃N control + N 移动光标到下一行
⌃A control + Q 移动光标到本行行首
⌃E control + E 移动光标到本行行尾
⌃K control + K 删除本行
⌃D control + D 删除光标右边的字符(一个字符)
⌃L control + L 将插入点置于窗口正中

你可能感兴趣的:(⑤(操作篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案))