iOS笔试题教学文案
iOS开发工程师招聘笔试题与参考答案(某大型央企)
招聘iOS开发工程师笔试题与参考答案(某大型央企)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个选项是iOS开发中常用的UI框架?A. UIKitB. AppKitC. CocoaD. Swift2、在Swift中,以下哪个关键字用于定义一个不可变的常量?A. varB. letC. constD. readonly3、题干:在iOS开发中,以下哪个框架是用来处理网络请求的?A. UIKitB. FoundationC. CoreGraphicsD. AFNetworking4、题干:在Swift中,以下哪个关键字用于定义一个可选类型?A. maybeB. maybe?C. optionalD. ?5、题干:在Swift中,以下哪个选项是用于创建单例模式的最佳实践?A. 使用静态变量B. 使用全局变量C. 使用static letD. 使用singleton关键字6、题干:在iOS开发中,以下哪种布局方式可以保证子视图始终位于父视图的中心?A. AutoLayoutB. Absolute LayoutC. Spring FrameworkD. Storyboard7、题干:在iOS开发中,以下哪个框架主要用于处理网络请求?A. UIKitB. Core GraphicsC. Core DataD. AFNetworking8、题干:在iOS开发中,以下哪个类用于处理文本的输入和显示?A. UITextFieldB. UITextViewC. UILabelD. UIButton9、以下哪个框架是用于iOS开发中的网络请求?A. UIKitB. Core DataC. AFNetworkingD. Core Graphics二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些技术是iOS开发中常用的UI组件?()A、UITableViewB、UICollectionViewC、UIWebViewD、UIImagePickerController2、以下关于iOS开发中多线程的说法,正确的是哪些?()A、iOS中可以使用GCD(Grand Central Dispatch)进行线程管理。
IOS开发人员笔试题目
IOS笔试题目
1.Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?
重写一个类的方式用继承好还是分类好?为什么?
2.#import 跟#include 又什么区别,@class呢, #import<> 跟#import”"又什
么区别?
3.属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,
在那种情况下用?
4.写一个setter方法用于完成@property (nonatomic,retain)NSString *name
5.对于语句NSString*obj = [[NSData alloc] init]; obj在编译时和运行时分别时什
么类型的对象?
6.常见的object-c的数据类型有那些,和C的基本数据类型有什么区别?如:
NSInteger和int
7.Objective-C如何对内存管理的,说说你的看法和解决方法?
8.内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象
9.如何对iOS设备进行性能测试?
10.谈谈你对移动终端应用的前景展望?
11.谈谈你对移动终端应用开发技术的了解,IOS、Android、WinPhone、Html5
等?
12.你参与过的IOS项目或产品情况,简要描述?。
iOS笔试题01
1>#import和#include都能完整地包含某个文件的内容,#import能防止同一个文件被包含多次2>@class仅仅是声明一个类名,并不会包含类的完整声明;@class还能解决循环包含的问题3>#import <> 用来包含系统自带的文件,#import “”用来包含自定义的文件1>readwrite:同时生成get方法和set方法的声明和实现2>readonly:只生成get方法的声明和实现3>assign:set方法的实现是直接赋值,用于基本数据类型4>retain:set方法的实现是release旧值,retain新值,用于OC对象类型5>copy:set方法的实现是release旧值,copy新值,用于NSString、block等类型6>nonatomic:非原子性,set方法的实现不加锁(比atomic性能高)1>@property (nonatomic, retain) NSString *name;- (void)setName:(NSString *)name{if (_name != name) {[_name release];_name = [name retain];}}2>@property(nonatomic, copy) NSString *name;- (void)setName:(NSString *)name{if (_name != name) {[_name release];_name = [name copy];}}1>编译时是NSString类型2>运行时是NSData类型1>常用OC类型:NSString、NSArray、NSDictionary、NSData、NSNumber等2>OC对象需要手动管理内存,C的基本数据类型不需要管理内存id声明的变量能指向任何OC对象1>每个对象都有一个引用计数器,每个新对象的计数器是1,当对象的计数器减为0时,就会被销毁2>通过retain可以让对象的计数器+1、release可以让对象的计数器-13>还可以通过autorelease pool管理内存4>如果用ARC,编译器会自动生成管理内存的代码1>只要调用了alloc、copy、new方法产生了一个新对象,都必须在最后调用一次release或者autorelease2>只要调用了retain,都必须在最后调用一次release或者autorelease3>@property如果用了copy或者retian,就需要对不再使用的属性做一次release操作4>如果用了ARC,另外讨论NSMutableArray* ary = [[NSMutableArray array] retain];NSString *str = [NSString stringWithFormat:@"test"]; // 1[str retain]; // 2[ary addObject:str]; // 3NSLog(@"%d", [str retainCount]);[str retain]; // 4[str release]; // 3[str release]; // 2NSLog(@"%d", [str retainCount]);[ary removeAllObjects]; // 1NSLog(@"%d", [str retainCount]);结果:3、2、11>创建线程的方法NSThreadNSOperationQueue和NSOperationGCD2>主线程中执行代码[self performSelectorOnMainThread: withObject: waitUntilDone:];[self performSelector: onThread:[NSThread mainThread] withObject: waitUntilDone:];dispatch_async(dispatch_get_main_queue(), ^{});3>延时执行double delayInSeconds = 2.0;dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW,(int64_t)(delayInSeconds * NSEC_PER_SEC));dispatch_after(popTime, dispatch_get_main_queue(), ^(void){});[self performSelector: withObject: afterDelay:];[NSTimer scheduledTimerWithTimeInterval: target: selector: userInfo: repeats:];。
ios开发工程师笔试题及答案
ios开发工程师笔试题及答案xxios开发工程师笔试题及答案1 iOS中传值的方式属性代理通知单例 block2 写一个单例代理类别单例+(id)allocWithZone:(struct _NSZone *)zonestatic Person *person;static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{person = [super allocWithZone:zone];});return person;+(Person *)sharePersonreturn [[self alloc] init];3 info.plist 和Prefix.pch的用处info.plist项目的配置属性Prefix.pch1.存放一些全局的宏(整个项目中都用得上的宏)2.用来包含一些全部的头文件(整个项目中都用得上的头文件)3.能自动打开或者关闭日志输出功能4iOS中是否有多线程?怎么实现多态?没有分类和协议5 多线程有哪些?主线程和次线程有什么区别?怎么通信?NSThread GCD NSOperation主线程不需要创建就存在,子线程需要创建,初始时候不存在更新UI必须在主线程而进行延时操作一般都在子线程-(void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)waitdispatch_async(dispatch_get_main_queue(),<#^(void)block#>)6 数据存储的方式1 plist2 归档3 SOLite4CoreData7jason解析遇到大量数据解析过程时,在内存上的`优化办法利用json的反序列话的几个代理方法,实现大数据的分割,解析,拼接,保存,从而降低内存的消耗。
iOS笔试题03
1>当数组元素需要动态地添加或者删除时,用NSMutableArray
2>当数组元素固定不变时,用NSArray
1>代理方法:返回tableView每行的高度、监听tableView每行的选中
2>数据源方法:返回tableView数据的组数和行数、每行显示什么数据
没有限制
系统会默认会不定时地创建和销毁自动释放池
当需要精确地控制对象的释放时间时,需要手动创建自动释放池
当做一次retain或者copy操作,都有可能增加计数器
NSObject常见的类方法有:alloc、new、description等
像NSStirng的stringWithFormat,NSNumber的numberWithInt
1> 创建项目时,Device选择Universal
2> 可以创建一套痛用的数据模型
3> 根据iPhone\iPad选择不同的控制器(iPad可能用UISplitViewController)
4> 根据iPhone\iPad选择不同的界面
1>atomic是原子性
2>atomic会对set方法的实现进行加锁
UIView封装的核心动画可以通过类方法\block实现
1>属性列表
2>Preference(NSUserDefaults)
3>键值归档(NSKeyedArchiver、NSCoding)
4>SQLite数据库
5>Core Data
NSManagedObject是Core Data中的实体对象
谓词:可以以一定条件来过滤数组、字典等集合数据,也能用在Core Data的数据查询中。
【优质】ios技术培训试题答案-精选word文档 (13页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==ios技术培训试题答案篇一:ios笔试题及答案IOS笔试题及答案1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?(8分)答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系。
2. #import 跟#include 又什么区别,@class呢, #import<> 跟#import””又什么区别?(8分)答:#import是Objective-C导入头文件的关键字,#include是C/C++导入头文件的关键字,使用#import头文件会自动只导入一次,不会重复导入,相当于#include和#pragma once;@class告诉编译器某个类的声明,当执行时,才去查看类的实现文件,可以解决头文件的相互包含;#import<>用来包含系统的头文件,#import””用来包含用户头文件。
3. 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用?(8分)1. readwrite 是可读可写特性;需要生成getter方法和setter方法时2. readonly 是只读特性只会生成getter方法不会生成setter方法 ;不希望属性在类外改变3. assign 是赋值特性,setter方法将传入参数赋值给实例变量;仅设置变量时;4. retain 表示持有特性,setter方法将传入参数先保留,再赋值,传入参数的retaincount会+1;5. copy 表示赋值特性,setter方法将传入对象复制一份;需要完全一份新的变量时。
苹果公司面试笔试.doc
苹果公司面试笔试1.桌子上放着一部老款iPhone,你所了解的iPhone使用的材料有哪些?面试职位:产品设计工程师苹果产品设计工程师的重要任务之一就是控制供给本钱,以降低手机的价格。
苹果的手机定价非常具有竞争力,因此面试者必须懂得如何在特定本钱区间内设计产品。
懂得材料及其性质能够帮助设计师在维持低本钱的同时设计出更好的产品。
2.形容一下你平时使用苹果产品的情况?面试职位:销售如果你想销售苹果的产品,你最好已经是苹果产品的用户。
不用说,苹果当然不会雇佣一个从来没有使用过iPhone的人做销售。
3.如果有500台洗衣机被测试实验室认定为不合格,你如何找出不合格的原因以及解决方法?面试职位:产品质量工程师如果制造过程中出现任何故障,你可能会失去价值数相当于百台iPhone的收入——这个数字也有可能是数万台或数十万台。
如果你想担任产品质量工程师,那么请首先确认,不管出现什么问题,你都能发现故障并找出原因所在。
尤其是当问题出现在供给链早期的时候,这一点更加重要。
4.在极其有限的资源环境下,如何在user-space框架下实现处理网络、文件系统、UI系统等的线程模型?面试职位:软件工程师编写一组代码并使之运行非常容易,但要让它高效率运行却很难。
尤其是如果你在为一款手机设计软件。
你必须使用低功耗的芯片,以维持较长的续航时间。
5.你如何计算出中国供给给美国的苹果的数量?面试职位:材料工程经理面试官所指的是苹果。
你懂的,一种水果。
但这仍然是一道相当根底的供给链题目。
如果你要担任供给链管理职位,你需要清楚地知道供给商有哪些,他们能提供的材料有哪些。
苹果优势的一个重要就是,他们买断了制造智能手机所需的所有最好的零部件。
如果你对整个供给链都了如指掌,你就能降低本钱。
iOS笔试题及答案.doc
1.什么是ARC/MRC,ARC无法管理内存的情况?答案1. ARC:自动引用计数。
0C自动内存管理机制,2区别于MRC需要手动管理引用计数retain或release对引用计数+1・1操作。
这种操作耗费精力容易出错,比如在多线程操作有时不确定哪个线程最后使用完毕,在模块化时对象被多个模块创建和使用,不能确定最后由谁去释放o无法管理内存的情况?**1***Block或Delegate的循环引用解决的方法:掐断其中的一条强引用,使之变成弱引用,变成这样,就打破了循环引用:_weaktypeof (self) weakSelf =self;Delegate要用weak修饰***2**NSTimer 未释放在使用NSTimer addtarget时,为了防止target被释放而导致的程序异常,timer会强引用target ,所以这也是一处内存泄露的隐患。
解决方法是使用线程安全的MSWeakTimer ,然后在dealloc中主动调用invalidate杆3★"非0C对象2•如何理解retain/copy/assign/release/autor releas引dealloc 关键字?答案copy:建立一个索引计数为1的对象,然后释放旧对象,主要用于nsstring;retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1 对其他NSObject和其子类assign:简单赋值,不更改索引计数release :手动释放对象;dealloc :它的作用是,当对象的引用计数为0 ,系统会自动调用dealloc方法,回收内存。
autorelease 原理:a. 先建立一^autorelease poolb. 对象从这个autorelease pool里面生成。
c. 对象生成之后调用autorelease函数,这个函数的作用仅仅是在autorelease pool中做个标记,让pool记得将来release —下这个对象。
ios开发工程师笔试题
ios开发工程师笔试题
预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制
1.沙盒是什么,你理解的沙盒的作用是干什么?
2.浅克隆和深克隆区别是什么,阐述一个你在项目开发中遇到深拷贝的场景。
3. 谈谈你对IOS的推送机制原理的理解。
4.数据库现有三张表,分别为:
Goods(商品表): ID商品编号、NAME商品名称、MANUFACTURER生产商、SID规格编号
Spec(规格表):ID规格编号、COLOR颜色、SIZE尺寸
Sales_record(销售记录表):ID销售记录流水号、GID销售商品编号、COUNT销售量
(1)请设计查询语句查出规格编号为1销售量最多的商品编号、商品名称、颜色、尺寸;
(2)请设计查询语句查出生产商在上海(以上海开头)的商品的销售量总和;
5.谈谈你对KVO和KVC的理解,项目有没有应用到,如果应用到,请说下应用场景。
6.阐述项目中如何使用HTTP请求
7.谈谈你对约束的理解,有没有用过,如果有,请说明应用场景。
8.简单阐述你的应用使用多线程的理解。
9.现在一个班上有10个每个高低不同的人,先把10个人打乱排队,如何用程序排序的算法,把10个人按照高低或者低高的顺序排序。
10.谈谈你对工厂方法设计模式的理解及写个简单伪代码。
ios笔试题及答案
ios笔试题及答案一、题目描述:1. 请简述iOS的MVC架构是什么?答案:iOS的MVC架构即Model-View-Controller架构,用于分离应用程序的数据模型、用户界面和控制逻辑。
Model负责处理数据的存储、检索和修改,View负责显示用户界面,Controller负责管理用户交互并根据用户操作更新Model和View。
2. 什么是iOS的Autolayout?答案:Autolayout是iOS中的一种界面布局方式,用于实现适配不同屏幕尺寸和方向的界面。
通过使用约束关系来描述视图之间的关系,Autolayout可以自动调整和计算视图的位置和大小。
3. 请简要介绍iOS中的多线程编程方式。
答案:iOS中的多线程编程方式包括:- NSThread:通过创建和管理自己的线程对象来实现多线程。
- GCD(Grand Central Dispatch):使用队列(dispatch queue)来管理任务的执行,自动进行线程的调度。
- NSOperation:基于GCD之上的高层抽象,通过将任务封装成操作(operation)来实现多线程。
二、题目解答:1. iOS的MVC架构是一种经典的软件设计架构,它将应用程序分为三个部分:Model、View和Controller。
下面分别介绍这三个部分的作用:- Model:代表应用程序的数据模型,负责处理数据的存储、检索和修改。
它通常包含数据结构、数据库操作和网络请求等功能。
- View:代表用户界面,负责显示数据和用户交互。
它包含了屏幕上显示的各种元素,如按钮、标签、文本框等。
- Controller:作为Model和View之间的连接器,负责处理用户输入、更新Model和View之间的关系。
它接收用户交互事件,调用Model的方法进行数据处理,更新View的显示。
MVC架构的优点是分离了应用程序的不同功能部分,使得各部分可以独立开发和测试,易于维护和扩展。
ios笔试题及答案
ios笔试题及答案1. 什么是iOS?A. 苹果公司的移动操作系统B. 苹果公司的桌面操作系统C. 微软公司的移动操作系统D. 谷歌公司的移动操作系统答案:A2. iOS系统支持的设备类型包括哪些?A. iPhoneB. iPadC. iPod TouchD. 所有以上选项答案:D3. 在iOS中,用于开发应用程序的主要编程语言是什么?A. SwiftB. JavaC. PythonD. C++答案:A4. iOS应用程序的扩展名是什么?A. .appB. .exeC. .ipaD. .apk答案:C5. 在iOS开发中,哪个框架用于创建用户界面?A. UIKitB. SwiftUIC. React NativeD. Flutter答案:A6. iOS应用程序的生命周期包括哪些阶段?A. 启动、运行、暂停、恢复、退出B. 启动、运行、暂停、终止C. 启动、运行、暂停、恢复、终止D. 启动、运行、暂停、恢复、退出、终止答案:C7. 在iOS中,哪个工具用于测试应用程序的性能?A. XcodeB. InstrumentsC. SimulatorD. TestFlight答案:B8. iOS应用程序的图标尺寸是多少?A. 180x180 pixelsB. 1024x1024 pixelsC. 120x120 pixelsD. 57x57 pixels答案:A9. iOS应用程序的最小支持版本是什么?A. iOS 7B. iOS 8C. iOS 9D. iOS 10答案:A10. iOS应用程序的发布平台是什么?A. App StoreB. Google PlayC. Microsoft StoreD. Amazon Appstore答案:A。
iOS 笔试题【90%的选中率】
8.ViewController 的 viewDidLoad,viewWillAppear,viewDidUnload,dealloc 分别是在什么时候调用,在自定义 ViewController 的时候这几个函数里面应该做什么工作?
9.简述 objective-c 内存管理的实现机制,并简述什么时候由你负责释放对象,什么时候不由 你释放 10.类的定义及声明文件以什么为后缀名? 11.怎样自动生成属性的获取方法和设置方法 12.声明一个静态方法和一个实例方法 13.写一个发送同步 http 请求,并获得返回结果的方法 14.怎样启动一个新线程,子线程怎样刷新主 UI 15.什么是 MVC,你工作时怎样运用它
NSString *documentsDirectory = [paths objectAtIndex:];
// 创建文件系统管理器
NSFileManager *fileManager = [[NSFileManager alloc] init];
// 判断 userData 目录是否存在
if(![fileManager
malloc (LEN_NODE);
void fun( NODE *p ){NODE *pCur, //curten node of old
list*pNewCur; //curten node of new list pCur = pHead->pNext;pHead->pNext = NULL;
1,表示变量是静态存储变量
表示变量存放在静态存储区. 2,表示该变量是内部连接 (这种情况是指该变量不在任何{}之内,就象全局变量那样,这时候加上 static) ,也就是说在其它的.cpp 文件中,该变量是不可见的(你不能用).
iOS面试+笔试题
iOS面试+笔试题1.#import和#include的区别 @class?@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import而#import比起#include的好处就是不会引起交叉编译2. readwrite,readonly,assign,retain,copy,nonatomic 属性的作用@property是一个属性访问声明,扩号内支持以下几个属性:1,getter=getName,setter=setName,设置setter与 getter 的方法名2,readwrite,readonly,设置可供访问级别2,assign,setter方法直接赋值,不进行任何retain操作,为了解决原类型与环循引用问题3,retain,setter方法对参数进行release旧值再retain新值,所有实现都是这个顺序(CC上有相关资料)4,copy,setter方法进行Copy操作,与retain处理流程一样,先旧值release,再Copy出新的对象,retainCount为1。
这是为了减少对上下文的依赖而引入的机制。
5,nonatomic,非原子性访问,不加同步,多线程并发访问会提高性能。
注意,如果不加此属性,则默认是两个访问方法都为原子型事务访问。
锁被加到所属对象实例级(我是这么理解的…)。
3.在一个对象的方法里面:= “object”;和name =”object” 有什么不同吗?答: =”object”:会调用对象的setName()方法;name = “object”:会直接把object赋值给当前对象的name 属性。
4.请简述= nil的机制,以及与[namerelease]的区别? =nil; //使用nil参数调用setName:方法[name release]生成的访问器将自动释放以前的name对象5.请简要说明viewDidLoad和viewDidUnload何时调用答:viewDidLoad在view从nib文件初始化时调用,loadView在controller的view为nil时调用。
苹果八大难死人不偿命的笔试题
苹果在面试过程中随时都有可能向求职者抛出这些考验智商与逻辑的问题,因此如果你向往进 “你面前有两扇门,其中一扇门内藏着宝藏,但如果你不小心闯入另一扇门,只能痛苦地慢慢死掉……”这一听就是那种经典的最令人头痛的一类问题,但其实与其他问题相比,这只是个热身。
在这两扇门后面,有两个人,这两个人都知道哪扇门后有宝藏,哪扇门擅闯者死,而这两个人呢,一个人只说真话,一个人只说假话。
谁说真话谁说假话?那就要看你有没有智慧自己找出来了,游戏规则是,你只能问这两个人每人一个问题。
那么,你问什么问题?问哪个人?根据他们的回答,你又该怎么做? 求职者的最佳答案:随便问其中一个人:“如果我问另一个人,他会跟我说哪扇门后是宝藏?如果你问的恰好是讲真话的那个人,那他指给你的答案就是那扇通向死亡的门,因为他会诚实地告诉你那个说谎的人会怎么说。
如果你问的是那个只说谎话的,你得到的也是错误的答案,因为另一个人是讲真话的,说谎话的人会告诉你与讲真话的人相反的答案。
所以你只要随便问一个人上述问题,然后选择与他们说的相反的门就行了。
问题二: “你前面站了5个人,他们中间只有一个人讲真话……”这个问题比上个问题难就难在,你只知道他们五个中有一个只讲真话,但其余四个,他们有时候讲真话,有时候讲假话,只有一点可以确定,这四个人将真话和假话有个规律:如果这次讲了真话,下次就会讲假话,如果这次讲假话,下次就讲真话。
你的任务是,把五个人中那个只讲真话的人找出来。
你可以问两个问题,两个问题可以向同一个人发问,也可以分别问两个人。
你该问什么问题?小提示:你可以这样安排两个问题承担的任务:首先你可以先问一个问题,不管得到的答案是什么,你都能从中知道下一个问题你将得到的答案是真是假。
求职者的最佳答案:随便找一个人,首先问:“你是那个只讲真话的吗?”如果答案是肯定的,你再问这个人:“谁是只讲真话的?”;如果第一个问题你得到的答案是否定的,你就再问对方“谁不是只讲真话的?”正如这个问题给出的提示,第一个问题的价值在于,如果你得到的答案是“我是”,那么你问的人要么是那个只讲真话的,要么是那个这一轮讲假话的“半真话半假话”者,不管是谁,他下一轮一定会说真话。
笔试题活动方案
笔试题活动方案1. 活动目的本次活动的目的是为了评估参与者的面试准备程度以及解决问题的能力。
通过笔试题活动,我们可以准确地衡量参与者在特定领域的知识水平和能力,并为后续的面试过程提供更全面的参考。
2. 活动内容本次活动的笔试题包括两个部分:理论题和实际应用题。
理论题旨在考察参与者对于相关领域的理论知识的理解程度,实际应用题旨在考察参与者将理论知识应用到实际场景中解决问题的能力。
以下是本次活动的题目示例:2.1 理论题1.简述什么是机器学习,它在实际应用中有哪些优势和挑战?2.请解释过拟合和欠拟合的概念,并提供应对这些问题的方法。
3.请简要介绍常用的数据结构和他们的应用场景。
4.简述数据库中的事务以及ACID的特性。
5.请列举并解释至少三种常见的软件开发模型。
2.2 实际应用题1.请设计一个简单的学生成绩管理系统,要求包括学生信息(姓名、学号、班级)的录入和修改功能,以及成绩查询功能。
2.假设你正在开发一款在线购物网站,设计数据库模型,包括用户信息、商品信息以及订单信息的存储。
3.请编写一个函数,接收一个字符串作为参数,并统计其中每个字符出现的次数。
参与者需要在规定的时间内完成以上题目,并将答案书面提交。
3. 活动安排本次活动的安排如下:时间:2022年1月1日(周六)上午9:00-12:00 地点:XXXXX(具体地点待定)时间内容9:00-9:30 参与者签到9:30-9:45 活动介绍及规则说明9:45-10:15 理论题答题时间10:15-10:30 休息十五分钟10:30-11:30 实际应用题答题时间11:30-11:45 答题时间结束,参与者提交答案11:45-12:00 活动总结及下一步计划说明4. 活动要求为了保证活动的顺利进行,请参与者:•准时参加活动并完成签到手续;•按时完成答题,并在规定时间内提交答卷;•遵守活动规则和考场纪律;•携带所需的考试用品(如笔、草稿纸等)。
5. 活动评估和奖励参与者的答卷将由专业人员进行评阅和打分,评估标准包括答案的准确性、完整性和清晰度等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
i O S笔试题iOS笔试题姓名_________________ 时间____________________一、填空题(20题)1、与alloc对应的方法是,与retain对应的方法是。
2、@property的作用是 , @synthesize的作用是。
3、一个对象的dealloc方法在时被调用。
4、分类(categories)能够向一个已有的类中添加。
拓展(extensions)能够在当前类中增加。
5、iOS开发者账户中,最多能够添加台设备号。
6、协议(protocal)可以分为两种,其中以关键字申明的协议可以不被实现。
7、是大多数Objective-C类继承的根类,它没有父类。
8、代理(delegate)的作用是。
9、UIViewController的didReceiveMemoryWarning方法在时会调用。
10、MVC模式中,M是指,V是指,C是指。
11、autorelase的作用是。
12、 iOS后台运行是在系统版本才开始支持。
13、代码:- (void)setName:(NSString *)newName{ = newName;}被调用的结果是。
14、UDID是由位十六进制字符串组成。
15、在KVC中通用的属性访问器方法是和。
16、关键字nil在Objective-C中表示。
17、#import和#include的区别是。
18、在Objective-C中是否支持运算符重载,能否在头文件里申明私有方法。
19、在Instruments工具中,用于检查内存泄露的工具是。
20、在iOS开发环境下,后缀为.a的文件又叫做。
二、单选题(20题)1、在Objective-C中,类的成员变量默认被申明为:()A:@private B:@protected C:@public D:@package2、iPhone、iPad、iTouch中使用的架构是()A:arm B:i386 C:x86 D:IA-323、下面哪个类在iPhone应用程序开发时不能使用( )A:UITabViewController B:UINavigationController C:UISplitViewController D:UITableViewController4、关于Objective-C++中的异常处理,下面说法最正确的是()A:Objective-C不支持异常处理B:在Objective-C++中,Objective-C的异常处理能够捕获C++的异常C:在Objective-C++中,Objective-C的异常处理不能捕获到C++的异常D:在Objective-C++中,Objective-C和C++的异常处理可以相互捕获异常5、在对象的dealloc方法中,关于[super dealloc];语句说法正确的是()A:[super dealloc];有没有没有关系B:[super dealloc];应该放在dealloc方法内的第一行C:[super dealloc];应该放在dealloc方法内的最后一行D:[super dealloc];位置无所谓,只要在dealloc方法里有就可以6、下面关于方法:[[[object method1] method2] method3:[object method4]];中的method调用顺序是 ( ) A: 1 2 3 4 B: 1 2 4 3 C:4 1 2 3 D: 4 3 2 17、iOS开发中,HTTPS通讯是在什么位置来保障安全性()A:NSURLRequest方法里B: NSURLRequest代理方法里C:NSURLConnection方法里D:NSURLConnection代理方法里8、关于NSURLConnection同步通讯和异步通讯,下面说法正确的是()A: 同步通讯是指发送数据后,不等接收方回应,接着发下一个数据B: 异步通讯时会阻塞当前线程C: 发送同步通讯时,系统会自动创建一个单独的线程D:一般不在主线程中使用同步通讯,因为会引起主线程阻塞9、下面方法中,那一个方法没有创建新的线程()A: + (void)detachNewThreadSelector:(SEL)selector toTarget:(id)target withObject:(id)argument;B: - (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument;C: - (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg;D: - (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;10、ARC(Automatic Reference Counting)模式下,下面哪个方法是未被禁用的: ( )A:retain B:copy C:release D:autorelease 11、下面不是标准UIButton类型的是 ( )A:UIButtonTypeRoundedRect B:UIButtonTypeContactAddC:UIButtonTypeRadio D:UIButtonTypeInfoLight12、在给UIButton设置图片时,为了让图片适应按钮的大小,需要将按钮的contentMode设置为: ( )A: UIViewContentModeScaleToFill B: UIViewContentModeScaleAspectFit C: UIViewContentModeScaleAspectFill D: UIViewContentModeCenter13、关于UIControl和UIView之间的关系,下面说法正确的是( ) A:UIControl继承于UIView B:UIView继承于UIControlC:UIControl与UIView之间没有继承关系D:UIControl和UIView都是直接继承于UIResponder14、关于应用程序目录在更新、恢复和更新过程的变化,下面说法错误的是()A:在备份过程中 /Library/Caches目录会被备份B:在应用程序更新过程中,/Documents目录会被保留C:在备份过程中/tmp目录将不会被备份D:在应用程序更新过程中,/Library/Preferences目录会被保留15、iPhone上,不能被应用程序直接调用的系统程序是()A:通讯录B:短信 C:日历D:邮件16、下列UIView的方法中,哪一个在IOS5.0前后的系统调用机制不同()A: addSubView B:layoutSubView C:drawRect D:removeFromSuperView17、构造UIImage的方法中,占用内存最大的哪个方法()A:imageNamed B:imageWithContentsOfFile C:imageWithData D:三者一样大18、下列对象中不能调用initWithContentsOfFile方法进行构造的是()A:NSString B:NSXMLParser C:NSDictionary D:NSData19、关于iCloud,下面说法错误的是()A:可以通过程序,将一个文档保存到用户的iCloud里B: 用以通过程序,在iCloud里只保存一个键值对C: 不能在模拟器上测试iCloud程序D: 程序使用iCloud时,只需要使用相应的API即可,不需要额外的配置20、应用程序大小超过多少时,只能通过WiFi从App Store上下载( )A:5MB B:10MB C:20MB D:100MB三、多选题(10题)1、下面哪些方法是UITableView的delegate方法: ( ) A: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(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;2、下面哪些关键字会引起对象的引用计数(retainCount)加一:( ) A:alloc B: init C:retain D:copy3、在以.mm为拓展名的文件里,可以包含的代码有哪些?( ) A:C B:Objective-C C:C++ D:Java4、下面哪些类中使用到了单例(Singletion)模式?( ) A:NSFileManager B:NSNotificationCenter C:UIApplicationD:UIDevice5、可以通过代码进行写操作的文件或目录有?( ) A:bundle目录B:Documents目录 C:keychain D:SQLite6、下面各数据类型中,能够直接放进NSArray数组的有:( ) A:BOOL B:NSInteger C:NSString D:NSArray7、Objective-C的快速枚举对比循环访问的优点,下面说法正确的是 ( ) A: 使用快速枚举效率更高B: 语法更简洁C:使用更安全D:支持更多的数据类型8、关于XML和JSON,下列说法正确的有:( ) A:XML是一种类似HTML的语言,JSON是一种轻量级的数据交换格式。
B:XML是基于键值对(key/value)的结构C:JSON有DOM和SAX两种解析方式D:JSON和XML之间可以相互转换9、在XCode上创建一个iOS工程,会自动添加进工程的Frameworks有哪些 ( ) A:UIKit.framework B:Foundation.frameworkC:CoreGraphics.framework D:QuartzCore.framework10、关于iOS程序后台运行,下面说法正确的有()A:程序可以在后台播放音乐B:程序可以在后台收集用户位置信息C:程序可以在后台运行VOIP服务D:程序可以在后台发送HTTP通讯答案:一、填空题(20)1、dealloc release(/autorelease)2、申明属性及其特性自动生成属性的访问器(getter/setter)方法3、引用计数(retainCount)降为04、方法属性和方法5、1006、@optional7、NSObject8、让一个对象实现另外一个对象的方法9、系统内存不足10、模型视图控制器11、延后调用release方法(将对象放入自动释放池)12、iOS4.013、程序死循环14、4015、valueForKey: setValue:forKey:16、一个空对象17、#import可以避免文件被多次引用18、否(不支持)否(不能)19、Leaks20、cocoa touch static library(static library/静态库)二、单选题(20)1、B2、A3、C4、C5、C6、B7、D8、D9、D 10、B11、C12、C 13、A 14、C 15、C 16、B 17、A 18、B 19、D 20、C三、多选题(10)1、CD2、ACD3、ABC4、ABCD5、BCD6、CD7、ABC8、AD9、ABC 10、ABC。