过招多家大厂提炼的iOS面试心经

过招多家大厂提炼的iOS面试心经https://blog.csdn.net/John_5555/article/details/870761862018年,整个资本市场风起云涌,大环境下,互联网更是风声鹤唳,大多数公司面临着裁员,结构重构,他们收紧资本,为自己取暖。在漫长的寒冬下,互联网人只有自己修炼内功,才能在寒风中屹立不倒。
作为一名iOS开发者,要时时刻刻保持学习的冲劲,新的知识每年都是海量增长,要学的东西真的太多太多。很多公司收紧资本,所以,对于找人这块,更是慎之又慎,如果不是实力过硬,很难找到一份称心的工作。
所以,学好iOS很重要,大公司对于开发者的要求也越来越偏向于底层。一个有扎实内功的开发者,才会受到公司的青睐。
学好iOS的底层,无怪乎有几大块的知识点需要掌握,也必须掌握:
OC基础
OC对象,底层的结构是怎样的,类与类别,category为什么不能添加属性? 底层的实现原理,如果类别重写了类中的方法,调用顺序是怎样的?OC语言的动态特性,静态编译与动态类型识别,此处阿里曾考过?这些平时不注意的点有没有注意过?
OC的属性,assign,copy,strong,retain,weak.这些属性的应用场景,以及经常考的可变字符串为什么不能用copy修饰?不可变字符串为什么不能用strong修饰,修饰了会怎样?代理如果用assign会怎样?
OC的内存管理机制,从MRC到ARC内存管理做了什么?autoreleasePool 什么情况下会用,autoreleasePool 的实现原理?引用计数保存在哪里?了解其数据结构吗?
各种原理性问题,如dictionary的实现原理,KVC的实现原理以及为什么要派生出子类,KVO的实现原理,KVO为什么要移除观察者,timer会造成循环引用吗?怎么解决?weak的实现原理?
block的实现原理,__block的作用以及底层实现原理,block的循环引用问题,_下划线修饰的变量会造成循环引用吗?怎么处理?masonry链式编程怎么实现的?什么情况下不用__weak?(Masonry、AFNetWorking、动画等)
平时有用到runtime吗?runtime干嘛的,方法交换。runloop的理解。
消息发送机制,消息转发的三步补救措施?objc向一个对象发送消息时,发送消息的整个过程?objc中向一个nil对象发送消息将会发生什么?这个题目很重要,一题可能会否定一个人。
一个对象的本质,一个对象的内存布局,类对象与元类对象?
深拷贝浅拷贝
iOS系统
main()之前的过程有哪些?
 


《算法导论 第三版英文版》_高清中文版.pdf
《深度学习入门:基于Python的理论与实现》_高清中文版.pdf
《深入浅出数据分析》_高清中文版.pdf
《Python编程:从入门到实践》_高清中文版.pdf
《Python科学计算》_高清中文版.pdf
 

你可能感兴趣的:(others)