2024年2月19日发(作者:)

前端移动端IOS笔试题

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

C:imageWithData

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

21、以下代码的输出为(D )

NSString * str =[[NSString alloc]initWithFormat:@"%@",@"iLanou123ios"];

NSString * str1=[str substringToIndex:3];

NSString * str2=[str substringWithRange:NSMakeRange(6, 3)];

NSString * newStr=[str1 stringByAppendingString:str2];

NSLog(@"%@",newStr);

[单选题] *

A:iLanou

B:iL123

C:iLaios

D:iLa123(正确答案)

22、关于Objective-C Category说法不正确的是? () [单选题] *

A:将类的实现分散到多个不同文件或多个不同框架中

B:创建对私有方法的前向引用

C:向对象添加非正式协议

D:可以增加,修改或者删除方法(正确答案)

23、使用protocol时,声明一组可选择实现与否的函数,需要在声明的前一行加上() [单选题] *

A:@required

B:@optional(正确答案)

C:@interface

D:@protocol

24、使用哪些category的应用可以在后台播放?() [单选题] *

A:AVAudioSessionCategoryAmbient

B:AVAudioSessionCategorySoloAmbient

C:AVAudioSessionCategoryPlayback(正确答案)

D:AVAudioSessionCategoryPlayAndRecord

25、float x 与"零值"比较的if语句为?() [单选题] *

A:if (x == 0)

B:if (x < 0.00001f)

C:if (fabs(x) < 0.00001f) 或 if((x) < 0.00001f)(正确答案)

D:if (x > -0.00001f)

26、需要调用对象的setName方法需要使用哪个语句?() [单选题] *

A:setName(@"obj")

B:name =@"object"

C: = @"object";(正确答案)

27、检查实例是否为某类的实例化对象,应该使用Introspection的哪个方法()

[单选题] *

A:isClass

B:isKindOfClass(正确答案)

C:isMemberOfClass

D:conformsToProtocol

28、delegate中的property使用以下哪个属性() [单选题] *

A:assign(正确答案)

B:retain

C:copy

D:strong

29、iOS中,关于对属性作用的描述正确的是() [单选题] *

A:属性是用来快速生成类的对象。

B:属性可以优化程序运行速度。

C:属性可以简化繁琐代码。(正确答案)

D:属性是用来保护线程安全的。

30、下面哪个场景不会出现循环引用?() [单选题] *

A:NSTimer被作为某个类的成员变量,NSTimer初始化时指定该类的实例为target。

B:某个类将block作为自己的属性变量,然后该类在block的方法体里面又使用了该类本身。

C:在ARC下,声明delegate时使用strong.

D:在两个相互依赖的类里,用<@class 类名>互相声明。(正确答案)

31、当访问的为nil时,下列哪个方法会被调用() [单选题] *

A:loadView(正确答案)

B:awakeFromNib

C:initWithCoder

D:viewDidLoad

32、下面代码运行后,打印结果为(D )

int saiMa[4] = {0, 1, 2,3};

int *p = (int *)(&saiMa+ 1); [单选题] *

A:0

B:1

C:2

D:3(正确答案)

33、当前有两个 ViewController已被显示到根视图中,控制台打印的文本顺序为?

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

static int number = 1;

NSLog(@"%d", number);

number += 2;

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

number -= 1;

});

NSLog(@"%d", number);

}

@end

[单选题] *

A:1,2,1,2

B:1,2,3,4

C:1,3,2,4

D:1,2,2,4(正确答案)

34、关于下列程序,输出是()

NSMutableArray* ary = [[NSMutableArray array] retain];

NSString *str = [NSString stringWithFormat:@"test"];

[strretain];

[aryaddObject:str];

NSLog(@"%@%d",str,[str retainCount]);

[strretain];

[strrelease];

[strrelease];

NSLog(@"%@%d",str,[str retainCount]);

[aryremoveAllObjects];

NSLog(@"%@%d",str,[str retainCount]);

[单选题] *

A:2,3,1

B:3,2,1

C:1,2,3

D:-1,-1,-1(正确答案)

35、以下动画类型中不属于UIView动画的是() [单选题] *

A:UIImageView

B:UIActivityIndicatorView

C:UIViewAnimation

D:UIViewMotionEffects(正确答案)

36、以下哪个是UITableView新增属性?() [单选题] *

A:separatorInsetReference(正确答案)

B:backgroundEffect

C:nextFocusedIndexPath

D:prefetchDataSource

37、 @interface Person : NSObject

@property(nonatomic,retain)NSString * name;

@end

上面声明一个Person类

Person * per = [[Person alloc] init];

= [[NSString alloc] initWithFormat:@"张三"];

NSLog(@" = %d",[ retainCount]);

结果为( )

[单选题] *

A: = -1;

B: = 0;

C: = 1;

D: = 2;(正确答案)

38、下列NSArray初始化不正确的是() [单选题] *

A:NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil];

B:NSArray *array = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", nil];

C:NSArray *array = @[@"a", @"b", @"c", nil];

D:NSArray *array = @[@"a", @"b", @"c"];(正确答案)

