共计 8061 个字符,预计需要花费 21 分钟才能阅读完成。
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.Xcode
的 UI 测试性能
可能自动记录你在 利用程序界面的每一个操作步骤
,它能够将 每一步的操作主动生成对应的代码
吗?:[判断题]
- [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.Git
和 SVN
等其余版本控制系统的一个重要不同之处,就是 Git 有 暂存区
:[判断题]
- [x] A、正确
- [] B、谬误
25.Git
版本有哪 三种状态
?:[多选题]
- [x] A、commited
- [] B、updated
- [x] C、staged
- [x] D、modified
26.Git
中简直所有的 操作
都是 可逆
的?:[判断题]
- [x] A、正确
- [] B、谬误
27. 能够为 iPhone
和iPad
指定 不同
的 `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.CALayer
、PDFDocument
、NSImageRep
,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 | 将插入点置于窗口正中 |
正文完