当前位置:文档之家› iOS笔试题

iOS笔试题

iOS笔试题
iOS笔试题

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{

https://www.doczj.com/doc/1f18216908.html, = 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:@package

2、iPhone、iPad、iTouch中使用的架构是()A:arm B:i386 C:x86 D:IA-32

3、下面哪个类在iPhone应用程序开发时不能使用

( )

A:UITabViewController B:UINavigationController C:UISplitViewController D:UITableViewController

4、关于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 1

7、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:UIButtonTypeContactAdd

C:UIButtonTypeRadio D:UIButtonTypeInfoLight

12、在给UIButton设置图片时,为了让图片适应按钮的大小,需要将按钮的contentMode设置为: ( )

A: UIViewContentModeScaleToFill B: UIViewContentModeScaleAspectFit C: UIViewContentModeScaleAspectFill D: UIViewContentModeCenter

13、关于UIControl和UIView之间的关系,下面说法正确的是( ) A:UIControl继承于UIView B:UIView继承于UIControl

C:UIControl与UIView之间没有继承关系

D:UIControl和UIView都是直接继承于UIResponder

14、关于应用程序目录在更新、恢复和更新过程的变化,下面说法错误的是

()

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:removeFromSuperView

17、构造UIImage的方法中,占用内存最大的哪个方法()A:imageNamed B:imageWithContentsOf D:三者一样大

18、下列对象中不能调用initWithContentsOfFile方法进行构造的是()

A:NSString B:NSXMLParser C:NSDictionary D:NSData

19、关于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:copy

3、在以.mm为拓展名的文件里,可以包含的代码有哪些?( ) A:C B:Objective-C C:C++ D:Java

4、下面哪些类中使用到了单例(Singletion)模式?( ) A:NS B:NSNotificationCenter C:UIApplication

D:UIDevice

5、可以通过代码进行写操作的文件或目录有?( ) A:bundle目录B:Documents目录 C:keychain D:SQLite

6、下面各数据类型中,能够直接放进NSArray数组的有:( ) A:BOOL B:NSInteger C:NSString D:NSArray

7、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.framework

C:CoreGraphics.framework D:QuartzCore.framework

10、关于iOS程序后台运行,下面说法正确的有()A:程序可以在后台播放音乐

B:程序可以在后台收集用户位置信息

C:程序可以在后台运行VOIP服务

D:程序可以在后台发送HTTP通讯

答案:

一、填空题(20)

1、dealloc release(/autorelease)

2、申明属性及其特性自动生成属性的访问器(getter/setter)方法

3、引用计数(retainCount)降为0

4、方法属性和方法

5、100

6、@optional

7、NSObject

8、让一个对象实现另外一个对象的方法

9、系统内存不足

10、模型视图控制器

11、延后调用release方法(将对象放入自动释放池)

12、iOS4.0

13、程序死循环

14、40

15、valueForKey: setValue:forKey:

16、一个空对象

17、#import可以避免文件被多次引用

18、否(不支持)否(不能)

19、Leaks

20、cocoa touch static library(static library/静态库)

二、单选题(20)

1、B

2、A

3、C

4、C

5、C

6、B

7、D

8、D

9、D 10、B

11、C

12、C 13、A 14、C 15、C 16、B 17、A 18、B 19、D 20、C

三、多选题(10)

1、CD

2、ACD

3、ABC

4、ABCD

5、BCD

6、CD

7、ABC

8、AD

9、ABC 10、ABC

IOS软件工程师笔试题(全选择题)【0-1年经验】

单选题(共25题) 1.OC中包含一个自定义的头文件应该使用: A.#include "" B.#include<> C.#import "" D.#import<> 2.必须实现的协议方法使用:关键字声明. A.@property B.@interface C.@required D.@protocol 3.NSArray *array = [NSArrayarrayWithObjects:@"1",@"2",@"3",@"4",@"2", nil]; NSMutableSet *set = [[NSMutableSetalloc]init]; for(NSString *str in array) { [setaddObject:str]; } NSLog(@"%lu",[set count]); [set release]; 控制台打印的结果是: A.4 B.5 C.6 D.7 4.声明一个方法:提供Student对象数组按照学号升序排列的判断条件: A.-(NSComparisonResult)compareWithNumberForAscendSort:(Student*)otherStudent B.-(NSInteger)compareWithNumberForAscendSort:(Student*)otherStudent C.- (BOOL))compareWithNumberForAscendSort:(Student*)otherStudent D.+(int)compareWithNumberForAscendSort:(Student 5.OC语言中类的实例变量如果只可以被本类和其子类访问,需要下列哪个修饰符: A.@public B.@private C.@protected D.@friendly 6.关于集合描述不正确的是: A.所有的集合都可以添加元素。 B.集合分为可变集合.不可变集合。 C.数组.字典.NSSet这三种集合存储数据的方式不同。 D.所有集合都能保存id类型数据。 7.NSDictionary *dict = [NSDictionarydictionaryWithObject:@"a value" forKey:@"aKey"]; NSLog(@"%@",[dictobjectForKey:@"aKey"]); [dict release]; 控制台中打印的最后一条信息会是: A.a value B.aKey : a value

100个iOS开发面试题汇总

100个iOS开发面试题汇总 关于iOS开发面试,不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的好机会。 无论是对于公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,从编程、设计、App Store等各个方面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。一方面,能够帮助HR在短时间内获取更多反馈信息,更好地甄选合适人选,而iOS开发者及设计师在寻找相关工作时,也可作为参考,为面试做好万全准备。 常见问题 你昨天/这周学习了什么? 你为什么热衷于软件开发?

你对哪一种控制系统比较熟悉? 是否参与过GitHub项目? 是否参与过GitHub或其他同类型网站的iOS开源项目? 请描述一下你的iOS应用开发流程。 是否熟知CocoaPods?它是什么?如何运行的? 请概括一下你对软件授权的理解,及其对软件开发的影响。 请概括一下你在构建iOS应用时的测试过程。iOS应用如何实现对其他语言、日期格式以及货币单位的支持? 请描述一下Instruments及其作用。 关于iOS技术 请解释一下Handoff是什么,并简述它是如何实现iOS、Mac/网页应用互通的。 iCloud包含了哪些技术与服务? iOS扩展是指?能否列举一些热门或常见的范例? HealthKit是什么? HomeKit是什么?

Apple Pay是什么?能否描述一下如何在应用中使用Apple Pay? 请解释一下iOS应用沙盒机制。 VoiceOver是什么?请举例解释一下iOS中的辅助功能(Accessibility)。开发者如何使用这些功能? iOS应用是如何实现后台多任务处理(Multitasking)的? Game Center针对iOS游戏有哪些功能? iBeacons是什么? Cocoa/Cocoa Touch是什么? 请概括一下Core Audio,Core Data以及Core Location各是什么。它们对iOS应用有何意义? 请描述SpriteKit和SceneKit的作用。 Metal是什么? 响应链(Responder Chain)是什么?它是如何发挥作用的? 按钮和其他控制方式对哪些操作做出回应? AppDelegate扮演着什么样的角色?

iOS笔试题教学文案

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{ https://www.doczj.com/doc/1f18216908.html, = 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:@package 2、iPhone、iPad、iTouch中使用的架构是()A:arm B:i386 C:x86 D:IA-32 3、下面哪个类在iPhone应用程序开发时不能使用 ( ) A:UITabViewController B:UINavigationController C:UISplitViewController D:UITableViewController 4、关于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 1 7、iOS开发中,HTTPS通讯是在什么位置来保障安全性()A:NSURLRequest方法里B: NSURLRequest代理方法里 C:NSURLConnection方法里D:NSURLConnection代理方法里 8、关于NSURLConnection同步通讯和异步通讯,下面说法正确的是()A: 同步通讯是指发送数据后,不等接收方回应,接着发下一个数据 B: 异步通讯时会阻塞当前线程 C: 发送同步通讯时,系统会自动创建一个单独的线程

iOS笔试题目

A.assign B.retain C.copy D.Strong 选 A ;避免循环引用!那么就要知道循环引用是怎么来的?比如,使用 tableview 的时候我们会设置他的 delete;可能一般情况下是你的 viewcontroller 对象;viewcontroller 持有着这个tableview,如果tableview 不使用 assign (arc 使用 weak)的话,那么就造成了tableview 持有viewcontroller,即相互持有,最终结果 是viewcontroller 内存泄露,释放不掉了;这是一个很严重的问题!viewcontroller 是一个很大的对象! B,D 是一个意思,都是持有(保留);copy的话就更不可能了,原因很简单,tableview 怎么知道他的delete 有没有实现 copying 协议呢! 2.关于Objective-C中属性的说明,以下错误的是(D) 是可读可写特性,需要生成getter方法和setter方法 是只读特性,只有getter方法,没有setter方法 是赋值属性,setter方法将传入参数赋值给实例变量 表示持有特性,copy属性表示拷贝属性,都会建立一个相同的对象 Copy是创建一个新对象,Retain是创建一个指针,引用对象计数加1。 Copy属性表示两个对象内容相同,新的对象retain为1 ,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。 Retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容相同,这个对象的retain值+1也就是说,retain 是指针拷贝,copy 是内容拷贝 3.下面对category描述不正确的是(B) 可以添加新的方法 可以删除修改之前的方法

ios面试题锦集(带答案)

iOS 面试题锦集 1.Difference between shallow copy and deep copy??浅复制和深复制的区别?? 答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。?深层复制:复制引用对象本身。?意思就是说我有个A对象,复制一份后得到A_copy 对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不 过是是一个指针,对象本身资源?还是只有一份,那如果我们对A_copy执行了 修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一 个思想。深复制就好理解了,内存中存在了?两份独立对象本身。?用网上一哥们 通俗的话将就是:?浅复制好比你和你的影子,你完蛋,你的影子也完蛋?深复 制好比你和你的克隆人,你完蛋,你的克隆人还活着。 2.What is advantage of categories? What is difference between implementing a category and inheritance??类别的 作用?继承和类别在实现中有何区别? 答案:category 可以在不获悉,不改变原来代码的情况下往里面添加新的方法,只能添加,不能删除修改。?并且如果类别和原来类中的方法产生名称冲突,则类别将覆盖原来的方法,因为类别具有更高的优先级。?类别主要有3个作用:?(1)将类的实现分散到多个不同文件或多个不同框架中。?(2)创建对私有方法的 前向引用。?(3)向对象添加非正式协议。?继承可以增加,修改或者删除方法, 并且可以增加属性。 3.Difference between categories and extensions??类别和类 扩展的区别。 答案:category和extensions的不同在于后者可以添加属性。另外后者添加的 方法是必须要实现的。?extensions可以认为是一个私有的Category。

黑马程序员IOS面试宝典之iOS性能优化

黑马程序员:IOS面试宝典之iOS性能优化 1. 平时你是如何对代码进行性能优化的? 利用性能分析工具检测,包括静态Analyze 工具,以及运行时Profile 工具,通过Xcode工具栏中Product->Profile可以启动,启动后界面如下 比如测试程序启动运行时间,当点击Time Profiler应用程序开始运行后.就能获取到整个应用程序运行消耗时间分布和百分比.为了保证数据分析在统一使用场景真实需要注意一定要使用真机,因为此时模拟器是运行在Mac上,而Mac上的CPU往往比iOS设备要快。 为了防止一个应用占用过多的系统资源,开发iOS的苹果工程师门设计了一个“看门狗”的机制。在不同的场景下,“看门狗”会监测应用的性能。如果超出了该场景所规定的运行时间,“看门狗”就会强制终结这个应用的进程。开发者们在crashlog里面,会看到诸如0x8badf00d这样的错误代码。 2. 优化Table View 为了保证table view平滑滚动,确保你采取了以下的措施: ?正确使用`reuseIdentifier`来重用cells ?尽量使所有的view opaque,包括cell自身 ?如果cell内现实的内容来自web,使用异步加载,缓存请求结果 ?减少subviews的数量 ?尽量不适用`cellForRowAtIndexPath:`,如果你需要用到它,只用一次然后缓存结果?使用`rowHeight`, `sectionFooterHeight` 和`sectionHeaderHeight`来设定固定的高,不要请求delegate 3. UIImage加载图片 A:imagedNamed初始化 B:imageWithContentsOfFile初始化 imageNamed默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片对象,则从指定地方加载图片然后缓存对象,并返回这个图片对象. 而imageWithContentsOfFile则仅只加载图片,不缓存. 大量使用imageNamed方式会在不需要缓存的地方额外增加开销CPU的时间来做这件事.当应用程序需要加载一张比较大的图片并且使用一次性,那么其实是没有必要去缓存这个图片的,用imageWithContentsOfFile是最为经济的方式,这样不会因为UIImage元素较多情况下,CPU会被逐个分散在不必要缓存上浪费过多时间. 使用场景需要编程时,应该根据实际应用场景加以区分,UIimage虽小,但使用元素较多问题会有所凸显. 1>不要在?viewWillAppear 中做费时的操作 viewWillAppear: 在view 显示之前被调用,出于效率考虑,在这个方法中不要处理复杂费时的事情;只应该在这个方法设置view 的显示属性之类的简单事情,比如背景色,字体等。要不然,用户会明显感觉到view 显示迟钝。 2>在正确的地方使用reuseIdentifier table view用`tableView:cellForRowAtIndexPath:` 为rows分配cells的时候,它的数据应该重用自UITableViewCell。一个table view维持一个队列的数据可重用的UITableViewCell 对象。

iOS笔试题

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{ https://www.doczj.com/doc/1f18216908.html, = 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:@package 2、iPhone、iPad、iTouch中使用的架构是()A:arm B:i386 C:x86 D:IA-32 3、下面哪个类在iPhone应用程序开发时不能使用 ( ) A:UITabViewController B:UINavigationController C:UISplitViewController D:UITableViewController 4、关于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 1 7、iOS开发中,HTTPS通讯是在什么位置来保障安全性()A:NSURLRequest方法里B: NSURLRequest代理方法里 C:NSURLConnection方法里D:NSURLConnection代理方法里 8、关于NSURLConnection同步通讯和异步通讯,下面说法正确的是()A: 同步通讯是指发送数据后,不等接收方回应,接着发下一个数据 B: 异步通讯时会阻塞当前线程 C: 发送同步通讯时,系统会自动创建一个单独的线程

美团校招笔试题题目整理

2017美团校招笔试题题目整理想要进美团的小伙伴们,都做好校招时回答笔试题的准备了吗?今天学习啦小编就和大家分享2017美团校招笔试题题目整理,希望对大家的学习有帮助! 2017美团校招笔试题题目整理(一) 1.某汽车公司下属有两个汽车制造厂,全部产品的40%由甲厂生产,60%由乙厂生产。而甲乙二厂生产的汽车的不合格率分别为1%,2%。从公司生产的汽车中随机抽取一辆为不合格品,问它是甲厂生产的可能性多大? 2.地上有很多硬币,有一个机器人会每天处理一遍所有的硬币:如果硬币是反面,就把硬币翻转;如果硬币是正面就随机抛一下。机器人这样日复一日的处理,请问最后地上硬币正反面的比例能够稳定吗?如果能够稳定,最终比例是多少?请给出推理过程和结果。 3.某房间里有50盏灯(编号为1~50)和50个开关(编号为1~50)。当按下i号开关时,所有为i倍数的灯就变换一下状态(由亮变为熄,或是由熄变为亮)。比如按下2号开关时,2、4、6、8…50号灯全变更状态。小明走进房间,发现所有灯全熄着,于是依次按下了1,2,3…50所有开关。请问最后有多少灯亮着?请说明计算过程。 4.假设只能以较低的速率调用一个方法access(),请提供一个方法safe_access(),如果调用瞬时速率超过每秒钟R次时返回‘Access denied’,否则调用access,返回‘Success’。假定计算机最小时钟单位是毫秒,请1)写出逻辑思路;2)再写代码完整实现,编程语言不限。

5.给定一个单链表和一个整数k,要求每隔k个元素翻转链表: structnode{ intkey; struct node* next; }; typedef node* List; 实现该函数:void kReverse(List head,int k) 比如:原始链接表为:1->2->3->4->5->6 k=2翻转为:2->1->4->3->6->5 k=3翻转为:3->2->1->6->5->4 k=4翻转为:4->3->2->1->5->6 6.对于一个m*n的int矩阵,其每行自左向右是升序排列的,其每列自上向下是升序排列的,现需要在其中查找整数elem,找到时返回elem所在位置。请1)先写出思路:2)自行定义函数接口然后编程实现,编程语言不限。 7.(系统运维选做)有主机A,B,C通过eth0和同一个交换机相连。A的IP地址为 192.168.1.2,子网掩码255.255.255.0;B的IP地址为192.168.2.2,子网掩码为: 255.255.255.0;C的IP地址为192.168.4.2,子网掩码255.255.255.0。线希望A和B能够通信,A和C、B和C不能通信。 (1)假设能更改A和B子网掩码,要如何设置A和B的子网掩码? (2)如果不能更改子网掩码,需要在A和B做什么设置?