39、Objective-C有可以使用的属性,以下描述错误的是:() [单选题] *

A:retain表示持有特性,copy属性表示拷贝属性,都会建立一个相同的对象(正确答案)

B:assign是赋值属性,setter方法将传入参数赋值给实例变量

C:readonly是只读特性,只有getter方法,没有setter方法

D:readwrite是可读可写特性,需要生成getter方法和setter方法

40、iOS中的数据持久化方式() [单选题] *

A:属性列表

B:对象归档

C:SQLite和CoreData

D:以上全部(正确答案)

41、默认的声明变量修饰符是什么() [单选题] *

A:__strong(正确答案)

B:__weak

C:__unsafe_unretained

D:__autoreleasing

42、下面对于NSManagedObject 解释正确的是() [单选题] *

A:管理NSObject对象的类

B:文件管理的对象

C:负责打包App的对象

D:Core Data 中的实体对象(正确答案)

43、AudioSession是用来干什么的? () [单选题] *

A:声音播放和录制库

B:声音行为管理(正确答案)

C:音频处理库

D:一个声音会话

44、微信等分享SDK如何将第三方应用中的图片等资源传递到微信App中展示的,用以下哪种方案可以实现() [单选题] *

A:NSFileManager

B:UIPasteboard(正确答案)

C:UIActivityViewController

D:NSURLSession

45、iOS On-Demand Resource 机制不能用于下列哪种资源?

A:图片

B:XIB

C:Framework(正确答案)

D:SpriteKit texture atlas

46、在 iOS 中,SiriKit可以支持以下哪些功能?()

①语音通话

②发送消息

③发送或接收付款

④搜索视频

⑤约车

⑥管理健身

⑦视频通话 [单选题] *

A:①②④⑤⑥

B:①②③④⑥

C:①②③⑤⑥⑦(正确答案)

D:①②③④⑤⑥⑦

[单选题] * ()

47、下面关于super关键字错误的描述是() [单选题] *

A:使用super关键字发送消息会被编译器转化为调用objc_msgSendSuper

B:子类中调用 父类的方法 可以使用super

C:self是指向当前实例的,super指向父类的实例(正确答案)

D:super不是一个指针

48、下面关于Objective-C内存管理的描述错误的是() [单选题] *

A:ARC使用GC来定期回收内存(正确答案)

B:autoreleasepool 在 drain 的时候会释放在其中分配的对象

C:当使用ARC来管理内存时,在线程中大量分配对象而不用autoreleasepool则可能会造成内存溢出

D:在使用ARC的项目中不能使用NSZone

49、以下说法正确的是() [单选题] *

A:Objective-C支持多重继承

B:Objective-C中的类可以实现多个接口(正确答案)

C:Objective-C中导入头文件用的是#include

D:@class用于注入对象

50、NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], nil,

[[NSObject alloc] init], [[NSObject alloc] init], nil];

打印[array count]的值为()[单选题] [单选题] *

A、1(正确答案)

B、3

C:4

D:5

51、Objective-C 语言中类的实例变量如果只可以被本类和其子类访问,需要下列哪个修饰符: ( C) [单选题] *

A:@public

B:@private

C:@protected(正确答案)

D:@friendly

52、与alloc相反,与retain相反,与alloc配对的分别是: () [单选题] *

A: dealloc release dealloc

B: dealloc release release(正确答案)

C: dealloc dealloc dealloc

D: release release Release

53、iOS10推送Notification增加了哪些新特性() [单选题] *

A:Notification User Interface(正确答案)

B:Media Attachments

C:Customize user interface

D:Customize Actions

54、下列使用方法中正确的是() [单选题] *

A:NSURL *url=nil;(正确答案)

B:Class class=Nil;

C:id foo=nil;

D:id foo=NIL;

55、对于代码NSString*saiMa= [[NSArray alloc] init]; 编译时和运行时saiMa变量分别是什么类型() [单选题] *

A:编译时是NSString类型,运行时是NSArray类型(正确答案)

B:编译时是NSArray类型,运行时是NSString类型

C:编译时是NSString类型,运行时是NSString类型

D:以上都不对

56、NSString *string = [[NSString alloc]init];

[string retain];

[string release];

[string release];

执行代码后,string对象的retain count() [单选题] *

A:-1(正确答案)

B:0

C:1

D:2

57、iPhone X状态条像素为多少?() [单选题] *

A:44px(正确答案)

B:20px

C:22px

D:32px

58、下列哪个不是iOS提供的tableview cell分割线风格? () [单选题] *

A:UITableViewCellSeparatorStyleNone

B:UITableViewCellSeparatorStyleSingleLine

C:UITableViewCellSeparatorStyleSingleLineShadow(正确答案)

D:UITableViewCellSeparatorStyleSingleLineEtched

59、关于支付,应用在接入Ping++SDK时,需要的三个参数不包括() [单选题]

*

A:API Key

B:应用ID

C:Notify URL

D:开发者账号(正确答案)

60、iOS中,可以从一个应用(如APP01)跳转到另外一个应用(如APP02),如果要在跳转的过程中,将username和password这两个参数传递给APP02, 下列代码正确的是:() [单选题] *

