ios,面试常见问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除
ios,面试常见问题
篇一:100个ios开发面试题汇总
100个ios开发面试题汇总
关于ios开发面试,不管对于招聘和应聘来说,面试都
是很重要的一个环节,特别对于开发者来说,面试中的技术
问题环节不仅是企业对应聘者技能和积累的考察,也是一个
开发者自我检验的好机会。
无论是对于公司还是开发者或设计师个人而言,面试都
是一项耗时耗钱的项目,从编程、设计、appstore等各个方面对ios开发者及设计师在面试时可能会遇到的问题进行了
筛选与汇总。
一方面,能够帮助hR在短时间内获取更多反
馈信息,更好地甄选合适人选,而ios开发者及设计师在寻找相关工作时,也可作为参考,为面试做好万全准备。
常见问题
你昨天/这周学习了什么
你为什么热衷于软件开发
你对哪一种控制系统比较熟悉
是否参与过github项目
是否参与过github或其他同类型网站的ios开源项目
请描述一下你的ios应用开发流程。
是否熟知cocoapods它是什么如何运行的
请概括一下你对软件授权的理解,及其对软件开发的影
响。
请概括一下你在构建ios应用时的测试过程。
ios应用如何实现对其他语言、日期格式以及货币单位的支持
请描述一下instruments及其作用。
关于ios技术
请解释一下handoff是什么,并简述它是如何实现ios、mac/网页应用互通的。
icloud包含了哪些技术与服务
ios扩展是指能否列举一些热门或常见的范例
healthkit是什么
homekit是什么
applepay是什么能否描述一下如何在应用中使用
applepay
请解释一下ios应用沙盒机制。
Voiceover是什么请举例解释一下ios中的辅助功能(accessibility)。
开发者如何使用这些功能
ios应用是如何实现后台多任务处理(multitasking)的gamecenter针对ios游戏有哪些功能
ibeacons是什么
cocoa/cocoatouch是什么
请概括一下coreaudio,coredata以及corelocation
各是什么。
它们对ios应用有何意义
请描述spritekit和scenekit的作用。
metal是什么
响应链(Responderchain)是什么它是如何发挥作用的
按钮和其他控制方式对哪些操作做出回应
appdelegate扮演着什么样的角色
请解释一下nsuserdefaults。
就你而言,你会如何在磁盘中对数组对象进行序列化
你会如何储存用户的认证信息
请问何为keychain服务
为什么移动设备上的缓存和压缩是不可或缺的
请解释一下~/documents,~/library和~/tmp。
ios中的~属于什么目录
airplay是如何运行的换做是你,你会如何通过编程提
高应用的实用性以及演示效果
传感器,io以及wiFi、拨号等连接方式如何在ios平台上运作它们有何利用价值请扼要地谈谈你的观点。
ipad2,ipadmini1-3,ipadRetina,ipadair2,iphone5、5s、6以及6+在硬件性能方面有何差异这对注重性能的应用
有何限制
关于编程
cocoatouch包含什么不包含什么
为什么cocoatouch的类名称是以两个大写字母开头的
swift和objective-c分别是什么两者相比有何不同之处,又有何联系
为什么optional在swift语言中非常重要
请解释一下nserror。
在swift中,什么情况下能使用nserror,什么情况下不能
请说明如何使用instancetype及其重要性。
在swift中,什么时候该用let,什么时候该用var
为什么map函数必不可少该在什么情况下使用它
你会选择什么工具来追踪bug
如果在cocoa中发现一个bug,你会如何处理
如果应用的新版本出现了Regression的情况,该如何补救如何防止用户在使用过程中遇到新的bug
objective-c的类是怎么执行的objective-cRuntime是如何实现的ios是如何提高安全性,保护用户隐私信息的应用可以下载并即刻显示数据。
如何根据mVc来判断下载的最佳位置mVc对代码库(codebase)的设计有何影响controllerlife-cycle以及Viewlife-cycle分别有哪些调试方法
篇二:ios面试问题大全
1:object-c
有多重继承吗?没有的话有什么替代?
我的回答:没有。
用
protocol代替
网上答案:cocoa中的所有类都是nsobject的子类。
多继承在这里是用protocol委托代理来实现的
2:static作用?
我的答案:静态声明。
声明一个变量或方法为静态。
静
态变量在类的第一次实例化时,即分配存储空间。
静态方法
不需要类的实例即可访问。
网上答案:
(1)函数体内static变量的作用范围为该函数体,不
同于auto变量,该变量的内存只被分配一次,因此此值在
下次调用时扔维持上次的值。
(2)在模块内的static全局变量可以被模块内所用的
函数访问,但不能被模块外其他函数访问
(3)在模块内的static函数只可被这一模块内的其他
函数调用,这个函数的使用范围被限制在声明它的模块内(4)在类中的static成员变量属于整个类所拥有,对
类的所有对象只有一份拷贝
(5)在类中的static成员函数属于整个类所拥有,这
个函数不接收this指针,因而只能访问类的static成员变量
4:object-c的内存管理是如何管理的?
我的答案:
引用计数:当使用alloc创建新实例或赋值retain、copy (或aRc中的strong)标识的变量时,实例或变量的引用计数即加一,当它们的引用计数为0时,则由gc回收网上答案:如果你通过分配和初始化,(比如[[myclassalloc]init])的方式类创建对象,你就拥有这个
对象,需要负责该对象的释放。
这个规则在使用nsobject
的便利方法new时也同样适用。
如果你拷贝一个对象,你也
拥有拷贝得到的对象,需要负责该对象的释放。
如果你保持
一个对象,你就部分拥有这个对象,需要在不再需要时释放5:view中的frame和bounds有什么不同?
我的答案:view的frame代表的是父类中的view的位置。
view的bounds代表的是view自己的坐标及长宽网上答案:
frame指的是:该view在父view坐标系统中的位置和大小。
(参照点是父亲的坐标系统)bounds指的是:该view 在本身坐标系统中的位置和大小。
(参照点是本身坐标系统)6:如何在ios4.1以上使用ios3的代码(这个问题不太明
白具体什么意思,按我的理解回答了)?
我的答案:在aRc项目中使用非aRc的代码,需要在编译设置里设置:-fno-objc-arc7:请写一个委托代理的例子.h文件
@protocoldelegate;
@required
(void)dosomething;
@end
@interfacedelegatesimple
@end
.m文件
#import"delegatesimple.h"
@implementationdelegatesimple
(void)dosomething
{
nslog(@"%@","thisisimplementationoftheprotocol");
}
@end
8:请用block写出一个singleton实例
+(class*)sharedinstance
{
staticclass*__singleton;
staticdispatch_once_toncetoken;
dispatch_once(
});
return__singleton;
}
9:请写出你常用的多线程调用的方法
-(void)downloadstringFromuRl
{
nsuRl*url=[nsuRluRlwithstring:[nsstringstringwithFo rmart:@"%@",""]];
asihttpRequest*request=[asihttpRequestrequestwithuR l:url];
[requestsetdelegate:self];
[requeststartasynchronous];
}
#pragmamark-asihttpRequest异步请求回调方法(void)requestFinished:(asihttpRequest*)request
{
nsstring*responsestring=[requestresponsestring];
nslog(@"%@",responsestring);
}
(void)requestFailed
{
nserror*error=[requesterror];
nslog(@"%@",error);
}
一c语言方法的知识
1:conststaticvoilite修辞变量各代表什么意思?
const修辞的变量为常量,常量是不容许修改。
static修辞的变量为静态变量,在内存中只被创建一次(如uitableView中创建cell的代理方法用会用到静态变量标识cell)
Volatile定义变量为一个共享变量
2:static的作用
在类中static修饰的变量属于整个类的所有,对类的
所有对象共享一份
在类中static修辞的方法属于这个类所有,该方法不
能通过this来访问只能通过类来访问该方法。
在函数体static修辞的变量在内存中只被分配一次,多次调用函数体都
是调用内存中的同一份。
二oc中内存方面。