iOS开发高级程序员面试题-答案

一、判断题(每题2分,共20分) 1、UITableView能够绑定多个数据源。(错) 2、一个UIViewController可以管理多个UITableView。(对) 3、Object-c的类可以多重继承。(错) 4、objective-c类里面的方法只有两种, 静态方法和实例方法。(对) 5、NSFileManager和NSWorkspace在使用时都是基于进程进行单件对象的实例化。(对) 6、用类别增加方法时,不能与原来类中的方法产生名称冲突。(错) 7、frame指的是该view在本身坐标系统中的位置和大小。(错) 8、method是一个方法的名字,selector是一个组合体。(错) 9、ARC是编译特性,不是运行时特性,在编译时,编译器会自动加上释放代码。(对) 10、从iOS4之后,Safari支持全屏浏览,Siri支持普通话。(对) 二、填空题(每空2分,共20分) 1、iOS是使用Objective-C语言编写的,使用该语言开发的Cocoa是一款功能强大的用户界面工具包,也是iOS的核心。 2、数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。链表恰好相反,其中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。 3、发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作。而发送异步请求不会阻塞主线程,会建立一个新的线程来操作,之后程序可以继续运行。 页脚内容1

4、autorelease只是把Object放入了当前的autorelease pool中,当它被释放时,其中的所有Object都会被调用Release。 5、作为Objective-C导入头文件的关键字,#import<>用来包含系统的头文件,#import””用来包含用户头文件。 三、简述题(每题4分,共20分) 1、delegate和notification有什么区别,什么情况下使用? 答:delegate:消息的发送者(sender)告知接收者(receiver)某个事件将要发生,delegate同意然后发送者响应事件,delegate机制使得接收者可以改变发送者的行为。通常发送者和接收者的关系是直接的一对多的关系。 notification:消息的发送者告知接收者事件已经发生或者将要发生,仅此而已,接收者并不能反过来影响发送者的行为。通常发送者和接收者的关系是间接的多对多关系。 2、Object-C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 答:线程创建有三种方法:使用NSThread创建、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue。 在主线程执行代码,方法是performSelectorOnMainThread。 如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone。 3、iOS有哪些数据持久化方式? 答:四种:属性列表、对象归档、SQLite3和Core Data。 页脚内容2

