ios工程师面试题

ios工程师面试题

ID:20167344

大小:30.29 KB

页数:9页

时间:2018-10-10

ios工程师面试题_第1页
ios工程师面试题_第2页
ios工程师面试题_第3页
ios工程师面试题_第4页
ios工程师面试题_第5页
资源描述:

《ios工程师面试题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.谈谈你对多线程开发的理解?iOS中有几种实现多线程的方法?好处:1、使用线程可以把程序中占据时间长的任务放到后台去处理,如图片、视频的下载2、发挥多核处理器的优势,并发执行让系统运行的更快、更流畅,用户体验更好缺点:1、大量的线程降低代码的可读性,2、更多的线程需要更多的内存空间3、当多个线程对同一个资源出现争夺的时候要注意线程安全的问题。iOS有三种多线程编程的技术:1、NSThread(两种创建方式)[NSThreaddetachNewThreadSelector:@selector(doSom

2、ething:)toTarget:selfwithObject:nil];NSThread*myThread=[[NSThreadalloc]initWithTarget:selfselector:@selector(doSomething:)object:nil];[myThreadstart];2、NSOperationQueueNSOperationQueue*oprationQueue=[[NSOperationQueuealloc]init];oprationQueueaddOperation

3、WithBlock:^{//这个block语句块在子线程中执行}http://alloc.sinaapp.com/wp/?p=2373、GrandCentralDispatch(GCD)dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{//耗时的操作dispatch_async(dispatch_get_main_queue(),^{//更新界面});});http://blog.csdn.net/

4、totogo2010/article/details/8016129PS:不显示的创建线程的方法:用NSObject的类方法 performSelectorInBackground:withObject:创建一个线程:[ObjperformSelectorInBackground:@selector(doSomething)withObject:nil];1.线程同步和异步的区别?IOS中如何实现多线程的同步?同步:一个线程要等待上一个线程执行完之后才能执行当前的线程,生活中的例子(上厕所)。异步:同时

5、去做两件或者多件事。比如边听歌边看报。原子操作(atomic)yearsmortgagehousing;4.mortgageregistrationformalitiesarecompleted.(D)pledge1.borrower(includingthepledgor)between18-65yearsofage,withfullcivilcapacity;2.collateral、加锁(NSLock、NSRecursive、NSConditionLock)、@synchronizedGCD串行队

6、列,GCD当中的屏障,NSOperationQueue设置最大并发数为1参考(http://blog.csdn.net/lifengzhong/article/details/7487505)1.iOS类是否可以多继承?如果没有,那可以用其他方法实现吗?简述实现过程。不可以,可以通过消息转发、delegate和protocol和类别来实现类似多继承。1.iOS本地数据存储都有哪几种方式?iOS如何实现复杂对象的存储?NSKeyedArchiver(归档)采用归档的形式来保存数据,该数据对象需要遵守NSC

7、oding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。1.NSUserDefaults:用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary。2.Write写入方式:永久保存在磁盘中。3.SQLite(FMDB、CoreData)NSCoding+NSKeyed

8、Archiver实现复杂对象的存储。1.深拷贝和浅拷贝的理解?深拷贝拷贝的是内容,浅拷贝拷贝的是指针。深拷贝和浅拷贝最大的区别就是子类对象的地址是否改变,如果子类对象的地址改变那么就是深拷贝。1.怎样实现一个singleton的类。staticLOSingleton*shareInstance;+(LOSingleton*)sharedInstance{@synchronized(self){//这个东西其实就是一个加锁。如果self其他线

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。