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题
⭐️③、笔试题-界面篇(83题)
1.UIViewController的didReceiveMemoryWaring
方法什么时候会被调用:[单选题]
- A、外接来电
- B、系统错误
- C、系统内存不足
- D、系统CPU被占用100%
2.下面哪个类
在iPhone应用程序开发时不能
使用:[单选题]
- A、UITableViewController
- B、UINavigationController
- C、UISplitViewController
- D、UITableViewController
3.下面不是标准UIButton
类型的是:[单选题]
- A、UIButtonTypeRoundedRect
- B、UIButtonTypeContacAdd
- C、UIButtonTypeRadio
- D、UIButtonTypeInfoLight
4.在给UIButton设置图片时,为了让图片适应按钮的大小,需要将按钮contentMode设置为:[单选题]
- A、UIViewContentModeScaleToFill
- B、UIViewContentModeScaleAspectFit
- C、UIViewContentModeScaleAspectFill
- D、UIViewContentModecenter
5.关于UIControl
和UIView
之间的关系,下面说法正确的是:[单选题]
- A、UIcontrol继承于UIView
- B、UIView继承于UIcontrol
- C、UIcontrol与UIView之间没有继承关系
- D、UIcontrol与UIView都是直接继承于UIResponder
6.下列UIView
的方法中,哪一个在iOS5.0
前后的系统调用机制不同
:[单选题]
- A、addSubView
- B、layoutSubView
- C、drawRect
- D、removeFromSuperView
7.构造UIImage
的方法中,占用内存最大
的哪个方法:[单选题]
- A、imageNamed
- B、imageWithContentsOfFile
- C、imageWithData
- D、三者一样大
8.下面哪些方法是UITableView
的delegate
方法:[多选题]
- A、(NSInteger)tableview:(UITableView)tableview numberOfRowsInSecion:(NSInteger)section;
- B、(UITableViewCell *)tableview:(UITableView)tableview cellForRowAtIndexPath:(NSIndexPath *)indexPath;
- C、(CGFloat)tableview:(UITableView)tableview heightForRowAtIndexPath:(NSIndexPath *)indexPath;
- D、(void)tableview:(UITableView)tableview didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
9.UIResponder
是UIView
的父类?:[单选题]
- A、正确
- B、错误
10.UIControl
是UIView
的父类?:[单选题]
- A、正确
- B、错误
11.UITableView
中cell的复用
是由几个数组
实现的:[单选题]
- A、1
- B、2
- C、3
- D、4
12.点击Button
响应链
中最终得到响应的是:[单选题]
- A、window
- B、Application
- C、AppDelegate
- D、UIViewController
13.在UIKit
中,frame
和bounds
的区别是:[单选题]
- A、frame是bounds的别名
- B、frame是bounds的继承类
- C、frame的参考系是父视图坐标系,bounds的参考系是自身的坐标
- D、frame的参考系是自身坐标,bounds的参考系是父视图的坐标
14.UIViewController
在显示过程中,各个方法的调用顺序
是:[单选题]
- A、init -> viewDidLoad -> viewDidAppear -> viewDidUnload
- B、init -> viewDidAppear -> viewDidLoad -> viewDidUnload
- C、init -> viewDidLoad -> viewDidUnload -> viewDidAppear
- D、init -> viewDidAppear -> viewDidUnload -> viewDidAppear
15.使用imageNamed
方法创建UIImage对象时,与普通的init
方法有什么区别:[单选题]
- A、没有区别.只是为了方便
- B、imageNamed方法只是创建了一个指针,没有分配其他内存
- C、imageNamed方法将图片加载到内存中后不再释放
- D、imageNamed方法将使用完图片后立即释放
16.在没有navigationController
的情况下,要从一个ViewController
切换
到另一个ViewController
应该:[单选题]
- A、[self.navigationController pushViewController: nextViewController animated:YES];
- B、[self.view addSubview:nextViewController.view];
- C、[self pushViewController: nextViewController animated:YES];
- D、[self presentModalViewController: nextViewController animated:YES];
17.什么是key window
:[单选题]
- A、App中唯一的那个UIWindow对象
- B、可以指定一个key的UIWindow
- C、可以接收到键盘输入等事件的UIWindow
- D、不可以隐藏的那个UIWindow对象
18.UIButton
从子类到父类一次继承自:[单选题]
- A、UIView -> UIViewController -> UIcontroller
- B、UIResponder -> UIControl -> UIView
- C、UIControl -> UIResponder -> UIViewController
- D、UIControl -> UIView -> UIResponder
19.以下关于UIView
和CALayer
描述正确的是:[多选题]
- A、UIView之所以能够显示,是因为其内部的CALayer层对象。
- B、UIView真正的绘图部分,由一个CALayer类来管理。
- C、无需通过CALayer,即可给UIView添加阴影,圆角大小、边框宽度和颜色等。
- D、访问UIView根绘图和坐标有关的属性,例如 frame、bounds等,实际上内部都是在访问它所包含的CALayer的相关属性。
20.UIWindow
提供一个画内容的表面,是所有其他视图的根容器,每个应用程序只能拥有一个窗口
?:[判断题]
- A、正确
- B、错误
21.UIView
视图是所有控件的父类。控件用于响应用户的交互,而UIView则负责内容的显示和布局?:[判断题]
- A、正确
- B、错误
22.UIControl
类几乎是所有交互控件的父类,如按钮、滑块、文本框等。所以UIControl类负责根据触摸事件触发相应的动作?:[判断题]
- A、正确
- B、错误
23.iOS应用程序启动后,创建的第一个视图控件
就是UIWindow
?:[判断题]
- A、正确
- B、错误
24.在iOS应用程序中,窗口对象
并没有像关闭框
或标题框
这样的区域,所以用户不能直接对其进行关闭
?:[判断题]
- A、正确
- B、错误
25.在macOS
中,NSWindow
的父类是NSResponder
。在iOS
系统中,UIWindow
的父类是UIResponder
?:[判断题]
- A、正确
- B、错误
26.在macOS
中,NSWindow
的父类是NSResponder
。在iOS
系统中,UIWindow
的父类是UIView
?:[判断题]
- A、正确
- B、错误
27.UIView
的alpha
属性是一个浮点值
,取值范围在0~1.0,表示从完全透明
到完全不透明
:[判断题]
- A、正确
- B、错误
28.当将UIView
的alpha
属性设置为0
之后,以下描述正确的是:[多选题]
- A、当前的UIView及其子视图都会被隐藏,而不管子视图的alpha值是多少。
- B、当前的UIView会被隐藏,而子视图不会受到父视图alpha值的影响。
- C、当前的UIView不会从响应者链中移除。仍然可以接受触摸事件。
- D、当前的UIView会从响应者链中移除。而响应者链中的下一个会成为响应者。
29.当将UIView
的isHidden
属性设置为true
之后,以下描述正确的是:[多选题]
- A、当前的UIView及其子视图都会被隐藏,而不管子视图的hidden值是多少。
- B、当前的UIView会被隐藏,而子视图不会受到父视图isHidden值的影响。
- C、当前的UIView会从响应者链中移除。而响应者链中的下一个会成为响应者。
- D、当前的UIView不会从响应者链中移除。仍然可以接受触摸事件。
30.在默认情况下,当向一个视图中添加一个子视图,如果子视图的区域超出了父视图的范围,子视图超出的部分仍然会在屏幕上正常显示?:[判断题]
- A、正确
- B、错误
31.在iOS坐标系统
中,坐标的原点
位于:[单选题]
- A、左下角
- B、右上角
- C、左上角
- D、右下角
32.关于UIView
的frame
和bounds
属性,以下描述正确的是:[多选题]
- A、UIView的frame(origin,size)属性,定义了一个矩形,描述一个UIView的大小和父坐标系的位置。
- B、UIView的frame(origin,size)属性,定义了一个矩形,描述一个UIView的大小和自身坐标系的位置。
- C、UIView的bounds(origin,size)属性,定义了一个矩形,描述一个UIView的大小和自身坐标系的位置。
- D、UIView的bounds(origin,size)属性,定义了一个矩形,描述一个UIView的大小和父坐标系的位置。
33.在对UIView
视图进行放大、缩小或旋转
时。center
属性的值会发生改变
?:[判断题]
- A、正确
- B、错误
34.通过CGAffineTransform
仿射转换
,可以对UIView视图进行哪些变换
的操作:[多选题]
- A、缩放
- B、旋转
- C、隐藏
- D、位移
35.UIViewController
包含以下哪些功能
?[多选题]
- A、UIViewController类负责创建其管理的视图,并在内存较低时将它们从内容中移出。
- B、可以通过视图控制器来将新的视图内容,以模态窗口的方式显示在当前视图的上方。
- C、视图控制器可以响应设备的方向变化,对视图进行相应的调整。以适应新的方向。
- D、一些特殊的视图控制器,如导航视图控制器、标签视图控制器、可使视图的管理更加方便和规范。
36.关于UITabBarController
,以下描述正确的是:[多选题]
- A、UITabBarController不能添加到别的视图控制器中。
- B、UITabBarController可以添加到别的视图控制器中。
- C、UITabBarController的Tab bar可以放置在屏幕的底部或者顶部。
- D、UITabBarController的Tab bar只能放置在屏幕的底部。
37.关于UINavigationController
,以下描述正确的是:[多选题]
- A、UINavigationController导航控制器用于显示多屏并具有一定层次结构的内容,是构建分成应用程序的主要工具。
- B、UINavigationController维护了一个视图控制器栈,所有的子视图控制器都在于堆栈中。
- C、和UITabBarController相比,UINavigationController是作为栈来实现的。它更适合用于处理和显示分层的数据。
- D、UINavigationController导航控制器在管理、切入和切出多个内容页面,与UITabBarController类似。
38.UIControl
类的UIControlEvent
主要包含哪三种事件
?:[多选题]
- A、基于通知的控件事件
- B、基于值得控件事件
- C、基于触摸的控件事件
- D、基于编辑的控件事件
39.UIButton
是UIView
的一个子类?:[判断题]
- A、正确
- B、错误
40.Target-Action机制
可以对同一个控件绑定
多个Action
:[判断题]
- A、正确
- B、错误
41.如果你的视图并没有指定tintColor
属性,那么这个使用将使用父类
中的tintColor
属性?:[判断题]
- A、正确
- B、错误
42.UIButton
中受到tintColor
影响的范围有title
和image
的颜色
?:[判断题]
- A、正确
- B、错误
43.以下关于NSLineBreakMode
的枚举
成员,描述正确的是:[多选题]
- A、ByWordWrapping表示以单词为显示单位显示,后面部分省略不显示
- B、ByCharWrapping表示以字符为显示单位显示,后面部分省略不显示
- C、ByClipping表示剪切与文本宽度相同的内容长度,后半部分被删除
- D、ByTruncatingHead 表示开头省略,显示尾部文字内容
44.UISwitch
的大小
设置是无效
的:[判断题]
- A、正确
- B、错误
45.UITextField
支持代理模式delegate
,但是不支持Target-Action的机制
?[判断题]
- A、正确
- B、错误
46.UITableView
可用于以下哪些场合:[多选题]
- A、方便用户浏览有层次结构的数据
- B、提供一个可供选择的列表
- C、显示一系列数据地索引列表
- D、利用分组结构,展示细节信息和更详细的设置
47.开发者可以对UITableViewCell
进行哪些操作:[多选题]
- A、自定义单元格的文字标题、图标、背景灯属性。
- B、对单元格进行选择和高亮操作。
- C、配置单元格的附件视图。
- D、对单元格进行添加、删除、改变位置等操作。
48.以下关于UICollectionView
和UICollectionViewController
,描述正确的是:[多选题]
- A、UICollectionView和UICollectionViewController类是iOS 6 新引进的API。
- B、标准的UICollectionView对象包括三个部分:Cells、Supplementary Views、Decoration Views,这三部分都是UIView的子类。
- C、UICollectionView类负责管理数据地有序集合,并使用自定义布局的模型呈现这些数据。
- D、UICollectionView 除了多列布局之外,还可以实现平铺的布局、圆形的布局和更多的自定义布局。
49.在iOS
中只有继承UIResponder
类的对象才能处理触摸
事件?[判断题]
- A、正确
- B、错误
50.UIViewController
视图控制器、UIApplication
都是继承
自UIResponder
?[判断题]
- A、正确
- B、错误
51.如果UIWindow
对象无法处理某个触摸事件,则该触摸事件将被丢弃[判断题]
- A、正确
- B、错误
52.UIGestureRecognizer
类包含以下哪些手势:[多选题]
- A、UIPanGestureRecognizer
- B、UIRotationGestureRecognizer
- C、UILongPressGestureRecognizer
- D、UISwipeGestureRecognizer局。
53.UITapGestureRecognizer
属于非连续类型
的手势?[判断题]
- A、正确
- B、错误
54.UIPinchGestureRecognizer
属于非连续类型
的手势?[判断题]
- A、正确
- B、错误
55.Storyboard
故事版功能是在哪个iOS版本
发布的:[单选题]
- A、iOS4
- B、iOS5
- C、iOS6
- D、iOS7
56.以下对Storyboard
故事版功能 描述正确的是[多选题]
- A、通过简单地拖拽、往视图控制器添加各种界面控件,可以降低学习的难度。提供开发工作的效率和趣味。使开发工作更加人性化。
- B、可以更好地查看和理解项目中所有页面的外观,以及页面之间的链接跳转关系。
- C、Storyboard快速实现了视图之间的跳转关系。
- D、通过重写 prepareForSegue方法,将视图控制器的所有跳转逻辑都汇聚一起,方便进行统一的界面跳转和参数传递。
57.以下对Storyboard
故事版功能 描述正确的是[多选题]
- A、Storyboard通过 Cell ProtoType原型,以及Static静态Cell的特性,让表格控制器实现起来更容易
- B、通过Storyboard可以通过拖拽建立约束关系,从而快速实现各分辨率的适配。
- C、当Storyboard包含越来越多的视图控制器时,打得开Storyboard将越来越慢。
- D、通过将常见的功能比如注册、分享模块独立成一个Storyboard,可以实现功能的模块化和重复利用。
58.Storyboard
事实上是由XML
可扩展标记语言构成的文本文件
[判断题]
- A、正确
- B、错误
59.使用Single View Application模板
创建的项目,将自带
哪两个Storyboard文件
?[多选题]
- A、Home.storyboard
- B、Main.storyboard
- C、Index.storyboard
- D、LaunchScreen.storyboard
60.以下哪种标记表示来自storyboard
的连接
方法?[单选题]
- A、@IBMethod
- B、@IBOutlet
- C、@IBAction
- D、@IBProperty
61.在LaunchScreen.storyboard
故事版中,不能使用UIWebView,因为这里不能使用网络的。[判断题]
- A、正确
- B、错误
62.可以为IPhone
和iPad
指定不同的LaunchScreen.storyboard
故事版[判断题]
- A、正确
- B、错误
63.LaunchScreen.storyboard
故事版可以使用UIView或者UIViewController,而自定义的子类则不可以使用?[判断题]
- A、正确
- [] B、错误
64.CALayer
是被定义在那个框架
中的?[单选题]
- A、UIKit
- B、Foundation
- C、QuartCore
- D、Core Image
65.通过操作CALayer
对象,可以很方便地天正UIView的哪些界面属性?[多选题]
- A、阴影
- B、圆角
- C、边框
- D、渐变色
66.UIColor
、UIImage
是定义在哪个框架
中的[单选题]
- A、Foundation
- B、CoreGraphics
- C、UIKit
- D、Core Image
67.UIKit
只能在iOS平台使用,无法在macOS平台使用?[判断题]
- A、正确
- B、错误
68.QuartCore
框架可以直接使用UIColor
、UIImage
?[判断题]
- A、正确
- B、错误
69.CALayer
和UIView
一样也可以处理用户的触摸
事件?[判断题]
- A、正确
- B、错误
70.UIView
可以通过subviews
属性访问所有的子视图
,类似地,CALayer
也可以通过sublayers
属性访问所有的子层
?[判断题]
- A、正确
- B、错误
71.UIView
可以通过superview
属性访问父视图
,类似地,CALayer
也可以通过superlayers
属性访问所有的父层
?[判断题]
- A、正确
- B、错误
72.如果两个UIView
是父子关系
,那么它们内部的CALayer
也是父子关系
吗?[判断题]
- A、正确
- B、错误
73.因为UIView
对象已经是它内部根层的delegate
,所以不能在将某个UIView
设置CALayer
的delegate
?[判断题]
- A、正确
- B、错误
74.UIKit
框架位于iOS系统架构
的那一层?[单选题]
- A、核心操作层(Core OS layer)
- B、核心服务层 (Core services layer)
- C、媒体层(Media layer)
- D、可触摸层(Cocoa Touch layer)
75.iOS
的用户界面有哪几种创建方式
?[多选题]
- A、Xib
- B、Storyboard
- C、PhotoShop
- D、代码创建
76.IPhone X
的分辨率比例是?[单选题]
- A、4:3
- B、16:9
- C、18:9
- D、5:3
77.以下关于IPhone X
尺寸 描述正确的是?[多选题]
- A、高度增加了145pt,变成812pt
- B、状态栏高度由20pt变成44pt
- C、物理分辨率为1125px * 2436px
- D、iPhoneX屏幕是5.8英寸
78.iOS11
之前导航栏默认的高度为?[单选题]
- A、32pt
- B、48pt
- C、64pt
- D、96pt
79.iOS11
之后如果设置自prefersLargeTttles = YES
,则导航栏的高度为?[单选题]
- A、32pt
- B、48pt
- C、64pt
- D、96pt
80.在iOS11
上,如果APP在启动时图标的四周出现黑色,是因为图标的四角的圆角,并且周围为透明像素。[单选题]
- A、正确
- B、错误
81.以下哪个属性是iOS11
开始引入的,用来控制safeAreaInsets
是否加到layoutMargins
上[单选题]
- A、layoutMargins
- B、directionalLayoutMargins
- C、preservesSuperviewLayoutMargins
- D、insetsLayoutMarginsFromSafeArea
82.以下哪个属性是iOS8
开始引入的,用来指定视图
和它的子视图
之间的边距
[单选题]
- A、layoutMargins
- B、directionalLayoutMargins
- C、preservesSuperviewLayoutMargins
- D、insetsLayoutMarginsFromSafeArea
83.LayoutSubViews
在什么时候被调用?[判断题]
- A、当View本身的frame改变时
- B、当View本身的bounds改变时