[关闭]
@Rookie 2017-07-28T06:30:37.000000Z 字数 3554 阅读 1038

基础面试题5

未分类


1.下列有关UICollectionView的说法正确的是()。

A、UICollectionView是对UITalbeVIew的一种扩充,是一种特殊形态的UITableView,所以前者是后者的子类
B、UIcollectionView的增补视图只能设置在分区的头上
C、UICollectionView的增补视图高度不能大于其item的高度
D、UICollectionReusableView继承于UIView,它是一个UIView的子类

答案:D

2.在使用xib和storyBoard创建GUI过程中,以__文件格式存储在Xcode中,编译时生成__的二进制文件。在运行时,____文件被加载并且开始创建和实例化GUI元素

A、XML nib nib
B、nib XML nib
C、Xib nib nib
D、XML Xib Xib

答案:A

3.storyBoard怎么传值

A、- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {}
B、- (NSString *)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {}
C、- (NSArray *)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {}
D、- (NSDictionary *)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {}

答案:A

4.segue的三个重要属性

A、cell、sourceViewController、destinationViewController
B、identifier、source、destinationViewController
C、identifier、sourceViewController、destinationViewController
D、identifier、sourceViewController、Controller

答案:C

5.监测滚动视图滚动到什么位置的时候,我们需要使用下面哪个属性

A、bounces
B、contentSize
C、contentOffset
D、decelerationRate

答案:C

6.以下哪个控件不是继承于UIControl

A、UIButton
B、UITextField
C、UISlider
D、UITextView

答案:D

7.关于手势说法正确的是。

A、手势是基于触摸事件的
B、轻点手势中numberOfTapsRequired表示需要几个指头触发
C、numberOfTouchesRequired表示需要点几次
D、以上都对

答案:A

8.对于响应者的说发正确的是。

A、所有继承自UIResponder的类的对象都能作为响应者
B、所有继承自NSObject的类的对象都能作为响应者
C、想成为响应者必须手动设置
D、以上都不对

答案:A

9.控制器加载的时候下面方法调用的顺序是: 1.viewDidLoad 2.viewWillAppear 3.viewDidAppear 4.loadView

A、4,1,2,3
B、1,4,2,3
C、1,2,3,4
D、2,3,4,1

答案:A

10.对于MV的理解正确的是()。

A、Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
B、View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
C、Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
D、以上都对。

答案:D

11.使用imageNamed方法创建UIImage对象时.与普通的init方法有什么区别()。

A、没有区别,只是为了方便
B、imageNamed方法只是创建了一个指针,没有分配其他内存
C、imageNamed方法将图片加载到内存中后不再释放
D、imageNamed方法将使用完图片后立即释放

答案:C

12.UIApplicationMain在程序入口函数main函数中调用,不属于它实现的功能是()。

A、创建应用程序(UIApplication)实例
B、创建应用程序代理(AppDelegate)实例
C、是iOS应用程序的起始点,并负责初始化和显示UIWindow
D、建立事件循环(runloop:死循环,不断检测程序运行状态,是否被触摸、晃动等)

答案:C

13.NSRunLoop的以下描述错误的是()

A.Runloop并不是由系统自动控制的

B.有3类对象可以被run loop监控:sources,timers,observers

C.线程是默认启动run loop的

D.NSTimer可手动添加到新建的NSRunLoop中

  1. C (正确)
  2. - 只有主线程默认启动run loop,子线程等需要手动启动,且在特定的场景下需要启动:需要使用NSTimer等。
  3. 14.已知数据元素为(34,76,45,18,26,54,92,65),按照依次插入节点的方法生成一棵二叉排序树,则该树的深度为()
  4. A.7
  5. B.6
  6. C.4
  7. D.5

D(正确)
根据二叉排序树的性质:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
所以根据性质:第一个数34为根节点;
第二个树:76>34,所以为34的右孩子;
第三个数45:因为34<45<76,所以45为76的左孩子;
第4个数18:18<34所以为根节点的左孩子;
第五个数26:因为18<26<34,所以26在根节点的左子树上且为节点18的右孩子;
第六个数54:因为54>34,所以在根节点的右子树上,又45<54<76,所以54为45的右孩子;
第7个数92:因为92>76>34,所以92为76的右孩子;
第8个数65:首先64>34,所以为右子树上的节点,又65<76,所以为76左子树上的节点,又65>54>45,所以为54的右孩子

  1. 15.输入序列是ABC,输出序列变为BCA时,经过的栈操作为()
  2. A.push,push,push,pop,pop,pop
  3. B.push,push,pop,push,pop,pop
  4. C.push,pop,push,push,pop,pop
  5. D.push,push,pop,pop,push,pop

正确答案: B

  1. 16.以下哪一段代码不会抛出异常()
  2. A.NSArray *array=@[123];NSNumber * number=array[3];
  3. B.NSDictionary *dict=@{@"key":nil};
  4. C.NSString *str=nil;NSString *str2=[str substringFromIndex:3];
  5. D.NSString *str=@"hi";NSString *str2=[str substringFromIndex:3];

正确答案: C
A错 因为数组下标越界,下标从0~2有三个元素,下标3已经不在这个范围

B错 因为字典和数组中对于nil有特殊的含义,它表示元素个数的终止标记,不会被保存进字典或数组,要表示空可以使用[NSNull null]对象代替nil

C正确 因为向nil发送的任何消息都不会被响应也不会报错

D错 因为下标越界。

  1. 17.实现多线程都有哪几种方法?()
  2. A.使用@synchronized(self)
  3. B.使用GCD
  4. C.使用NSOperationQueue
  5. D.使用@thread

正确答案: B C

  1. 18.关于浅复制和深复制的说法,下列说法正确的是()
  2. A.浅层复制:只复制指向对象的指针,而不复制引用对象本身。
  3. B.深层复制:复制引用对象本身。
  4. C.如果是浅复制,若类中存在成员变量指针,修改一个对象一定会影响另外一个对象
  5. D.如果是深拷贝,修改一个对象不会影响到另外一个对象

正确答案: A B C D

  1. 19.能够匹配 `[a-zA-Z]([a-zA-Z]|\d|_){7,9}` 此正则表达式的字符串是 ()
  2. A.TTON.CO.123
  3. B.TTON_CO
  4. C.TTON_CO123
  5. D.TTON_CO.TTON.CO123

正确答案: C
长度为8-10位的用户密码,以字母开头,包含字母、数字、下划线的组合

  1. 20.关于NSOperation queue的说法,正确的是?()
  2. A.主要用于多线程并发处理
  3. B.它是一个队列,有严格的先进先出
  4. C.它不会遵守严格的先进先出
  5. D.NSOperationQueue可以通过调整权重来调整队列的执行顺序

正确答案: A C D
```

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注