A:NSURL* open_URL_A = [NSURL

URLWithString:@"APP02://username=test01&password=123456"](正确答案)

B:NSURL* open_URL_A = [NSURL

URLWithString:@"APP02://username=test01,password=123456"]

C: NSURL* open_URL_A = [NSURL

URLWithString:@"APP02://username=test01//password=123456"]

D:NSURL* open_URL_A = [NSURL

URLWithString:@"APP02://username=test01#password=123456"]

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:NSFileManager(正确答案)

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:ork(正确答案)

B:ork(正确答案)

C:ork(正确答案)

D:ork

10、关于iOS程序后台运行,下面说法正确的有() *

A:程序可以在后台播放音乐(正确答案)

B:程序可以在后台收集用户位置信息(正确答案)

C:程序可以在后台运行VOIP服务(正确答案)

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

11、iOS单元测试框架有哪些?() *

A:OCUnit(正确答案)

B:GHUnit(正确答案)

C:OCMock(正确答案)

D:NSXML

12、AddressBook框架中常用类?() *

*

A:ABAddressBook(正确答案)

B:ABPerson(正确答案)

C:ABGroup(正确答案)

D:ABRecord(正确答案)

13、下面关于KVO和KVC说法正确的是: () *

A:使用 KVC 为对象赋值或者取值时,不需要知道准确的键值。

B:注册KVO的时候,要观察哪个属性,在调用注册方法的时候,addObserver:forKey:options:context: forKey处填写的属性是以字符串形式,万一属性名字写错,因为是字符串,编译器也不会出现警告以及检查。(正确答案)

C:KVC,即是指 NSKeyValueCoding,一个非正式的Protocol,提供一种机制来间接访问对象的属性。而不是通过调用Setter、Getter方法访问。KVO 就是基于

KVC 实现的关键技术之一。(正确答案)

D:KVC的机制是以字符串的形式向对象发送消息字符串是要关注属性的关键。是否存在setter,getter方法,如果不存在,它将在内部查找名为_key或key的实例变量,如果没有会调用setValueForUndefindedKey:,如果也没有,则会运行时报错。(正确答案)

14、实现多线程都有哪几种方法?() *

A:使用@synchronized(self)

B:使用GCD(正确答案)

C:使用NSOperationQueue(正确答案)

D:使用@thread

15、UIPopoverController控制器的常用方法和属性?() *

A:presentPopoverFromBarButtonItem:permittedArrowDirections:animated:呈现Popover视图方法(正确答案)

B:dismissPopoverAnimated: 关闭Popover视图方法(正确答案)

C:popoverVisible,判断Popover视图是否可见(正确答案)

D:popoverArrowDirection,判断Popover视图箭头的方向(正确答案)

16、下面关于类扩展的说法正确的是: () *

A:类扩展是分类的一个特例。类扩展与分类相比只少了分类的名称,所以称之为"匿名分类"。(正确答案)

B:类扩展不仅可以增加方法,还可以增加实例变量(或者属性),该实例变量使用范围是:自身类或子类。

C:类扩展不能像类别那样拥有独立的实现部分@implementation部分,也就是说类扩展所声明的方法必须依托对应类的实现部分来实现。(正确答案)

D:类扩展中声明的方法没被实现,编译器会报警,但是类别中的方法没被实现编译器是不会有任何警告的。这是因为类扩展是在编译阶段被添加到类中,而类别是在运行时添加到类中。(正确答案)

17、下列关于UserNotifications说法正确的的是() *

A:UNNotification主要是作为通知delegate方法的参数使用(正确答案)

B:UNNotificationAttachment是新增的通知内容格式,可以设置图像和视频(正确答案)

C:UNNotificationCategory是通知样式类型(正确答案)

D:UNNotificationContent通知的主体内容(正确答案)

18、使用genstring工具可以扫描的宏是有哪些?() *

A:CFCopyLocalizedString(正确答案)

B:CFCopyLocalizedStringFromTable(正确答案)

C:CFCopyLocalizedStringFromTableInBundle(正确答案)

D:CFCopyLocalizedStringWithDefaultValue(正确答案)

E:NSLocalizedString(正确答案)

F:NSLocalizedStringFromTable(正确答案)

G:NSLocalizedStringFromTableInBundle(正确答案)

H:NSLocalizedStringWithDefaultValue(正确答案)

19、关于Memory的说法,以下说法正确的是?() *

A:ARC下,当一个对象的引用计数为0时,会被立即释放

B:ARC下,用Obj-(正确答案)

C的编写的代码中,不会对Core Foundation中的绝大部分对象进行内存管理(正确

答案)

C:值类型既可以存储在栈上,也可以存储在堆上(正确答案)

D:非静态的NSObject的子类对象只存储在堆上

20、关于ios应用图标的描述正确的是?() *

A:应用图标的alpha通道可以打开

B:需要提供120*120的大小(正确答案)

C:需要提供180*180的大小(正确答案)

D:需要提供的最大的icon尺寸为1024*1024(正确答案)