腾讯实习招聘-安全岗笔试题答案详细解释电子教案

0x00前言 鉴于曾经做过腾讯找招聘-安全技术笔试题目,故留此一记,以作怀念。此外,网上也有公布的相关的答案,但是其中有些题目稍有错误或者解释不全,所以趁机写上一记。 0x01 开始 2016年4月2日晚上7:00到9:00,腾讯2016实习招聘-安全技术的笔试题确实考到很多基础知识。该笔试题有两部分。第一部分是30道不定项选择题、10道简答题和5道判断题,题量是45,限时80分钟。第二部分是2道分析题,限时40分钟。有下面统一给出答案和为每一题做出解释。 0x02 不定项选择题-30 1 应用程序开发过程中,下面那些开发习惯可能导致安全漏洞?() A 在程序代码中打印日志输出敏感信息方便调式 B 在使用数组前判断是否越界 C 在生成随机数前使用当前时间设置随机数种子 D 设置配置文件权限为rw-rw-rw- 答案:AD 解释:

A 为日志包含敏感信息,容易泄露账号密码接口数据等信息,可能产生安全漏洞。 B 为数组大小问题,数组不越界,可防止溢出安全漏洞。因此是安全的。 C 用当前时间来作为随机数种子的话,随着时间的不同,生成的随机数也会不同。因此是安全的。 D 为配置文件的权限问题,rw为可以读取可以写入。第一个rw-为文件所属用户、第二个rw-为用户所在组、第三个rw-为其它用户的读写。可以导致非法写入和越权访问,可能产生安全漏洞。 2 以下哪些工具提供拦截和修改HTTP数据包的功能?() A Burpsuite B Hackbar C Fiddler D Nmap 答案:AC 解释: A Burpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。可以进行拦截和修改HTTP数据包。 B Hackbar 是用来进行sql注入、测试XSS和加解密字符串的。可以用来快速构建一个HTTP请求(GET/POST)等。但是不能拦截和修改HTTP数据包。 C Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。可以进行拦截和修改HTTP数据包。 D Nmap是一款网络端口扫描工具,可以扫描各种端口及其服务甚至是漏洞检测。但是不能不能拦截和修改HTTP数据包。 3 坏人通过XSS漏洞获取到QQ用户的身份后,可以进行一下操作?() A 偷取Q 币 B 控制用户摄像头 C 劫持微信用户 D 进入QQ空间 答案:D 解释: XSS漏洞是获取用户cookie的,即是获得用户cookie等敏感信息。 A 偷取Q币。需要用户进行确认或者输入密码,具有很强的交互性。因此无法进行。 B 控制用户用户摄像头。因为开启摄像头,需要用户手动确认。因此无法进行。

