手机用户可
保存上方二维码到手机中,在
微信扫一扫中右上角选择“从
相册选取二维码”即可。
1、问答题 简述iew的frame和bounds的区别。
点击查看答案
本题答案:frame和bounds在大小方面是没有区别的,区别在
本题解析:试题答案frame和bounds在大小方面是没有区别的,区别在于两者的相对坐标不同bounds是相对自己本身窗口的坐标而frame是相对这个view的父视图的坐标。
2、问答题 Kvc是什么,Kvo是什么?有什么特性?
点击查看答案
本题答案:1、Key-valuecoding机制允许通过变量名设
本题解析:试题答案1、Key-valuecoding机制允许通过变量名设置和获取变量值。
[myObjectsetValue:valueObjectforKey:@"myKey"];
[myObjectvalueForKey:@"myKey"];
KVC只能处理对象,不能处理int、float等类型;
2、Key-valueobserving将变量与某个控件绑定,当变量变化时,将通知控件进行相应改变。
3、问答题 什么是三码合一?
点击查看答案
本题答案:三码合一:外包装上没有塑料膜包装,盒子后面串号生产周期
本题解析:试题答案三码合一:外包装上没有塑料膜包装,盒子后面串号生产周期条码--机器后壳条码--机器*#06#按出来的串号能对上就是3码合一。
4、问答题 一代、二代、三代、四代分别是什么意思?
点击查看答案
本题答案:苹果分为一代(2G)、二代(3G)、三代(3GS)和四
本题解析:试题答案苹果分为一代(2G)、二代(3G)、三代(3GS)和四代(iPhone4)。就外观上讲,一代比二代厚。二代和三代外观一样,三代的内存和CPU比二代有所提升。就功能上讲,最大的区别就是一代是2G(此2G为通信频道,并且内存)二代为3G。一代没有GPS定位,而二代有GPS定位;三代有罗盘指南针;而四代有双摄像头和LED闪光灯。
5、问答题 #import跟#include的区别,@class呢?
点击查看答案
本题答案:@class一般用于头文件中需要声明该类的某个实例变量
本题解析:试题答案@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import而#import比起#include的好处就是不会引起交叉编译
6、问答题 线程和进程之间的区别?
点击查看答案
本题答案:进程在执行过程中拥有独立的内存单元,而多个线程共享内存
本题解析:试题答案进程在执行过程中拥有独立的内存单元,而多个线程共享内存单元。进行可以包含多个线程。一个程序至少拥有一个进程,一个进程至少有一个线程。
7、问答题 id是什么?int能否为id?如何封装成id?
点击查看答案
本题答案:id是任意对象类型int是整型,属于基本类型所以不是i
本题解析:试题答案id是任意对象类型int是整型,属于基本类型所以不是id因为int不是id,所以就通过转换的方式将int转换为id类型例如可以通过NSNumber封装成一个对象。
8、问答题 obj-c的优缺点是什么?
点击查看答案
本题答案:objc优点:
1)Cateogies
本题解析:试题答案objc优点:
1)Cateogies
2)Posing
3)动态识别
4)指标计算
5)弹性讯息传递
6)不是一个过度复杂的C衍生语言
7)Objective-C与C++可混合编程
缺点:
1)不支援命名空間
2)不支持运算符重载
3)不支持多重继承
4)使用动态运行时类型,所有的方法都是函数调用,所以很多编译时优化方法都用不到。(如内联函数等),性能低劣。
9、问答题 类工厂方法是什么?
点击查看答案
本题答案:类工厂方法的实现是为了向客户提供方便,它们将分配和初始
本题解析:试题答案类工厂方法的实现是为了向客户提供方便,它们将分配和初始化合在一个步骤中,返回被创建的对象,并进行自动释放处理。这些方法的形式是+(typE.classNamE.(其中className不包括任何前缀)。工厂方法可能不仅仅为了方便使用。它们不但可以将分配和初始化合在一起,还可以为初始化过程提供对象的分配信息。
类工厂方法的另一个目的是使类(比如NSWorkspacE.提供单件实例。虽然init...方法可以确认一个类在每次程序运行过程只存在一个实例,但它需要首先分配一个“生的”实例,然后还必须释放该实例。工厂方法则可以避免为可能没有用的对象盲目分配内存。
10、问答题 什么是键-值,键路径是什么?
点击查看答案
本题答案:模型的性质是通过一个简单的键(通常是个字符串)来指定的
本题解析:试题答案模型的性质是通过一个简单的键(通常是个字符串)来指定的。视图和控制器通过键来查找相应的属性值。在一个给定的实体中,同一个属性的所有值具有相同的数据类型。键-值编码技术用于进行这样的查找—它是一种间接访问对象属性的机制。
键路径是一个由用点作分隔符的键组成的字符 串,用于指定一个连接在一起的对象性质序列。第一个键的性质是由先前的性质决定的,接下来每个键的值也是相对于其前面的性质。键路径使您可以以独立于模型实现的方式指定相关对象的性质。通过键路径,您可以指定对象图中的一个任意深度的路径,使其指向相关对象的特定属性。
11、问答题 sqlite和sqlserver有哪些区别?
点击查看答案
本题答案:Sqlite是微型版,功能自然比sqlserver功能
本题解析:试题答案Sqlite是微型版,功能自然比sqlserver功能少。
sqlite只能添加和修改字段,不能删除字段。
sqlite只支持单事务,不能支持多事务。
Sqlite对触发器支持不完整。
Sqlite对左连接右连接支持的不好
如果查询的内容涉及几万条数据,如何提高效率和速度。
可以使用类似sqlserver的事务处理。
12、问答题 简述cocoatouch框架。
点击查看答案
本题答案:iPhoneOS应用程序的基础CocoaTouch框架
本题解析:试题答案iPhoneOS应用程序的基础CocoaTouch框架重用了许多Mac系统的成熟模式,但是它更多地专注于触摸的接口和优化。UIKit为您提供了在iPhoneOS上实现图形,事件驱动程序的基本工具,其建立在和MacOSX中一样的Foundation框架上,包括文件处理,网络,字符串操作等。
CocoaTouch具有和iPhone用户接口一致的特殊设计。有了UIKit,您可以使用iPhoneOS上的独特的图形接口控件,按钮,以及全屏视图的功能,您还可以使用加速仪和多点触摸手势来控制您的应用。
各色俱全的框架除了UIKit外,CocoaTouch包含了创建世界一流iPhone应用程序需要的所有框架,从三维图形,到专业音效,甚至提供设备访问API以控制摄像头,或通过GPS获知当前位置。CocoaTouch既包含只需要几行代码就可以完成全部任务的强大的Objective-C框架,也在需要时提供基础的C语言API来直接访问系统。这些框架包括:
CoreAnimation:通过CoreAnimation,您就可以通过一个基于组合独立图层的简单的编程模型来创建丰富的用户体验。
CoreAudio:CoreAudio是播放,处理和录制音频的专业技术,能够轻松为您的应用程序添加强大的音频功能。
CoreData:提供了一个面向对象的数据管理解决方案,它易于使用和理解,甚至可处理任何应用或大或小的数据模型。
功能列表:框架分类
下面是CocoaTouch中一小部分可用的框架:
音频和视频:Co reAudio、OpenAL、MediaLibrary、AVFoundation
数据管理:CoreData、SQLite
图形和动画:CoreAnimation、OpenGLES、Quartz2D
网络/li>:Bonjour、WebKit、BSDSockets
用户应用:AddressBook、CoreLocation、MapKit、StoreKit
13、问答题 简述Get请求和Post请求的区别。
点击查看答案
本题答案:在http通讯协议中默认的就是Get请求,Get请求是
本题解析:试题答案在http通讯协议中默认的就是Get请求,Get请求是在请求地址后加上了要提交的信息,以问号标记,问号之后追加参数名=参数值,各参数之间用&隔开。doGet适合数据量比较小,格式简单的,不私密的数据。对于http报文而言,因为get请求的信息在请求地址后面追加,所以其信息只在http报文的信息头中,http报文实体部分并无数据内容。Post请求适合于比较私密来源:91考试网 91ExAm.org的数据比如用户名密码,可以提交二进制数据,或大量数据。通过post提交的数据在http报文的实体部分。具体HTTP报文参考之前给的文档。Socket中的默认连接超时时间是30秒默认大小是8k,可以理解为一个数据包的极限大小,如果向网络另一端发送的数据超过8k范围,则肯定要被肢解成多个包发送。
14、问答题 http和scoket通信的区别。
点击查看答案
本题答案:http是客户端用http协议进行请求,发送请求时候需
本题解析:试题答案http是客户端用http协议进行请求,发送请求时候需要封装http请求头,并绑定请求的数据,服务器一般有web服务器配合(当然也非绝对)。http请求方式为客户端主动发起请求,服务器才能给响应,一次请求完毕后则断开连接,以节省资源。服务器不能主动给客户端响应(除非采取http长连接技术)。
iphone主要使用类是NSUrl Connection;scoket是客户端跟服务器直接使用socket“套接字”进行连接,并没有规定连接后断开,所以客户端和服务器可以保持连接通道,双方都可以主动发送数据。一般在游戏开发或股票开发这种要求即时性很强并且保持发送数据量比较大的场合使用。主要使用类是CFSocketRef
15、问答题 连接服务器用的是什么方法,如果请求过程中,网络出了问题这么办?
点击查看答案
本题答案:NSUrlConnection连接后,有一系列委托方法
本题解析:试题答案NSUrlConnection连接后,有一系列委托方法来接受来自服务器的响应和数据,其中接受相应的方法回得到服务器要传回的数据有多大,接受数据的方法会反复调用来不断接受服务器数据,如果网络出了问题了,会调用一个方法让你来做相关处理。
16、问答题 固件是什么?
点击查看答案
本题答案:固件就是Iphone的操作系统程序,就像windows
本题解析:试题答案固件就是Iphone的操作系统程序,就像windows是电脑通常的操作系统一样。
17、问答题 线程与进程的区别和联系?
点击查看答案
本题答案:进程和线程都是由操作系统所体会的程序运行的基本单元,系
本题解析:试题答案进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
18、问答题 有锁(版)和无锁(版)是什么意思?
点击查看答案
本题答案:有锁版:凡是必须解用卡贴或者软解方式破解后才能使用打电话功能
本题解析:试题答案有锁版:凡是必须解用卡贴或者软解方式破解后才能使用打电话功能的Iphone通常为有锁版。
无锁版:直接插卡,并且不借用卡贴、软解等任何第三方方式既可使用打电话功能Iphone通常为无锁版.
19、问答题 plist文件怎么获取里面的数据?
点击查看答案
本题答案:以通过字典直接读入plist,将来从字典中获取数据NS
本题解析:试题答案以通过字典直接读入plist,将来从字典中获取数据NSDictionary*dict=[[NSDictionary alloc] initWithContentsOfFile:path];plist最大的特点是标签是一些规定标签,比如字典<dict>对应,数组对应<array>,字符串对应<string>
20、问答题 自动释放池是什么,如何工作?
点击查看答案
本题答案:当您向一个对象发送一个autorelease消息时,C
本题解析:试题答案当您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然是个正当的对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。
1.ojc-c是通过一种"referring counting"(引用计数)的方式来管理内存的,对象在开始分配内存(alloC.的时候引用计数为一,以后每当碰到有copy,retain的时候引用计数都会加一,每当碰到release和auto release的时候引用计数就会减一,如果此对象的计数变为了0,就会被系统销毁.
2.NSAutoreleasePool就是用来做引用计数的管理工作的,这个东西一般不用你管的.
3.auto release和release没什么区别,只是引用计数减一的时机不同而已,auto release会在对象的使用真正结束的时候才做引用计数减一.
21、问答题 浅复制(拷贝)和深复制(拷贝)分别指的是什么?
点击查看答案
本题答案:浅复制和深复制是对于包含对象成员的对象而言的。浅复制:
本题解析:试题答案浅复制和深复制是对于包含对象成员的对象而言的。浅复制:只复制对象本身,对象的成员只复制指针。深复制:在浅复制的基础上,同时复制对象的成员。
22、问答题 激活是什么意思?
点击查看答案
本题答案:当iphone首次连接iTunes时,iTunes如果
本题解析:试题答案当iphone首次连接iTunes时,iTunes如果提示该硬件需要注册,那么你的手机为未激活版本.反之则已激活。
23、问答题 类别有什么作用?
点击查看答案
本题答案:类别有三大作用,
1.可以使本来需要在.h中
本题解析:试题答案类别有三大作用,
1.可以使本来需要在.h中声明的方法放到.m文件中声明,达到了可以使方法不对外公开。
2.可以方便的扩展类,甚至系统类都可以轻易扩展,维护了代码原本的结构不受影响。
3.类别可以写到不同的.h或.m文件中,可以分散代码到跟类别的扩展功能想关联的地方,方便查看。
24、问答题 segment怎么切换视图?
点击查看答案
本题答案:UISegmentController可以绑定方法,方
本题解析:试题答案UISegmentController可以绑定方法,方法被调用后可以获得segment的索引,从而判断哪个视图将被显示,于是可以将原视图从父视图中删除,添加新视图。
25、问答题 卡贴是什么?
点击查看答案
本题答案:卡贴是一个非常薄的小电路版.主要功能就是为了解码电话卡
本题解析:试题答案卡贴是一个非常薄的小电路版.主要功能就是为了解码电话卡.让不是该公司运营的卡也能正常使用打电话.卡贴还有一种叫发就叫硬解(既硬件破解)
26、问答题 基带是什么意思?
点击查看答案
本题答案:“基带”:基带是iPhone解
本题解析:试题答案“基带”:基带是iPhone解锁的核心概念,虽然一般而言,都认为2.2固件已经被软解,2.2.1固件无法软解,实际上,导致软解失败的原因,其实是2.2固件的基带版本是02.28.00BB被破解,而2.2.1固件的基带版本是02.30.00B B,这个版本的基带已经被破解组织列入放弃破解的行列,因为升级固件之后基带版本也产生了变化,所以才导致升级2.2.1固件之后机器“变砖”。有部分玩家,自己制作了没有升级基带版本的2.2.1固件,就能够软解。而苹果为了杜绝这种情况的发生,在未来的3.0固件之后,开始对固件和基带版本之间的配合做了新的限制,老版本基带不能配合新版本固件使用。
27、问答题 c和obj-c如何混用?
点击查看答案
本题答案:1)obj-c的编译器处理后缀为m的文件时,可以识别o
本题解析:试题答案1)obj-c的编译器处理后缀为m的文件时,可以识别obj-c和c的代码,处理mm文件可以识别obj-c,c,c++代码,但cpp文件必须只能用c/c++代码,而且cpp文件include的头文件中,也不能出现obj-c的代码,因为cpp只是cpp
2)在mm文件中混用cpp直接使用即可,所以obj-c混cpp不是问题
3)在cpp中混用obj-c其实就是使用obj-c编写的模块是我们想要的。
如果模块以类实现,那么要按照cppclass的标准写类的定义,头文件中不能出现obj-c的东西,包括#importcocoa的。实现文件中,即类的实现代码中可以使用obj-c的东西,可以import,只是后缀是mm。
如果模块以函数实现,那么头文件要按c的格式声明函数,实现文件中,c++函数内部可以用obj-c,但后缀还是mm或m。
总结:只要cpp文件和cppinclude的文件中不包含obj-c的东西就可以用了,cpp混用obj-c的关键是使用接口,而不能直接使用实现代码,实际上cpp混用的是obj-c编译后的o文件,这个东西其实是无差别的,所以可以用。obj-c的编译器支持cpp.
28、问答题 下载电影的处理是同步还是异步。
点击查看答案
本题答案:通信则分为主线程中直接请求,服务器返回迟缓可导致程序卡
本题解析:试题答案通信则分为主线程中直接请求,服务器返回迟缓可导致程序卡死,如果启 动线程或线程队列,则不影响主线程运行,说白了就是可以进行其他操作,可称为异步。下载电影用了对象池技术,为异步请求。
29、 问答题 sprintf,strcpy,memcpy使用上有什么要注意的地方?
点击查看答案
本题答案:strcpy是一个字符串拷贝的函数,它的函数原型为st
本题解析:试题答案strcpy是一个字符串拷贝的函数,它的函数原型为strcpy(char*dst,constchar*srC.;
将src开始的一段字符串拷贝到dst开始的内存中去,结束的标志符号为’\0’,由于拷贝的长度不是由我们自己控制的,所以这个字符串拷贝很容易出错。具备字符串拷贝功能的函数有memcpy,这是一个内存拷贝函数,它的函数原型为memcpy(char*dst,constchar*src,unsignedintlen);
将长度为len的一段内存,从src拷贝到dst中去来源:91考试网 91ExAm.org,这个函数的长度可控。但是会有内存叠加的问题。
sprintf是格式化函数。将一段数据通过特定的格式,格式化到一个字符串缓冲区中去。sprintf格式化的函数的长度不可控,有可能格式化后的字符串会超出缓冲区的大小,造成溢出。
30、问答题 iphone和ipad里有什么区别,有哪些组件不一样?
点击查看答案
本题答案:Ipad里面多了两个控件:弹出控制器(UIPopove
本题解析:试题答案Ipad里面多了两个控件:弹出控制器(UIPopoverController),分割视图控制器(UISplitViewController)
题库试看结束后
微信扫下方二维码即可打包下载完整版《★软件工程师考试》题库
手机用户可保存上方二维码到手机中,在微信扫一扫中右上角选择“从相册选取二维码”即可。
题库试看结束后微信扫下方二维码即可打包下载完整版《软件工程师考试:iPhone软件工程师》题库,分栏、分答案解析排版、小字体方便打印背记!经广大会员朋友实战检验,此方法考试通过率大大提高!绝对是您考试过关的不二利器!
手机用户可保存上方二维码到手机中,在微信扫一扫中右上角选择“从相册选取二维码”即可。
微信搜索关注"91考试网"公众号,领30元,获取公务员事业编教师考试资料40G