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题
⭐️②、笔试题-常识篇(72题)
1.iOS开发者账号中,最多能够添加多少台设备号
:[单选题]
- [ ] A、1009
- [x] B、100
- [ ] C、99
- [ ] D、999
2.最多可以为每个内购项目
创建多少个促销代码
:[单选题]
- [ ] A、1009
- [x] B、100
- [ ] C、99
- [ ] D、999
3.MVC模式的M
、V
、C
分别指:[单选题]
- [ ] A、模态、视图、控制器
- [x] B、模型、视图、控制器
- [ ] C、模型、控制器。视图
- [ ] D、视图、模型、控制器
4.UDID
是由多少位十六进制
字符串组成?:[单选题]
- [ ] A、20
- [ ] B、30
- [x] C、40
- [ ] D、50
5.在iOS开发环境下,后缀.a
的文件又叫做:[单选题]
- [ ] A、可执行文件
- [ ] B、类文件
- [ ] C、头文件
- [x] D、静态库
6.iPhone
、iPad
、iTouch
使用的架构
是:[单选题]
- [x] A、arm
- [ ] B、i386
- [ ] C、x86
- [ ] D、IA-32
7.关于应用程序目录
在更新、恢复和更新过程的变化
,下面说法错误的是:[单选题]
- [x] A、在备份过程中 /Library/Caches目录会被备份
- [ ] B、在应用程序更新过程中,/Documents目录会被保留
- [ ] C、在北美过程中/tmp目录将不会被备份
- [ ] D、在应用程序更新过程中,/Library/Preferences目录会被保留
8.iPhone上,不能
被应用程序直接调用
的系统程序是:[单选题]
- [ ] A、通讯录
- [ ] B、短信
- [x] C、日历
- [ ] D、邮件
9.应用程序大小超过
多少时,只能通过WiFi
从App Store
下载:[单选题]
- [ ] A、5M
- [ ] B、10MB
- [x] C、20MB
- [ ] D、100MB
10.可上传至App Store
的App
应用最大体积
是多少?:[单选题]
- [x] A、4GB
- [ ] B、3GB
- [ ] C、2GB
- [ ] D、8GB
11.关于XML
和JSON
,下列说法正确的有:[多选题]
- [x] A、XML是一种类似HTML的语言,JSON是一种轻量级的数据交换格式
- [ ] B、XML是基于键值对(key/value)的结构
- [ ] C、JSON有DOMSAX两种解析方式
- [x] D、JSON和XML之间可以相互转换
12.在Xcode上创建一个iOS工程,会自动添加进工程的frameworks
有哪些:[多选题]
- [x] A、UIKit.framework
- [x] B、Foundation.framework
- [x] C、CoreGraphics.framework
- [ ] D、CoreData.framework
13.面向对象的特性
不包括:[单选题]
- [ ] A、封装
- [ ] B、继承
- [ ] C、多态
- [x] D、构造
14.以下哪些是Cocoa Touch框架
,用于数据管理
方法:[多选题]
- [x] A、Core Data
- [ ] B、Webkit
- [ ] C、Core Location
- [x] D、SQLite
15.内存管理
理解不正确的是:[多选题]
- [ ] A、程序A里有一段内存被成功申请完成之后,内存计数器就从0变成1(这个过程是alloc);
- [x] B、程序B里要使用已存在内存,那么内存计数器从1变成2(这个过程是retain或者copy);
- [ ] C、紧接着程序A不需要这个内存了,那么程序A就把这个内存计数器减1(这个过程叫release);
- [ ] D、当系统发现这个内存计数器变为小于等于0.那么久调用垃圾回收程序把这段内存回收(这个过程叫dealloc);
16.MVC优点
不正确的是:[单选题]
- [ ] A、低耦合性
- [ ] B、高重用性和可适用性
- [ ] C、较低的生命周期成本
- [x] D、代码高效率
17.Shell
中,将command1的输出
作为command2的输入
应该使用的命令是:[单选题]
- [ ] A、command1 && command2
- [ ] B、command1 > command2
- [ ] C、command1 & command2
- [x] D、command1 | command2
18.下面哪项不是动态语言
的特性:[单选题]
- [ ] A、在运行时替换一个类
- [x] B、在运行时动态加载lib文件
- [ ] C、在运行时修改对象中的方法
- [ ] D、在运行时增加对象的方法
19.下面哪个不属于对象数据序列化
方法:[单选题]
- [ ] A、JSON
- [ ] B、Property List
- [ ] C、XML
- [x] D、HTTP
20.下列不属于iOS存储方式
的是:[单选题]
- [x] A、FileManager
- [ ] B、归档
- [ ] C、SQLite
- [ ] D、CoreData
21.IP Phone的原理是什么:[单选题]
- [ ] A、IPV4
- [ ] B、DHCP
- [x] C、IPV6
- [ ] D、DNS
22.那个Xcode版本带来了Wireless Development
无线调试功能?:[单选题]
- [ ] A、Xcode6
- [ ] B、Xcode7
- [ ] C、Xcode8
- [x] D、Xcode9
23.当开发者免费
加入Apple开发者计划,以下说法正确的是?:[多选题]
- [x] A、无法使用beta版的iOS SDK
- [ ] B、可以使用beta版的iOS SDK
- [x] C、无法向App Store发布你的产品
- [ ] D、可以向App Store发布你的产品
24.当开发者免费加入Apple开发者计划并支付年费
之后,以下说法正确的是?:[多选题]
- [x] A、可以使用beta版的iOS SDK
- [ ] B、无法进行真机测试
- [x] C、可以向App Store发布你的产品
- [ ] D、无法向App Store发布你的产品
25.关于加入付费的开发者计划
,以下说法正确的是?:[多选题]
- [x] A、个人开发者账号,每年99美元,可以在App Store发布产品或在100个iOS设备上进行测试。
- [x] B、公司开发者账号,每年99美元。可以在App Store发布产品或在100个iOS设备上进行测试。申请该类型的账号时.需要填写公司的邓白氏编码(®D-U-N-S® Number)
- [x] C、企业开发者账号,每年299美元。可以在企业内部进行无设备数量限制的分发
- [ ] D、企业开发者账号同样可以在App Store中发布产品。
26.关于类的继承
,以下说法正确的是?:[多选题]
- [x] A、继承是在一些通用类的基础上构造、建立和扩充新类的最有效的手段。
- [x] B、继承简化了人们对事务的认识和描述。能清晰体现相关类之间的层次结构关系。
- [x] C、继承提供了软件复用功能。能够减少代码的冗余度,增加程序的重复性。
- [x] D、继承通过增加一致性,来减少模块间的接口和界面,大大增加了程序的易维护性。
27.NSObject
是一个根类,几乎所有的类都是从它派生
而来。但是根类并不拥有其他类都有的alloc
和init
方法?:[判断题]
- [ ] A、正确
- [x] B、错误
28.UIResponder
可以让继承它的类响应移动设备的触摸事件,由于可能有多个对象响应
同一个事件,iOS将事件沿响应链
向上传递?:[判断题]
- [x] A、正确
- [ ] B、错误
29.关于MVC模式
中的M、V、C三者之间的通信方式、以下描述正确的是?:[多选题]
- [x] A、数据模型Model通过通知Notification和键值观察KVO机制与控制器Controller间接通信。
- [x] B、控制器通过设置View的DataSource属性。设置视图的数据源。如UITableview。
- [x] C、视图View通过动作Action,Targer向视图控制器ViewController报告事件的发生,例如用户点击了视图。
- [x] D、视图View通过Delegate委托(代理),向视图控制器报告事件的发送。如UIAlertViewDelegate、UITextFieldDelegate。
30.以下哪些技术可以实现iOS的数据持久化
?:[多选题]
- [x] A、Plist属性列表
- [x] B、对象归档
- [x] C、SQLite3
- [x] D、Core Data
31.Core Data
支持哪些类型的持久化
数据存储方式
?:[多选题]
- [x] A、SQLiteStore
- [x] B、XMLStore
- [x] C、BinaryStore
- [x] D、InMemoryStore
32.iOS设备支持哪些定位
方式:[多选题]
- [x] A、手机基站定位
- [x] B、WIFI定位
- [ ] C、北斗卫星定位
- [x] D、GPS定位
33.手机基站定位
特点是定位速度在几种定位
方式中是最快
的,并且耗电·最小·,知识误差范围比较大
:[判断题]
- [x] A、正确
- [ ] B、错误
34.WIFI定位
的支持范围比基站定位
广:[判断题]
- [ ] A、正确
- [x] B、错误
35.CPS定位的特点是耗电最多,定位速度也最慢。但是优点是定位的精度最高?:[判断题]
- [x] A、正确
- [ ] B、错误
36.CLLocationManager
定位的哪种精度
常用于周边的酒店
、机场
等类型的应用:[单选题]
- [ ] A、KCCLocationAccuracyNearestTenMeters
- [x] B、KCCLocationAccuracyHundredMeters
- [ ] C、KCCLocationAccuracyKilometer
- [ ] D、KCCLocationAccuracyBest
37.使用哪些工具可以进行地理编码
和反编码
:[单选题]
- [ ] A、CLLocationManagerDelegate
- [ ] B、CLLocationManager
- [ ] C、CLLocation
- [x] D、CLGeocoder
38.在iOS设备中,陀螺仪
的主要用途
在哪些:[多选题]
- [x] A、通过陀螺仪配合GPS设备,手机的导航能够达到前所未有的水准。
- [x] B、和iPhone和iPad上的摄像头配合使用。增强拍摄时的防抖性。
- [x] C、陀螺仪相当于一个立体的鼠标。所以经常被用在赛车、战机类的游戏中。可通过摇晃设备来控制赛车和战机的方向
- [x] D、微信的摇一摇功能,通过摇晃手机可以匹配同一时段触发该功能的微信用户。
39.陀螺仪
主要包含那几个组件
?:[多选题]
- [x] A、陀螺仪帧
- [x] B、放置轴
- [x] C、方向坐标系
- [x] D、转子
40.加速计只能侦测物体的移动行为,并不具备精准侦测物体角度改变
的能力?:[判断题]
- [x] A、正确
- [ ] B、错误
41.陀螺仪
可以侦测物体水平改变的涨停,但是无法计算物体移动
的激烈程度:[判断题]
- [x] A、正确
- [ ] B、错误
42.在iOS开发中,陀螺仪
和加速计
的使用是通过哪个框架
实现的?:[单选题]
- [ ] A、Core Data
- [ ] B、Core Image
- [x] C、Core Motion
- [ ] D、Core Location
43.CMMotionManager
对象的accelerometerUpdateInterval
属性的值为0.1,表示每秒钟更新多少次
的加速计
的状态?:[单选题]
- [ ] A、1
- [x] B、10
- [ ] C、100
- [ ] D、1000
44.本地化
的资源文件
,在应用程序的Bundle
中,会根据语言的不同
分离成不同的文件吗?:[判断题]
- [x] A、正确
- [ ] B、错误
45.开发者可以将项目中的每一个文本、图标和图形文件
等进行本地化处理
,但无法对音频、视频、Storeboard文件
进行本地化处理?:[判断题]
- [ ] A、正确
- [x] B、错误
46.关于App Store,如果用户按年订阅。开发者第一年获得受益的70%
,如果第二年
继续购买订阅服务,开发者就可以获得85%的收益
?:[判断题]
- [x] A、正确
- [ ] B、错误
47.在iTunes Connect管理平台,那个
项目可以提供展示应用程序的下载量、用户活跃度、用户地区分布、设备类型、程序版本类型
?:[单选题]
- [ ] A、我的App
- [x] B、App分析
- [ ] C、销售和趋势
- [ ] D、用户和职能
48.描述应用程序的关键词
,可以用来帮助客户在App Store中搜索到精准的结果。它的长度限制在多少字符
以内?:[单选题]
- [ ] A、50
- [x] B、100
- [ ] C、200
- [ ] D、500
49.NSFileManager
是用来管理
和操作
文件、目录
等文件系统相关联内容的类。它隶属于那个框架:[单选题]
- [x] A、Foundation
- [ ] B、UIKit
- [ ] C、Core Data
- [ ] D、Core Motion
50.蓝牙
设备包含哪些工作状态
:[多选题]
- [x] A、准备(standby)
- [ ] B、广播 (advvertising)
- [ ] C、监听扫描 (Scanning)
- [ ] D、已连接 (Connected)
51.蓝牙4.0
支持哪些iOS版本:[多选题]
- [ ] A、iOS4
- [x] B、iOS5
- [x] C、iOS6
- [x] D、iOS7
52.当向App Store
上传IPA
文件时,每次上传IPA包的版本号
可以相同,但是Build号
不能相同:[判断题]
- [x] A、正确
- [ ] B、错误
53.上传至App Store
的IPA
文件, 最大体积
是?:[单选题]
- [ ] A、1G
- [ ] B、2G
- [x] C、4G
- [ ] D、8G
54.应用审核成功并发布
后,你将无法修改应用的分类
、名称
、截图
和关键字
?:[判断题]
- [x] A、正确
- [ ] B、错误
55.应用审核成功并发布
后,你将无法修改应用的促销文字
、版权信息
?:[判断题]
- [ ] A、正确
- [x] B、错误
56.如果您需要给苹果审核人员
写邮件
,可以使用中文书写
吗?:[判断题]
- [x] A、可以
- [ ] B、不可以
57.下载Xcode
尽量别用迅雷
,迅雷有可能会提供包含后门
的Xcode
:[判断题]
- [x] A、正确
- [ ] B、错误
58.iOS的系统架构
可以分为那几个层次
?:[多选题]
- [x] A、核心操作系统层(Core OS layer)
- [x] B、核心服务层 (Core Services layer)
- [x] C、媒体层(Media layer)
- [x] D、可触摸层 (Cocoa Touch layer)
59.如果App1
需要跳转
到App2
,可以使用以下哪种方式?:[单选题]
- [x] A、URL Scheme
- [ ] B、Keychain
- [ ] C、UIPasteboard
- [ ] D、UIDocumentInteractionController
60.Core ML
机器学习框架
支持哪些平台:[多选题]
- [x] A、iOS
- [x] B、macOS
- [x] C、tvOS
- [x] D、watchOS
61.Core ML
支持哪些机器学习技术
?:[多选题]
- [x] A、深度神经网络
- [x] B、循环神经网络
- [x] C、卷积神经网络
- [x] D、支持向量机
62.Core ML
的已训练模型(trained model)
是指在对一组训练数据应用了某个机器学习算法后,所生成的一组结果吗?:[判断题]
- [x] A、是
- [ ] B、不是
63.Core ML
支持哪些机器学习模型
:[多选题]
- [x] A、Neural Network
- [x] B、Three Ensemble
- [x] C、Support Vector Machine
- [x] D、Generalized Linear Model
64.Core ML
的运行需要哪种模式格式
:[单选题]
- [ ] A、.model
- [ ] B、.data
- [x] C、.mlmodel
- [ ] D、.plist
65.以下哪项苹果推出的技术可以将自然语言
的字符串标记为单词
、确定词性
和词根
、划分出人名地名
和组织名称
、告诉你字符串使用的语言和语系?[单选题]
- [ ] A、Core Data
- [x] B、NSLinguisticTagger
- [ ] C、SirKit
- [ ] D、Core Text
66.以下关于Predicate
谓词,描述正确的是:[多选题]
- [x] A、能使用一般谓词的不要使用正则表达式,以提高程序的性能。
- [x] B、尽量不使用嵌套,最好把条件拆分。
- [x] C、字符串常量使用"和""是一样的
- [x] D、关键字不区分大小写,比如: tip和TIP是一样的。
67.从在屏幕上点击你的app icon开始。到应用执行到main()方法
或者执行到applicationWillFinishLaunching
的过程中
,共执行
了哪些方法?:[多选题]
- [x] A、dylib loading time 载入动态库。
- [x] B、ebase/binding time 重构和绑定。
- [x] C、ObjC setup time 在Objective-C的运行时(runtime),需要对类(class),类别(category)进行注册。
- [x] D、initializer time 这一份指代的是执行 +initialize方法的时间。
68.以下关于代码注释
,说法正确的是:[多选题]
- [x] A、最好的代码是不需要注释的 尽量通过合理的命名
- [x] B、良好的代码把含义表达清楚 在必要的地方添加注释
- [x] C、注释需要与代码同步更新。
- [x] D、如果做不到命名尽量的见名知意的化。就可以适当添加一些注释或者mark
69.以下关于iOS Code Review
, 描述正确的是:[多选题]
- [x] A、文件行数偏多,可以根据功能拆分为不同的文件,让每个类各司其职。
- [x] B、代码风格统一,比如函数名后面大括号的位置,保持书写一致。
- [x] C、分支 if else 尽量配对使用。保证逻辑完整。if里面尽量包含主要的处理逻辑。
- [x] D、检查代码的雷鸣、变量的命名风格是否统一。
70.DateFormatter
这种比较消耗性能
的类,如果分配内存次数较多的话,需要做一个静态变量
,没必要每次都分配?:[判断题]
- [x] A、正确
- [ ] B、错误
71.应用程序
在后台
一般可以运行
多久?:[单选题]
- [x] A、10秒左右
- [ ] B、1分钟左右
- [ ] C、10分钟左右
- [ ] D、1小时左右
72.method swizzling
交换方法
有几种实现方式
:[多选题]
- [x] A、利用 class_exchangeImplementations 交换两个方法的实现
- [x] B、利用 class_replaceMethod 替换方法
- [x] C、利用 method_exchangeImplementations 交换两个方法的实现
- [x] D、利用 method_setImplementation 来直接设置某个方法的IMP