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

⑵、快捷键图标

文件快捷键

快捷键键盘形容
⌘Ncommand + N新文件
⇧⌘Ncommand + shift +N新我的项目
⌘Ocommand + O关上
⌘Scommand + S保留
⇧⌘Scommand + shift + S另存为
⌘Wcommand + W敞开窗口

导航快捷键

快捷键键盘形容
⌘1-8command +1/2/3/4/5/6/7/8关上 Project/Symbol/Find/Issue/Test/Debug/Breakpoint/Log 导航栏
⌘0command + 0显示/暗藏 左侧 tool panel
⇧⌘Ycommand + shift + Y显示/暗藏 控制台
⌥⌘0option + command + 0显示/暗藏 右侧 tool panel
⌥⌘1-3option + command + 1/2/3关上右侧导航栏
⇧⌘Jcommand + shift + j在我的项目导航中定位以后文件(Reveal in Project Navigator)
⌘Jcommand + j焦点切换(Move Focus),可疾速定位到编辑界面

搜寻快捷键

快捷键键盘形容
⌘⇧Fcommand + shift + F应用我的项目搜寻能够找到某个变量或办法名的被提到的次数。能够根据实例来匹配,并可疏忽大小写字母。另外还能够对查找的变量名进行替换。
⌃⌘Up/Downcommand + control + Up/Down.h 和 .m文件间的疾速切换
⇧⌘Ocommand + shift + O能够间接跳转到指定的代码文件。
⌃6control + 6(键入办法/变量名+Enter跳转)跳转至以后代码文件中的代码行。如果文件中有上千行代码,你能够通过该快捷操作来放大查找范畴,从而在须要的中央插入代码以增加新的性能。
⌃1control + 1该快捷键可关上’Show Related Items‘弹出菜单’。假使你曾经将光标放在了任何办法中,并点击‘⌃1 ’就能够很不便地通过弹出的视图拜访该办法的所有调用者和被调用者。

运行调试快捷键

快捷键键盘形容
⇧⌘Kcommand + shift + k革除工程(clean)
⌘Bcommand + B构建应用程序
⌘Rcommand + R运行应用程序
⌘.command + .进行运行(Stop)
⌘\command + \设置/勾销断点;通过鼠标点击蓝色断点来启用/禁用以后行断点。
⌘Ycommand + Y全局激活或禁用所有的断点,激活进入调试模式(此时断点蓝色可见)。

编辑快捷键

快捷键键盘形容
⌘[/]command+[ 或 ]向前/向后缩进
⌘/command + /正文选中的代码
⌥⌘←/→command + option + ← / →折叠以后代码块
⌥⇧⌘←/→command + option + shift + ← / →折叠该文件内所有代码块(办法/函数)
⌥⌘[/]command + option + [ 或 ]以后行上移/下移
⌃Bcontrol + B前移光标
⌃Fcontrol + F后移光标
⌃Pcontrol + p挪动光标到上一行
⌃Ncontrol + N挪动光标到下一行
⌃Acontrol + Q挪动光标到本行行首
⌃Econtrol + E挪动光标到本行行尾
⌃Kcontrol + K删除本行
⌃Dcontrol + D删除光标左边的字符(一个字符)
⌃Lcontrol + L将插入点置于窗口正中