IOS笔试题题目

1. delegate中的property使用以下哪个属性() A. assign B. retain C. copy D. Strong 2. 关于Objective-C中属性的说明,以下错误的是() A.readwrite是可读可写特性,需要生成getter方法和setter方法 B.readonly是只读特性,只有getter方法,没有setter方法 C.assign是赋值属性,setter方法将传入参数赋值给实例变量 D.retain表示持有特性,copy属性表示拷贝属性,都会建立一个相同的对象 3. 下面对category描述不正确的是() A.category可以添加新的方法 B.category可以删除修改之前的方法 C.将类的实现分散到多个不同文件或多个不同框架中 D.创建对私有方法的前向引用 4. NSRunLoop的以下描述错误的是() A.Runloop并不是由系统自动控制的 B.有3类对象可以被run loop监控:sources,timers,observers C.线程是默认启动run loop的 D.NSTimer可手动添加到新建的NSRunLoop中 5. 单例类NSNotificationCenter提供信息广播通知,它采用的是观察者模式的通知机制。() A. 对 B. 错 6. 判断:从通讯录数据库查询联系人数据,可通过ABAddressBookCopyArrayOfAllPeople和ABAddressBookCopyPeopleWithName函数获得。() A. 对 B. 错 7. NSURLConnection类的同步请求方法是() A.+ sendSynchronousRequest:returningResponse:error: B.–initWithRequest:delegate: C.–initWithRequest:delegate:startImmediately: 8. genstrings命名的基本语法:genstrings [-a] [-q] [-o] sourcefile() A.对 B.错 9. 面哪些属于UITableViewDelegate协议的方法() A.tableView:cellForRowAtIndexPath: B.tableView:numberOfRowsInSection: C.tableView:didSelectRowAtIndexPath: D.numberOfSectionsInTableView: 10. 平铺导航模式是在内容组织上没有层次关系,展示的内容都放置在一个主屏幕上,采用分屏或分页控制器进行导航,可以左右或者上下滑动屏幕查看内容()

