还剩12页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
ios笔试题及答案2025iOS笔试题及答案(2025年常见考点整理)
一、文档说明本文档整理了2025年iOS开发岗位常见笔试题及参考答案,涵盖Objective-C与Swift基础、UIKit框架、内存管理、多线程、网络请求、数据存储等核心知识点,供iOS开发学习者、面试备考者参考练习,助力夯实基础与熟悉考点
一、单项选择题(共30题,每题1分)(注题目涵盖iOS开发基础语法、核心框架及常用技术点,答案为唯一正确选项)
1.以下关于Objective-C中@property属性修饰符的描述,错误的是()A.nonatomic非原子性访问,多线程下更高效B.strong强引用,对象引用计数+1C.weak弱引用,对象释放后自动置为nilD.retain弱引用,对象引用计数+
12.Swift中,以下哪种类型是值类型()A.StringB.ArrayC.StructD.Class
3.UIViewController生命周期中,哪个方法会在视图控制器被加载到内存时调用()A.viewDidLoadB.viewWillAppear第1页共14页C.viewDidAppearD.viewWillDisappear
4.以下关于iOS内存管理的描述,错误的是()A.ARC模式下,编译器自动管理引用计数B.MRC模式下,需手动调用retain/release/autoreleaseC.strong修饰的对象在引用计数为0时释放D.weak修饰的对象在引用计数为0时自动置为nil
5.GCD中,用于在主线程执行任务的队列是()A.dispatch_get_global_queueB.dispatch_get_main_queueC.dispatch_queue_createD.dispatch_queue_serial
6.以下哪种方式不能实现多线程()A.NSThreadB.NSOperationQueueC.GCDD.UIKit
7.Swift中,可选类型的表示方式是()A.IntB.IntC.OptionalIntD.Int!
8.以下哪个是iOS中用于网络请求的第三方库()A.AlamofireB.CoreData第2页共14页C.SQLiteD.Plist
9.当UIButton被点击时,会触发的事件是()A.UIControlEventTouchUpInsideB.UIControlEventValueChangedC.UIControlEventTouchDownD.UIControlEventEditingDidEnd
10.以下关于Block的描述,错误的是()A.可捕获外部变量B.默认为强引用外部对象C.可通过__weak避免循环引用D.只能在OC中使用,Swift不支持
11.iOS中,用于存储简单键值对数据的是()A.UserDefaultsB.CoreDataC.SQLiteD.FileManager
12.以下哪个不是iOS的屏幕适配方案()A.Auto LayoutB.FrameC.Size ClassesD.GCD
13.Swift中,let声明的变量特点是()A.可重新赋值B.不可重新赋值第3页共14页C.必须显式指定类型D.只能在OC中使用
14.以下哪个协议用于定义代理方法()A.NSObjectB.NSCopyingC.NSObjectProtocolD.NSMutableCopying
15.iOS中,用于解析JSON数据的类是()A.NSJSONSerializationB.NSXMLParserC.NSDataD.NSString
16.以下关于tableView的描述,错误的是()A.需实现UITableViewDataSource协议B.需实现UITableViewDelegate协议C.cellForRowAtIndexPath返回nil时崩溃D.registerNib:forCellReuseIdentifier:用于注册XIB创建的cell
17.Swift中,扩展(Extension)的作用是()A.只能扩展类,不能扩展协议B.可添加新方法、属性等,但不能重写已有方法C.必须在类内部定义D.无法扩展基础类型
18.iOS中,UIWindow的作用是()A.管理视图控制器B.绘制UI界面第4页共14页C.作为视图的容器,显示在屏幕上D.处理用户交互事件
19.以下哪种数据持久化方式不适合存储大量数据()A.PlistB.UserDefaultsC.CoreDataD.SQLite
20.以下关于NSNotification的描述,正确的是()A.通知中心是单例对象B.通知只能由系统发送,不能手动发送C.接收通知必须实现NSNotificationCenterDelegate协议D.通知发送后所有观察者都会收到
21.Swift中,struct与class的主要区别是()A.struct是引用类型,class是值类型B.struct支持继承,class不支持C.struct默认成员初始化,class需自定义初始化D.struct大小固定,class大小动态
22.iOS中,用于动画的类是()A.UIView的animateWithDuration:animations:方法B.NSObject的performSelector:withObject:afterDelay:方法C.UIButton的addTarget:action:forControlEvents:方法D.UIImageView的image属性
23.以下关于ARC的描述,错误的是()A.自动释放池可通过@autoreleasepool创建B.局部对象在作用域结束时自动释放第5页共14页C.循环引用可通过__weak解决D.全局对象永远不会被释放
24.Swift中,以下哪个关键字用于标记方法是重写父类方法()A.overrideB.overridefuncC.reoverrideD.super
25.iOS中,UINavigationController的作用是()A.管理多个视图控制器的栈结构,支持页面跳转B.直接绘制UI界面C.处理网络请求D.存储数据
26.以下关于UIImage的描述,错误的是()A.可通过UIImagenamed:加载资源图片B.imageWithData:可从二进制数据创建图片C.图片会自动缩放适配不同屏幕D.size属性表示图片的像素尺寸
27.Swift中,for-in循环的遍历对象可以是()A.数组B.字典C.字符串D.以上都可以
28.iOS中,用于获取当前设备网络状态的是()A.Reachability类B.AFNetworking第6页共14页C.NSURLConnectionD.UIApplication
29.以下关于CGRect的描述,正确的是()A.表示一个点的位置B.包含x、y、width、height四个属性C.必须通过CGRectMake创建D.是iOS中的颜色类型
30.Swift中,以下哪种方式可以声明一个闭包()A.{参数-返回值in代码}B.func{...}C.closure{...}D.block{...}
二、多项选择题(共20题,每题2分)(注题目可能有多个正确选项,多选、少选、错选均不得分)
1.以下属于iOS开发常用开发工具的有()A.XcodeB.Interface BuilderC.InstrumentsD.Safari
2.Objective-C中,@interface可以声明的内容有()A.属性B.方法C.成员变量D.协议
3.Swift中,以下哪些类型属于集合类型()第7页共14页A.ArrayB.DictionaryC.SetD.Tuple
4.UIKit框架中,以下属于UI控件的有()A.UIButtonB.UILabelC.UITextFieldD.UIImageView
5.以下关于内存管理的说法,正确的有()A.ARC下,__strong是默认修饰符B.__weak修饰的对象不会增加引用计数C.autoreleasepool可减少内存峰值D.循环引用只会发生在类对象之间
6.GCD中,常用的队列类型有()A.主队列B.全局队列C.自定义串行队列D.自定义并发队列
7.iOS中,数据持久化的方式有()A.Plist文件B.UserDefaultsC.CoreDataD.SQLite
8.Swift中,以下属于控制流语句的有()第8页共14页A.if-elseB.switchC.for-inD.while
9.以下关于tableView的描述,正确的有()A.numberOfRowsInSection返回每个分区的行数B.cellForRowAtIndexPath用于创建和配置cellC.可通过registerClass:forCellReuseIdentifier:注册cellD.支持分组显示(section)
10.iOS中,网络请求的方式有()A.NSURLConnectionB.NSURLSessionC.AFNetworkingD.Alamofire
11.以下关于Block的描述,正确的有()A.可访问外部变量B.可修改外部__block变量C.默认为强引用外部对象D.可通过__block避免循环引用
12.Swift中,属性的类型有()A.存储属性B.计算属性C.类型属性D.实例属性
13.iOS中,用于界面跳转的方式有()第9页共14页A.UINavigationController pushB.UITabBarController switchC.presentViewController:animated:D.dismissViewControllerAnimated:
14.以下关于UIViewController生命周期的方法,正确的执行顺序有()A.viewDidLoad-viewWillAppear-viewDidAppearB.viewWillDisappear-viewDidDisappear-viewDidLoadC.viewDidLoad-viewDidUnload-viewWillAppearD.viewWillAppear-viewDidAppear-viewDidLoad
15.Swift中,以下属于错误处理机制的有()A.tryB.catchC.throwsD.do
16.iOS中,动画实现方式有()A.UIView动画B.Core AnimationC.Spring动画D.骨架屏动画
17.以下关于NSOperation和NSOperationQueue的描述,正确的有()A.可设置操作的优先级B.支持依赖关系C.比GCD更灵活,可继承扩展第10页共14页D.必须在主线程执行
18.Swift中,以下属于值类型的有()A.StructB.EnumC.ClassD.Tuple
19.iOS中,用于处理用户输入的控件有()A.UITextFieldB.UITextViewC.UISwitchD.UISlider
20.以下关于Auto Layout的描述,正确的有()A.通过约束定义控件位置和尺寸B.支持相对布局C.适配不同屏幕尺寸D.必须设置所有约束,否则会崩溃
三、判断题(共20题,每题1分)(注对的打“√”,错的打“×”)
1.iOS开发中,Swift是唯一的编程语言()
2.@property nonatomic,strong修饰的对象,当没有强引用时会被释放()
3.GCD的dispatch_async函数会立即执行任务()
4.UIViewController的viewDidLoad方法只会调用一次()
5.Swift中,nil可以赋值给任何类型的变量()
6.NSNotificationCenter发送通知后,所有观察者都会收到()第11页共14页
7.UIImageView的contentMode属性控制图片的缩放方式()
8.iOS中,NSData用于存储二进制数据()
9.Swift的struct支持继承()
10.UINavigationController的栈结构是先进后出()
11.ARC模式下,不需要手动调用retain和release()
12.Block中使用self会导致循环引用()
13.tableView的reloadData方法会重新加载所有数据()
14.Swift中,init方法必须返回实例()
15.iOS的屏幕适配中,Frame是绝对布局,Auto Layout是相对布局()
16.NSOperationQueue的maxConcurrentOperationCount为1时表示串行执行()
17.UserDefaults存储的数据会立即写入磁盘()
18.Swift的for-in循环可遍历字典的所有键值对()
19.UIApplication是iOS应用的入口点()
20.CoreData是iOS的本地数据库框架()
四、简答题(共2题,每题5分)
1.简述UIViewController的生命周期方法,并说明常用场景参考答案UIViewController生命周期方法包括viewDidLoad视图加载完成,初始化数据和控件(仅调用一次);viewWillAppear视图即将显示,可刷新数据、设置导航栏等;viewDidAppear视图已显示,可执行动画、网络请求等;viewWillDisappear视图即将消失,可保存数据、停止动画;viewDidDisappear视图已消失,释放资源第12页共14页常用场景数据初始化在viewDidLoad,网络请求在viewDidAppear(避免预加载浪费资源),数据保存可在viewWillDisappear
2.说明GCD的基本概念及常用函数(至少列举3个)参考答案GCD(Grand CentralDispatch)是iOS多线程技术,基于队列和任务,简化多线程管理核心概念队列(串行/并发)、任务(同步/异步)常用函数dispatch_asyncqueue,block异步执行任务,不阻塞当前线程;dispatch_syncqueue,block同步执行任务,阻塞当前线程;dispatch_get_main_queue获取主线程队列,用于UI更新;dispatch_get_global_queueDISPATCH_QUEUE_PRIORITY_DEFAULT,0获取全局并发队列附标准答案
一、单项选择题(30题)1-5D C A D B6-10DBA A D11-15ADB CA16-20C BC BA21-25CAD AA26-30C DA BA
二、多项选择题(20题)1-5ABC ABCDABC ABC ABCD6-10ABCD ABCD ABCDABCDABCD11-15AB ABCDACD ACABCD第13页共14页16-20ABCABCABC ABDABC
三、判断题(20题)1-5×√×√×6-10√√√×√11-15√√√√√16-20√×√√√
四、简答题(2题)(详见正文答案)文档说明本文档题目及答案基于2025年iOS开发行业常见考点整理,涵盖基础语法、核心框架及实践应用,答案简洁准确,可结合实际开发经验进一步理解第14页共14页。
个人认证
优秀文档
获得点赞 0