金九银十,金九已通过去,到了银十,根据统计,不少人都会选择在三月四月跳槽,缘由有不少,企业年后会有大量员工离职,员工以为老公司待遇不怎么样?薪资不够高,想换个新环境等等缘由,因此,十月份就变成了招聘与跳槽的旺季
前面一段时间给公司面试了10个iOS开发,本身总结了50道面试题,在此,我分享给你们,但愿你们在四月份要找工做的朋友,个人这篇文章能给你有所帮助。ios
一、如何令本身所写的对象具备拷贝功能?
二、说说你理解weak属性?
三、题目:Swift mutating关键字的使用?
四、UIView和CALayer是什么关系?
五、下面的代码输出什么?
六、@synthesize 和 @dynamic 分别有什么做用?
七、动态绑定
八、Category(类别)、 Extension(扩展)和继承的区别
九、为何代理要用weak?代理的delegate和dataSource有什么区别?block和代理的区别?
十、id和NSObject*的区别
十一、如何令本身所写的对象具备拷贝功能?
十二、使用系统的某些block api(如UIView的block版本写动画时),是否也考虑引用循环问题?
1三、用@property声明的NSString(或NSArray,NSDictionary)常用copy关键字,为何?若是改用strong关键字,可能形成什么问题?
1四、UIView和 CALayer是什么关系?
1五、static有什么做用?面试
1六、main()以前的过程有哪些?
1七、KVO基本原理?
1八、Swift 下的如何使用 KVC?
1九、:Swift有哪些模式匹配?
20、objc在向一个对象发送消息时,发生了什么?
2一、静态库的原理是什么?你有没有本身写过静态编译库,遇到了哪些问题?
2二、runloop是来作什么的?runloop和线程有什么关系?主线程默认开启了runloop么?子线程呢?
2三、不手动指定autoreleasepool的前提下,一个autorealese对象在什么时刻释放?(好比在一个vc的viewDidLoad中建立
2四、不手动指定autoreleasepool的前提下,一个autorealese对象在什么时刻释放?(好比在一个vc的viewDidLoad中建立)
2五、OC完整的消息转发机制+代码实现【暴击】
2六、、以+ scheduledTimerWithTimeInterval...的方式触发的timer,在滑动页面上的列表时,timer会暂定回调,为何?如何解决?
2七、如何手动触发一个value的KVO
2八、如何对定位和分析项目中影响性能的地方?以及如何进行性能优化?
2九、串行并行,异步同步的区别?
30、线程是什么?进程是什么?两者有什么区别和联系?
3一、RunLoop是什么?
3二、假设有一个字符串aabcad,请写一段程序,去掉字符串中不相邻的重复字符串,即上述字符串处理以后的输出结果为:aabcd
@autoclosure(自动闭包)
3四、iOS app启动如何优化?
3五、swift面试题:
3六、怎样防止反编译?
3七、UITableView性能优化,超实用swift
3七、 不要阻塞主线程
3八、谈谈你对多线程开发的理解?ios中有几种实现多线程的方法?
3九、进程和线程的区别?同步异步的区别?并行和并发的区别?
40、ViewController生命周期
4一、iOS 中的多线程
4二、内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象
须要手动释放?在和property结合的时候怎样有效的避免内存泄露?
谁申请,谁释放
4三、dispatch_barrier_async的做用是什么?
4四、如何用GCD同步若干个异步调用?(如根据若干个url异步加载多张图片,而后在都下载完成后合成一张整图)api
4六、http与https的区别?
4七、服务器可否知道APNS推送后有没有到达客户端的方法?性能优化
4八、1.什么方式能够看到上架App的头文件?
2.阅读过哪些框架的源码?能说说它的架构方式吗
4九、iOS iAP内购审核可能失败的问题
50、IAP内购中虚拟货币致使审核没法经过的问题?服务器
因为答案太多,我作了一个PDF文档,code4app不多玩,不能上传文件,须要答案能够加个人iOS交流群624212887,获取文档,也欢迎招聘者。多线程