史上最全的iOS面试题及答案

史上最全的iOS面试题及答案 以下是为大家整理的史上最全的ios面试题及答案的相关范文,本文关键词为史上,最全,ios,试题,答案,,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教师教学中查看更多范文。 精品文档 . 史上最全的ios面试题及答案?1.写一个nsstring类的实现 +(id)initwithcstring:(c*****tchar*)nullTerminatedcstring encoding:(nsstringencoding)encoding; +(id)stringwithcstring:(c*****tchar*)nullTerminatedcstring

encoding:(nsstringencoding)encoding { nsstring*obj; obj=[selfallocwithZone:nsDefaultmallocZone()];obj=[objinitwithcstring:n ullTerminatedcstringencoding:encoding]; returnAuToReLeAse(obj); } 2static关键字的作用: (1)函数体内static变量的作用范围为该函数体,不同于auto 变量,该变量的内存只被分配一次, 因此其值在下次调用时仍维持上次的值;

(2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问; (3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明 它的模块内; (4)在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝; (5)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。 3线程与进程的区别和联系? 精品文档 进程和线程都是由操作系统所体会的程序运行的基本单元,系统

iOS 面试题汇总

超全!iOS ?面试题汇总 作者:Job_Yang 之前看了很多?面试题,感觉要不是不够就是过于冗余,于是我将??网上的?一些?面试题进?行了删减和重排,现在分享给?大家。(题??目来源于??网络,侵删) 1. Object-c的类可以多重继承么?可以实现多个接?口么?Category是什么?重写?一个类的?方式?用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承;可以实现多个接?口,通过实现多个接?口可以完成 C++的多重继承;Category是类别,?一般情况?用分类好,?用Category去重写类的?方法,仅对本Category有效,不会影响到其他类与原有类的关系。 2. #import 跟#include ?又什么区别,@class呢, #import<> 跟 #import””?又什么区别? 答:#import是Objective-C导?入头?文件的关键字,#include是C/C++导?入头?文件的关键字,使?用#import头?文件会?自动只导?入?一次,不会重复导?入,相当于#include和#pragma once;@class告诉编译器某个类的声明,当执?行时,才去查看类的实现?文件,可以解决头?文件的相互包含;#import<>?用来包含系统的头?文件,#import””?用来包含?用户头?文件。 3. 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作?用,在那种情况下?用?

1). readwrite 是可读可写特性;需要?生成getter ?方法和setter ?方法时 2). readonly 是只读特性 只会?生成getter ?方法 不会?生成setter ?方法 ;不希望属性在类外改变 3). assign 是赋值特性,setter ?方法将传?入参数赋值给实例变量;仅设置变量时; 4). retain 表?示持有特性,setter ?方法将传?入参数先保留,再赋值,传?入参数的retaincount 会+1; 5). copy 表?示赋值特性,setter ?方法将传?入对象复制?一份;需要完全?一份新的变量时。 6).nonatomic ?非原?子操作,决定编译器?生成的setter getter 是否是原?子操作,atomic 表?示多线程安全,?一般使?用nonatomic 4.写?一个setter ?方法?用于完成@property (nonatomic,retain)NSString *name,写?一个setter ?方法?用于完成@property(nonatomic ,copy)NSString *name 答: 1 2 3 4 5 6 7 8 9 10 11 12- (void) setName:(NSString*) str {[str retain];[name release];name = str;}- (void)setName:(NSString *)str {id t = [str copy];[name release];name = t;} 5.对于语句NSString*obj = [[NSData alloc] init]; obj 在编译时和运?行时分别时什么类型的对象? 答: 编译时是NSString 的类型;运?行时是NSData 类型的对象 6.常?见的object-c 的数据类型有那些, 和C 的基本数据类型有什么区别?如:NSInteger

