ios笔试题(选择题)
1-10 C语言 & 计算机基础
1、请看下面一段代码
static int a = 1;
int main(){
int b = 2;
char *c = NULL;
c = (char *)malloc(100 * sizeof(char));
return 0;
}
请问访问a,b,c 3种类型变量的效率从高到低依次是
A. cba
B. abc
C. acb
D. bca
(B)
2、下面四种内部排序算法中哪一种在最差情况下时间复杂度最高?
A. 快速排序
B. 冒泡排序
C. 堆排序
D. 归并排序
(B)
3、Shell中,将command1的输出作为command2的输入应该使用的命令是
A. command1 && command2
B. command1 > command2
C. command1 & command2
D. command1 | command2
(D)
4、下面的数据结构中不属于线性结构的是
A. 栈
B. 链表
C. 二叉树
D. 线性表
(C)
5、在一个二叉树上,第5层最多可以有的节点数是 A. 2
B. 8
C. 16
D. 32
(C)
6、在长度为n的线性表上进行顺序查找,在最糟糕的情况下需要的比较次数是
A. n
B. 2n-1
C. 2n
D. n^2
(A)
7、下面那项不是动态语言的特性
A. 在运行时替换一个类
B. 在运行时动态加载lib文件
C. 在运行时修改对象中的方法
D. 在运行时增加对象的方法
(B)
8、已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是
A. cedba
B. acbed
C. decab
D. deabc
(A)
9、以下多线程对int型变量x的操作,哪个不需要进行同步:
A. x=y
B. x++
C. ++x
D. x=1
(D)
10、多线程中栈与堆是公有的还是私有的
A. 栈公有, 堆私有
B. 栈公有,堆公有
C. 栈私有, 堆公有
D. 栈私有,堆私有
(C)
11-20 Objective-C & Xcode
11、在Xcode中,需要编译混合Objective-C和C++的源码文件,需要将文件格式的后缀改为
A. .c
B. .cpp
C. .mm
D. .m
(C)
12、Objective-C声明一个类所要用到的编译指令是
A. @interface SomeClass
B. @protocol SomeClass
C. @implementation SomeClass
D. @autorelease SomeClass
(A)
13、使用Xcode创建工程时,支持同时创建的版本管理库是
A. Subversion
B. Mercurial
C. Git
D. Concurrent Versions System
(C)
14、下面那个方法不属于NSObject的内省(Introspection)方法
A. init
B. isKindOfClass
C. responseToSelector
D. isMemberOfClass
(A)
15、使用protocol时,声明一组可选择实现与否的函数,需要在声明的前一行加上:
A. @required
B. @optional
C. @interface
D. @protocol
(B)
16、需要在手动管理内存分配和释放的Xcode项目中引入和编译用ARC风格编写的文件,需要在文件的Compiler Flags上添加参数:
A. -shared
B. -fno-objc-arc
C. -fobjc-arc
D. -dynamic
(C)
17、下面关于Objective-C内存管理的描述错误的是
A. 当使用ARC来管理内存时,代码中不可以出现autorelease
B. autoreleasepool 在 drain 的时候会释放在其中分配的对象
C. 当使用ARC来管理内存时,在线程中大量分配对象而不用autoreleasepool则可能会造成内存泄露
D. 在使用ARC的项目中不能使用NSZone
(A)
18、下面关于#import和#include的描述正确的是 A. #import 是 #include 的替代指令,防止重复引用
B. #import 和 #include 不可以混合使用
C. #import 只用于引用 Objective-C的文件, #include 只用于引用C和C++的文件
D. #import 和 #include 的使用效果完全相同
(A)
19、下面的代码问题在哪?
@implementation xxx
…
…
- (void) setVar:(int)i {
self.var = i;
}
A. 应该将var synthesize
B. 调用会出现死循环
C. 正常
D. 返回值错误
(B)
20、下面那个方法可以比较两个NSString *str1, *str2 的异同
A. if(str1 = str2) xxx ;
B. if([str1 isEqualToString:str2]) xxx ;
C. if(str1 && str2) xxx ;
D. if([str1 length] == [str2 length]) xxx;
(B)
21-30 iOS
21、下面哪个不属于对象数据序列化方法 A. JSON
B. Property List
C. XML
D. HTTP
(D)
22、在UIKit中,frame与bounds的区别是
A. frame 是 bounds 的别名
B. frame 是 bounds 的继承类
C. frame 的参考系是父视图坐标,bounds 的参考系是自身的坐标
D. frame 的参考系是自身坐标,bounds 的参考系是父视图的坐标
(C)
23、Objective-C有私有方法吗?有私有变量吗?
A. 有私有方法和私有变量
B. 没有私有方法也没有私有变量
C. 没有私有方法,有私有变量
D. 有私有方法,没有私有变量
(C)
24、下面关于线程管理错误的是
A. GCD所用的开销要比NSThread大
B. 可以在子线程中修改UI元素
C. NSOperationQueue是比NSthread更高层的封装
D. GCD可以根据不同优先级分配线程
(B)
25、下面代码的作用是让doSomeThing函数每隔1秒被调用1次。请问哪里有问题
NSTimer *myTimer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(doSomeThing:) userInfo:nil repeats:YES];
[myTimer fire]
A. 没有将timer加入runloop
B. doSomeThing缺少参数
C. 忘记传递数据给userInfo
D. myTimer对象未通过[[myTimer alloc] init]方法初始化
(A)
26、UIViewController在显示过程中,各个方法的调用顺序是
A. init -> viewDidLoad -> viewDidAppear -> viewDidUnload
B. init -> viewDidAppear -> viewDidLoad -> viewDidUnload
C. init -> viewDidLoad -> viewDidUnload -> viewDidAppear
D. init -> viewDidAppear -> viewDidUnload -> viewDidLoad
(A)
27、使用imageNamed方法创建UIImage对象时,与普通的init方法有什么区别?
A. 没有区别,只是为了方便
B. imageNamed方法只是创建了一个指针,没有分配其他内存
C. imageNamed方法将图片加载到内存中后不再释放
D. imageNamed方法将使用完图片后立即释放
(C)
28、一个类的delegate(代理)的作用不正确的是
A. delegate中的函数在其他类中实现
B. 主要用于不同类型的对象之间一对一传递消息
C. 没有指派则不会触发
D. 可以一个对象的delegate指派给多个其他类型的对象
(D)
29、在没有navigationController的情况下,要从一个ViewController切换到另一个ViewController应该
A. [self.navigationController pushViewController:nextViewController animated:YES];
B. [self.view addSubview:nextViewController.view];
C. [self pushViewController:nextViewController animated:YES];
D. [self presentModalViewController:nextViewController animated:YES];
(D)
30、什么是key window?
A. App中唯一的那个UIWindow对象
B. 可以指定一个key的UIWindow
C. 可接收到键盘输入等事件的UIWindow
D. 不可以隐藏的那个UIWindow对象
(C)
ios笔试题(选择题)的更多相关文章
- YouKu iOS笔试题一
序言 最近收到某某同学将去youku的iOS笔试题的邮件,希望笔者能整理一下,并提供参考答案.笔者决定整理出来,并分享给大家.当然,与此同时,也想看看youku的笔试题到底有多难,也考考自己有多少料吧 ...
- 一份中规中矩的 iOS笔试题
一.背景 因为一些原因,我从公司离职,在此之前,我需要帮忙招聘一个新人来做我的工作,于是就有了这篇文章. 由于公司项目16年就已经上线了,前同事写的项目中,有用xib.storyBoard.代码自动布 ...
- 2016年iOS笔试题
收集了一些ios面试的一些基础的试题,其中也有一些较难的 1.请简述UIView与CALayer有什么不同.2.Block什么情况下会保留实体内引用到外部对象,什么时候要用__block或__weak ...
- ios笔试题
最近找工作,有面试有笔试部分,故把笔试题自己整理了下. 面试能力要求:精通iphone的UI开发,能熟练操作复杂表视图,熟练使用图层技术, 可以自定义UI控件,使用类别扩展系统控件功能; 擅长通讯 ...
- iOS笔试题04
1. Object-C有多继承吗?没有的话用什么代替? 1> OC是单继承,没有多继承 2> 有时可以用分类category和协议protocol来代替多继承 2. Object-C有私 ...
- iOS笔试题02
1. Difference between shallow copy and deep copy? 1> 浅拷贝:指针(地址)拷贝,不会产生新对象 2> 深拷贝:内容拷贝,会产生新对象 2 ...
- 面试中遇到的iOS笔试题
1.浅复制和深复制的区别? 2.类别的作用(category)?继承和类别在实现有何区别? 3.类别(category)和类扩展(extension)的区别. 4.obc中的协议和java中的接口概念 ...
- iOS 笔试题
转:http://blog.sina.com.cn/s/blog_b0c5954101014upb.html 1.截取字符串”20|http://www.621life.com“ 中 ‘|’字符前面及 ...
- iOS笔试题03
1. When to use NSMutableArray and when to use NSArray? 1> 当数组元素需要动态地添加或者删除时,用NSMutableArray 2> ...
随机推荐
- Centos 7 防火墙
systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体.启动一个服务:systemctl start firewalld.service ...
- 数据流图(DFD)画法
数据流图(DFD)画法要求 一.数据流图(DFD) 1.数据流图的基本符号 数据流图由四种基本符号组成,见图5-4-1所示. 图5-4-1 数据流图的基本符号 例:图5-4-2是一个简单的数据流图, ...
- unity, Root Motion
(引自:http://tieba.baidu.com/p/4323644080) 然后详细看了下这个文档:http://docs.unity3d.com/Manual/RootMotion.html ...
- Mac下Selenium无法最大化Chrome解决方案
在用Selenium做自动化操作时,一般最大化浏览器的代码都是:driver.manage().window().maximize(), 但是在Mac下这样是无法最大化Chrome浏览器的,解决方法: ...
- deb包的2种安装安装方法
一.cydia重启自动安装:用ifunbox进入//var/root/Media/Cydia/AutoInstallCydia/AutoInstall 需要分别单独建立,注意大小写.然后把你要安装的d ...
- js中的target与currentTarget的区别<转>
关于js中target与currentTarget的区别的关键在于他们所处在的事件流的阶段是不一样的,target处于事件流的目标阶段,currentTarget处理事件流的捕获.处于目标阶段和冒泡阶 ...
- Android——android weight 属性(百度)
LinearLayout 在androidUI布局中使用非常多,它其中有个很方便又很有意思的属性 weight ,这个属性理解起来不是那么简单的,而真正理解了又觉得非常简单! 下面就通过一个例子来说明 ...
- udp program
UDP program UDP常用函数:recvfrom和sendto recvfrom ssize_t recvfrom(int sockfd, void *buf, size_t len, int ...
- 小贝_redis 高级应用-事务
redis高级应用-事务 一.redis的事务 二.redis实现事务 三.redis事务问题 一.redis的事务 事务提供了一种"将多个命令打包,然后一次性.按顺序地运行"的机 ...
- ES6学习笔记(1,let和const)
在介绍let和const之前我们先复习一下相关的知识点. 关于函数作用域 开发过程中,在ES6(ECMA2015)标准推出之前,声明变量的方式一直都是var,而变量的作用域一般也只在函数内部,即函数作 ...