iphone和Objective-C笔试题.pdf_第1页
iphone和Objective-C笔试题.pdf_第2页
iphone和Objective-C笔试题.pdf_第3页
iphone和Objective-C笔试题.pdf_第4页
iphone和Objective-C笔试题.pdf_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

11-1-17 下午5:20iphone和Objective-C笔试题? | 苹果开发者综合议事大厅 - CocoaChi开发论坛| 最热的Mac开发论坛 | 最热的iPhone开发论坛 | 最热的iPad开发论坛 第 1 页(共 7 页) 搜索 高级 论坛首页论坛首页苹果开发区苹果开发区iPhoneiPhone新手区新手区销售推广区销售推广区Mac StoreMac Store区区美术区美术区UnityUnity开发开发资源区资源区代码区代码区综合议事大厅综合议事大厅人才招聘人才招聘/ /外包外包 主页主页资讯频道资讯频道开发频道开发频道市场频道市场频道专题专题下载下载问答问答开发论坛开发论坛iOSiOS开发者中心开发者中心 上一主题下一主题1234Pages: 1/4Go 使用道具 复制链接 推送到博客 浏览器收藏打印 haoxue 楼主 楼: 发表于: 01-12 倒序阅读 只看楼主 小 中 大 回复引用收藏分享举报 顶端 haoxue 沙发 楼: 发表于: 01-12 只看该作者 小 中 大 xiaoyaoa 退出 消息 我的主题 我的回复 我的收藏 好友近况 书签社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 博客 左右分栏 |帮助 CocoaChina 开发讨论区 苹果开发者综合议事大厅 iphone和Objective-C笔试题? 热门版块: App Store上线/推广/销售讨论区 苹果开发者综合议事大厅 iPhone开发 / iPad开发 新手提问区 iPhone开发 / iPad开发 一般讨论区 代码例子区 人才招聘/外包区 主题 : iphone和Objective-C笔试题? 立足现实,脚踏实地!讲究实 际!思想成熟、上进心强,很 踏实、很靠谱的我! 级别: 新手上路 UID: 39045 精华: 0 发帖: 41 可可豆: 415 CB 威望: 410 点 贡献值: 0 点 交易币: 0 iChat: GTalk: 在线时间: 16(时) 注册时间: 2010-11-21 最后登录: 2011-01-17 iphone和Objective-C笔试题? 管理提醒: 本帖被 superarts 从 Mac开发讨论区 移动到本区(2011-01-12) (笔试题)应聘iphone开发工程师,iphone和Objective-C的笔试题? 请各位iphone开发工程师,给小弟提供一些面试的笔试题,帮助小弟度过难关通过 面试。在此提前表示感谢! 小弟是iphone开发初学者,请各位帮帮忙,提供一些应聘企业iphone开发工程 师的笔试题,帮助小弟通过面试,获得工作。 另外,想问一下,应聘iphone开发工程师,面试通常考哪些问题?一般福利待遇 稍微好一点的公司都要机试,通常考察哪些内容?我好做好充分准备!从而抓住 面试机会,取得工作!请各位帮帮小弟!我为人非常虚心好学的,请各位帮帮我 !度过难关! 请各位给些建议和帮助,指点我走出困境! 请各位iphone开发工程师不要太保守,拿出您所知道的面试题与大家一起分享。 互相帮助!谢谢! 此帖被haoxue在2011-01-13 00:36重新编辑 立足现实,脚踏实地!讲究实 际!思想成熟、上进心强,很 踏实、很靠谱的我! 级别: 新手上路 UID: 39045 精华: 0 发帖: 41 可可豆: 415 CB 威望: 410 点 贡献值: 0 点 交易币: 0 iChat: GTalk: 在线时间: 16(时) 以下是我亲身经历,应聘iphone开发工程师是面试真题。拿出来与大家分享。希 望对各位有帮助。 1、用Objective-C写冒泡法 2、Cocoa 函数库的使用 3、考察对线程的理解 4、考察对MVC的理解?模型视图控制器 5、考察对interface和property的理解? 请各位iphone开发工程师不要太保守,拿出您所知道的面试题与大家一起分享。 互相帮助!谢谢! 11-1-17 下午5:20iphone和Objective-C笔试题? | 苹果开发者综合议事大厅 - CocoaChi开发论坛| 最热的Mac开发论坛 | 最热的iPhone开发论坛 | 最热的iPad开发论坛 第 2 页(共 7 页) 清空我的评分动态 回复引用分享举报 顶端 haoxue 板凳 楼: 发表于: 01-12 只看该作者 小 中 大 注册时间: 2010-11-21 最后登录: 2011-01-17 本帖最近评分记录: 共1条评分记录 superarts可可豆+501-12MVC理解我估计大部分都得问问 隐藏评分记录 立足现实,脚踏实地!讲究实 际!思想成熟、上进心强,很 踏实、很靠谱的我! 级别: 新手上路 UID: 39045 精华: 0 发帖: 41 可可豆: 415 CB 威望: 410 点 贡献值: 0 点 交易币: 0 iChat: GTalk: 在线时间: 16(时) 注册时间: 2010-11-21 最后登录: 2011-01-17 Objective-C笔试题,自己写的答案。 1.ObjC中,与alloc语义相反的方法是dealloc还是release?与retain语义相反的方法是dealloc还是release,为什么?需要与alloc配对使 用的方法是dealloc还是release,为什么?答:alloc与dealloc语意相反,alloc是创建变量,dealloc是释放变量。 retain 对应release,ret ain 保留一个对象。调用之后,变量的计数加1。或许不是很明显,在这有例为证: - (void) setName : (NSString*) name name retain; myname release; myname = name; 我们来解释一下:设想,用户在调用这个函数的时候,他注意了内存的管理,所以他小心的写了如下代码: NSString * newname = NSString alloc initWithString: “John“; aClass setName: newname; newname release; 我们来看一看newname的计数是怎么变化的。首先,它被alloc,count = 1; 然后,在setName中,它被retain, count = 2; 最后,用户 自己释放newname,count = 1,myname指向了newname。这也解释了为什么需要调用myname release。我们需要在给myname赋 新值的时候,释放掉以前老的变量。retain 之后直接dealloc对象计数器没有释放。alloc 需要与release配对使用,因为alloc 这个函数调用 之后,变量的计数加1。所以在调用alloc 之后,一定要调用对应的release。另外,在release一个变量之后,他的值仍然有效,所以最好是 后面紧接着再var = nil。 2.在一个对象的方法里面: = “object”; 和 name ”object” 有什么不同吗? 答: = “object“会调用对象的setName()方法,name = “object“会直接把object赋值给当前对象的name 属性 。 backcolor=transparentbackcolor=transparent3.这段代码有什么问题吗: backcolor=transparentimplementation Person backcolor=transparent- (void)setAge:(int)newAge backcolor=transparentself.age = newAge; backcolor=transparent backcolor=transparentend 答:会进入死循环。 4.什么是retain count?答:引用计数(ref count或者retain count)。对象的内部保存一个数字,表示被引用的次数。例如,某个对象被两个 指针所指向(引用)那么它的retain count为2。需要销毁对 象的时候,不直接调用dealloc,而是调用release。release会 让retain coun t减1,只有retain count等于0,系统才会调用dealloc真正销毁这个对象。 5.以下每行代码执行后,person对象的retain count分别是多少 Person *person = Person alloc init; count 1 person retain; count 2 person release;count 1 person release;retain count = 1; 6.为什么很多内置类如UITableViewController的delegate属性都是assign而不是retain的?答:会引起循环引用。 7.定义属性时,什么情况使用copy,assign,和retain 。答:assign用于简单数据类型,如NSInteger,double,bool,retain 和copy用户对 象,copy用于当 a指向一个对象,b也想指向同样的对象的时候,如果用assign,a如果释放,再调用b会crash,如果用copy 的方式,a和b 各自有自己的内存,就可以解决这个问题。retain 会使计数器加一,也可以解决assign的问题。另外:atomic和nonatomic用来决定编译 器生成的getter和setter是否为原子操作。在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会 变成下面这样: if (property != newValue) property release; property = newValue retain; 8.的对象是在什么时候被release的?答:autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Obj ect放入了当前的Autorelease pool中,当该pool被释放时,该pool中的所有Object会被调用Release。对于每一个Runloop, 系统会隐式 创建一个Autorelease pool,这样所有的release pool会构成一个象CallStack一样的一个栈式结构,在每一个Runloop结束时,当前栈顶 的Autorelease pool会被销毁,这样这个pool里的每个Object(就是autorelease的对象)会被release。那什么是一个Runloop呢? 一个 UI事件,Timer call, delegate call, 都会是一个新的Runloop。那什么是一个Runloop呢? 一个UI事件,Timer call, delegate call, 都会是一个新的Runloop。 9.这段代码有什么问题,如何修改 11-1-17 下午5:20iphone和Objective-C笔试题? | 苹果开发者综合议事大厅 - CocoaChi开发论坛| 最热的Mac开发论坛 | 最热的iPhone开发论坛 | 最热的iPad开发论坛 第 3 页(共 7 页) for (int i = 0; i someLargeNumber; i+) NSString *string = ”Abc”; string = string lowercaseString; string = string stringByAppendingString:“xyz“; NSLog(“%”, string); 答:会内存泄露, for(int i = 0; i1000;i+) NSAutoreleasePool * pool1 = NSAutoreleasePool alloc init; NSString *string = “Abc“; string = string lowercaseString; string = string stringByAppendingString:“xyz“; NSLog(“%“,string); pool1 drain; 10.autorelease和垃圾回收机制(gc)有什么关系?答案:不懂 11.IPhone OS有没有垃圾回收(gc)?没有 12.什么是Notification?答:观察者模式,controller向defaultNotificationCenter添加自己的notification,其他类注册这个notification 就可以收到通知,这些类可以在收到通知时做自己的操作(多观察者默认随机顺序发通知给观察者们,而且每个观察者都要等当前的某个观 察者的操作做完才能轮到他来操作,可以用NotificationQueue的方式安排观察者的反应顺序,也可以在添加观察者中设定反映时间,取消 观察需要在viewDidUnload 跟dealloc中都要注销)。参考链接: n.html 13.什么时候用delegate,什么时候用Notification?答:delegate针对one-to-one关系,并且reciever可以返回值给sender,notificati on 可以针对one-to-one/many/none,reciever无法返回值给sender.所以,delegate用于sender希望接受到reciever的某个功能反馈值 ,notification用于通知多个object某个事件。 14.什么是KVC和KVO?答:KVC(Key-Value-Coding)内部的实现:一个对象在调用setValue的时候,(1)首先根据方法名找到运行方法 的时候所需要的环境参数。(2)他会从自己isa指针结合环境参数,找到具体的方法实现的接口。(3)再直接查找得来的具体的方法实现 。KVO(Key-Value-Observing):当观察者为一个对象的属性进行了注册,被观察对象的isa指针被修改的时候,isa指针就会指向一个 中间类,而不是真实的类。所以isa指针其实不需要指向实例对象真实的类。所以我们的程序最好不要依赖于isa指针。在调用类的方法的时 候,最好要明确对象实例的类名。 15.Notification和KVO有什么不同?答:不知道 16.KVO在ObjC中是怎么实现的?答:不知道 17.ViewController 的 loadView, viewDidLoad, viewDidUnload 分别是在什么时候调用的?在自定义ViewController的时候这几个函数 里面应该做什么工作?答:viewDidLoad在view 从nib文件初始化时调用,loadView在controller的view为nil时调用。此方法在编程实现vi ew时调用,view 控制器默认会注册memory warning notification,当view controller的任何view 没有用的时候,viewDidUnload会被调用 ,在这里实现将retain 的view release,如果是retain的IBOutlet view 属性则不要在这里release,IBOutlet会负责release 。 18.ViewController 的 didReceiveMemoryWarning 是在什么时候被调用的?默认的操作是什么?答:默认调用super didReceiveMemor yWarning backcolor=transparentbackcolor=transparentbackcolor=transparentbackcolor=transparentbackcolor=transparentback color=transparentbackcolor=transparent backcolor=transparentbackcolor=transparentbackcolor=transparentbackcolor=transparentbackcolor=transparentback color=transparentbackcolor=transparent 我没有我没有Macmini,可以可以pc机下装虚拟机吗?从而好练习写代码?请各位给些建议,指点我走出困境!写不机下装虚拟机吗?从而好练习写代码?请各位给些建议,指点我走出困境!写不 出表达自己意思的出表达自己意思的objective-c代码,问题非常严重!代码,问题非常严重! 用用Visual C+ 6.0的编译器写的编译器写Objective-C的代码,没有模拟器,看不到编译结果。的代码,没有模拟器,看不到编译结果。 我熟悉我熟悉iPhone/Mac操作系统,掌握操作系统,掌握iPhone SDK企业相关实际开发技术及应用。现在离开公司,只能暂时企业相关实际开发技术及应用。现在离开公司,只能暂时 用用Visual C+ 6.0的编译器代替,写的编译器代替,写Objective-C的代码。上帝啊!救救我吧!我没有的代码。上帝啊!救救我吧!我没有Macmini,只有,只有Micro soft Visual C+ 6.0的编译器,我现在只有苹果开发用的书,根本没有苹果手机开发用的编译器,只能用的编译器,我现在只有苹果开发用的书,根本没有苹果手机开发用的编译器,只能用 11-1-17 下午5:20iphone和Objective-C笔试题? | 苹果开发者综合议事大厅 - CocoaChi开发论坛| 最热的Mac开发论坛 | 最热的iPhone开发论坛 | 最热的iPad开发论坛 第 4 页(共 7 页) 回复引用分享举报 顶端 superarts 3 楼: 发表于: 01-12 只看该作者 小 中 大 soft Visual C+ 6.0的编译器,我现在只有苹果开发用的书,根本没有苹果手机开发用的编译器,只能用的编译器,我现在只有苹果开发用的书,根本没有苹果手机开发用的编译器,只能用 Visual C+ 6.0的编译器写的编译器写Objective-C的代码。我现在根本写不出表达自己意思的的代码。我现在根本写不出表达自己意思的Objective-C的代码。不的代码。不 知道从何下手。上帝啊!救救我吧!知道从何下手。上帝啊!救救我吧! 我有我有C/C+的基础。的基础。 编程是重点!是工作的核心!只能看看书上的代码编程是重点!是工作的核心!只能看看书上的代码,如果老如果老 板给个任务,自己独立写不出代码板给个任务,自己独立写不出代码,就完蛋了。你想想如果就完蛋了。你想想如果 ,你一行代码都写不出来,老板能要你吗?动手能力差,自,你一行代码都写不出来,老板能要你吗?动手能力差,自 己写不出代码,不能给公司创造效益,解决实际问题,就会己写不出代码,不能给公司创造效益,解决实际问题,就会 连试用期都过不了,就会直接被公司开除、解雇、炒鱿鱼。连试用期都过不了,就会直接被公司开除、解雇、炒鱿鱼。 请各位高手多指点一下请各位高手多指点一下objective-c的学习方法和编程经验?的学习方法和编程经验? 我写不出表达自己的意思的代码?内心非常痛苦!不知道从我写不出表达自己的意思的代码?内心非常痛苦!不知道从 何下手?从何学起?我写不出表达自己意思的何下手?从何学起?我写不出表达自己意思的objective-c代代 码,问题非常严重!请各位给些建议,指点我走出困境!码,问题非常严重!请各位给些建议,指点我走出困境! 此帖被haoxue在2011-01-13 17:11重新编辑 If war they want, then WAR they shall have! 级别: 论坛版主 UID: 191 精华: 4 发帖: 5619 可可豆: 10007340 CB 威望: 51442 点 贡献值: 39 点 交易币: 0 iChat: 12345678 GTalk: 12345678 在线时间: 2335(时) 注册时间: 2008-06-27 iphone题怎么发mac区了我先转综合了 11-1-17 下午5:20iphone和Objective-C笔试题? | 苹果开发者综合议事大厅 - CocoaChi开发论坛| 最热的Mac开发论坛 | 最热的iPhone开发论坛 | 最热的iPad开发论坛 第 5 页(共 7 页) 回复引用分享举报 顶端 zenny_chen 4 楼: 发表于: 01-12 只看该作者 小 中 大 回复引用分享举报 顶端 qdvictory 5 楼: 发表于: 01-12 只看该作者 小 中 大 回复引用分享举报 顶端 kav2376 6 楼: 发表于: 01-12 只看该作者 小 中 大 注册时间: 2008-06-27 最后登录: 2011-01-17 私自由。私混沌。私変 化。私未来。私謎。私 負。 级别: 论坛版主 UID: 5513 精华: 10 发帖: 1625 可可豆: 16521 CB 威望: 16157 点 贡献值: 0 点 交易币: 0 iChat: zenny_chen GTalk: 在线时间: 1186(时) 注册时间: 2009-05-06 最后登录: 2011-01-16 引用 引用第3楼superarts于2011-01-12 23:04发表的 : iphone题怎么发mac区了我先转综合了 话说super大,楼主的所有例子中似乎大多都是Foundation库,一小部分有Cocoa Touch的成份在,哇哈哈 个人博客地址: I think I can. 级别: 风云使者 UID: 7444 精华: 4 发帖: 5293 可可豆: 750 CB 威望: 53015 点 贡献值: 98 点 交易币: 0 iChat: GTalk: 在线时间: 2862(时) 注册时间: 2009-07-31 最后登录: 2011-01-17 耶,问的问题我80不会 曾经听到tpp的梦想让我为之感慨了好一阵.那次无意间的对话,tpp表现出了对未来的美好憧憬,他说:我的梦想是有人帮我改一下cc的头像,让我变成一只完美的猪头 吃饭时停电必备手电筒 级别: 新手上路 UID: 41038 精华: 0 发帖: 16 可可豆: 160 CB 威望: 160 点 贡献值: 0 点 交易币: 0 iChat: 謝謝分享! 小弟初學,看了很有收穫 11-1-17 下午5:20iphone和Objective-C笔试题? | 苹果开发者综合议事大厅 - CocoaChi开发论坛| 最热的Mac开发论坛 | 最热的iPhone开发论坛 | 最热的iPad开发论坛 第 6 页(共 7 页) 回复引用分享举报 顶端 gagaga 7 楼: 发表于: 01-12 只看该作者 小 中 大 回复引用分享举报 顶端 superarts 8 楼: 发表于: 01-12 只看该作者 小 中 大 GTalk: 在线时间: 18(时) 注册时间: 2010-12-03 最后登录: 2011-01-13 那没有看见就信的有福了。 级别: 论坛版主 UID: 2 精华: 6 发帖: 6609 可可豆: 156064 CB 威望: 60187 点 贡献值: 0 点 交易币: 0 iChat: GTalk: 在线时间: 3702(时) 注册时间: 2008-03-29 最后登录: 2011-01-17 话说这贴让我很受启发。 In all thy ways acknowledge Him, and He shall direct thy paths. If war they want, then WAR they shall have! 级别: 论坛版主 UID: 191 精华: 4 发帖: 5619 可可豆: 10007340 CB 威望: 514

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论