C试题附答案

选择题: 1. 关于类和对象不正确的说法是(C) A类是一种类型,它封装了数据和操作 B)对象是类的实例 C)一个类的对象只有一个 D)一个对象必属于某个类 2. 在类定义的外部,可以被访问的成员有(C) A)所有类成员B) private 或protected 的类成员 C) public 的类成员D) public 或private 的类成员 3. 关于this指针的说法错误的是(A) A)this 指针必须显示说明B)当创建一个对象后,this指针 就指向该对象 C)成员函数拥有this指针D)静态成员函数不拥有this指针 4. 声明一个类的对象时,系统自动调用(B )函数,撤消对象时,系统自动调用(C )函数 A)成员函数数 B)构造函数 D)普通函数 C)析构函

A)系统可以提供默认的构造函数B)构造函数可以有参数,所以可以有返5. 下面对构造函数的不正确描述是(

回值 C)构造函数可以重载 参数 6. 下面对析构函数的正确描述是(C)A)系统不能提供默认的析构函数 义 C)析构函数没有参数 以设置默认参数 7. 对静态成员的不正确描述是(C ) A静态成员不属于对象,是类的共享成员 D)构造函数可以设置默认 B)析构函数必须由用户定 D)析构函数可B)静态数据成员要在类外定义和初始化 C)调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针 D)非静态成员函数也可以操作静态数据成员 8. 下面选项中,不是类的成员函数为(C) A构造函数B)析构函数C)友元函 数 D)缺省参数的构造函数方言 9. 下面对友元的错误描述是(D) A)关键字friend 用于声明友 元 B)一个类的成员函数可以是另一个类的友 元 C)友元函数访问对象的成员不受访问特性影响

