人才济济的 iOS 开发者,你凭什么脱颖而出?
与岗位要求相去甚远,如何挑战极限?
想去心怡公司,如何马到成功?
那么,你的绝招是什么呢?
在这个 iOS 岗位供不应求的市场,对 iOS 开发者对要求日益增长,小编分享一下最近对招人心得,放出 47 道面试题+答案,供广大 iOS 开发者参考
底层: 1、runloop 和线程有什么关系?
2、你是否接触过 OC 中的反射机制?简单聊一下概念和使用
3、objc 中的类方法和实例方法有什么本质区别和联系?
4、runloop 的 mode 作用是什么?
5、1runloop 是什么/ runloop 的概念?
6、id 与 instanncetype
7、什么是 GDB 和 LLDB ?
8、模拟栈操作
9、你是否接触过 OC 中的反射机制?简单聊一下概念和使用
10、ldb ( gdb )常用的调试命令?
11、block 一般用那个关键字修饰,为什么? 哪些情况会引起 block 循环引用,怎么解决
12、为什么很多内置的类,如 TableViewController 的 delegate 的属性是 assign 不是 retain ?
13、ViewController 的 didReceiveMemoryWarning 是在什么时候调用的?默认的操作是什么?
14、使用 block 时什么情况会发生引用循环,如何解决?
15、IB 中 User Defined Runtime Attributes 如何使用?
基础: 16、weak 和 unowned
17、什么是 GDB 和 LLDB ?
18、static 关键字的作用:
19、Objective-C 如何对内存管理的,说说你的看法和解决方法?
20、内存管理的几条原则时什么?按照默认法则.那些关键字生成的对象需要手动释放?在和 property 结合的时候怎样有效的避免内存泄露?
21、NSOperation queue?
22、什么是延迟加载?
23、BAD_ACCESS 在什么情况下出现?
24、0x8badf00d 表示是什么?
25、GCD 与 NSOperation 这两者有什么区别?
26、单例的优弊是什么?
27、RunLoop 和线程的关系: 怎么让子线程执行完成任务后不销毁
28、nonatomic 和 atomic 对比 说说你对他们的理解。
29、两个对象之间相互通信 有哪些通信方式
30、os 的数据存储有哪些方式,sqlite 数据库是否支持多个线程写入数据,如果不支持怎么解决?
31、一个函数执行 10 次,有二次结果不正确 八次正确,你应 该怎么检查该 bug。
32、1-1000 个数字,顺序打乱,又丢失了三个数字,找出丢失的三个数字。
33、Object-C 有私有方法吗?私有变量呢?
34、堆和栈的区别?
35、能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?
36、如何用 GCD 同步若干个异步调用?(如根据若干个 url 异步加载多张图片,然后在都下载完成后合成一张整图)
37、dispatch_barrier_async 的作用是什么?
框架: 38、第三方内存泄漏检测工具:MLeaksFinder 原理分析
39、逃逸闭包
40、cocoa touch 框架
网络: 41、HTTP 协议详解
42、谈谈你对 HTTP、TCP、IP、socket 协议的理解
测试: 43、单元测试那些事!
44、为什么使用这个单元测试呢?它给我们带来了什么好处呢?
45、单元测试的重要性:
swift: 46、swift 闭包
47、swift 中高阶函数 map 用法
答案获取:1、喜欢小编简书这篇文章
2,需要面试题和 iOS 开发资料的可以加我的 iOS 交流群 711413569
原文地址:https://www.cnblogs.com/8828dxw/p/9168619.html