ios面试题

IOS学习笔记48--一些常见的IOS知识点+面试题 分类: IOS技术开发 2013-08-15 17:17 2543人阅读评论(0) 收藏举报 IOS知识点 1、堆和栈什么区别? 答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。 2、数组和链表什么区别? 答:数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。 链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。 3、delegate和notification什么区别,什么情况使用? 答:Delegate: 消息的发送者(sender)告知接收者(receiver)某个事件将要发生,delegate同意然然后发送者响应事件, delegate机制使得接收者可以改变发送者的行为。 通常发送者和接收者的关系是直接的一对多的关系。

Notification: 消息的发送者告知接收者事件已经发生或者将要发送,仅此而已,接收者并不能反过来影响发送者的行为。 通常发送者和接收者的关系是间接的多对多关系。 4、什么是MVC,为什么使用MVC,有什么好处? 答:分别为:模型(Model),视图(View)和控制Controller)。 模型(Model)“数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。 “模型”有对数据直接访问的权力,例如对数据库的访问。 视图(View)视图层能够实现数据有目的显示。 控制器(Controller)控制器起到不同层面间的组织作用,用于控制应用程序的流程。 5、从一个数组中找出重复的元素打印出来

腾讯产品策划运营类职位笔试题和参考答案r

【2010校园招聘】腾讯产品/策划/运营类职位笔试题&参考答案 一、请用一句自己的话描述以下名词: 1.iOS:苹果iPhone的操作系统平台,就像微软的windows 2.Twitter:美国很火的微博网站,需要翻墙才能上,类似国内的新浪微博等 3.P2P:点对点下载技术,常用于BT、迅雷等下载,下载的人越多速度越快 4.偷菜:社交游戏中开心农场、QQ农场的常用术语 5.HTML5:一种的新的web标记语言规范和标准,概念居多,目前仍处于试验阶段 6.SEO:搜索引擎优化,利用搜索引擎推广网站的重要手段之一 7.离线下载:不用挂机即可下载,主要是下载工具的服务器代替用户先行下载 8.三国杀:一款热门的桌面游戏,以身份为线索,以卡牌为形式,现在有在线版 9.4sq:Foursquare的简称,可提供LBS服务,类似国内的街旁网 10.密保卡:常指网络游戏中的密码保护卡,可与游戏账号绑定,加强充值等的安全性 11.Ghost:一款硬盘备份还原工具,国内有一键GHOST等软件 12.GFW:功夫网,中国国家网络防火墙,很多国外网站都被这个给河蟹了 13.RGB:一种颜色制式,R\G\B分别代表红、绿、蓝三个通道的颜色 14.MD5:一种加强安全性的算法,主要用于各种软件的密码认证等 15.点亮:常用于软件应用中,表示用户激活某项服务或功能 二、智力题 1.6,7,9,13,21,__37__ 2.4,7,9,11,14,15,19,__19_ 3.18(15)13,27(24)19,21(12)17,14(9)11,23(_15_)18 4.5,8,17,24,37,48,_65__ 5.CFI,DHL,EJ_O_ 6._C__ 7._C_ 8._C__

史上最全的iOS面试题及答案

史上最全的iOS面试题及答案 史上最全的iOS面试题及答案iOS面试小贴士———————————————回答好下面的足够了 -------------------------------------多线程、特别是NSOperation 和GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原理。实现机制。如何解决TableView卡的问题。block和代理的,通知的区别。block的用法需要注意些什么。strong,weak,retain,assign,copy nomatic 等的区别。设计模式,mvc,单利,工厂,代理等的应用场景。单利的写法。在单利中创建数组应该注意些什么。NSString 的时候用copy和strong的区别。响应值链。NSTimer 在子线程中应该手动创建NSRunLoop ,否则不能循环执行。UIScrollView和NSTimer组合做循环广告图轮播的时候有一个属性可以控制当上下滚动tableview的时候广告轮播图依然正常滚动。Xcode最新的自动布局。。。这个很多公司都用。尽量自学下。git ,和svn的用法。。。git的几个命令简单的记下。。。友盟报错可以查到具体某一行的错误,原理是什么。Instrument 可以检测电池的耗电量、和内存的消耗。的用法。动画CABaseAnimation CAKeyAni…. CATrans….. CAGoup…. 等熟悉。。ARC的原理。自己写过什么自定义控件就最好了。。

———————————————回答好上面的足够了 ------------------------------------- __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型。 2.__weak只能在ARC模式下使用,也只能修饰对象(NSString),不能修饰基本数据类型(int)。 3.__block对象可以在block中被重新赋值,__weak不可以。tableView 滑动卡的问题主要是因为:从缓存中或者是从本地读取图片给UIImage的时候耗费的时间。需要把下面的两句话放到子线程里面:NSData *imgData = [NSData dataWithContentsOfURL:[NSURL URLWithString:app.icon]]; //得到图像数据 UIImage *image = [UIImage imageWithData:imgData]; 把UIImage赋值给图片的时候在主线程。子线程不能更新UI 所有的UI跟新都是主线程执行了。手指滑动屏幕了。或者屏幕的某个方法执行了。子线程里面加入NSTimer 的时候需要手动添加NSRunloop 否则不能循环。单利里面添加NSMutableArray 的时候,防止多个地方对它同时便利和修改的话,需要加原子属性。并且用strong,,,并且写一个遍历和修改的方法。加上锁。Lock UnLock __weak ViewController* weakSelf = self;GCD里面用 __weak 防止内存释放不了,循环引用。二、

相关主题
文本预览
相关文档 最新文档