百度iOS工程师社招面试

1、如何令自己所写的对象具有拷贝功能?

2、说说你理解weak属性?

3、Swift mutating关键字的使用?

4、UIViewCALayer是什么关系?

5、下面的代码输出什么?

6、@synthesize @dynamic 分别有什么作用?

7、动态绑定。

8、Category(类别)、 Extension(扩展)和继承的区别。

9、为什么代理要用weak?代理的delegatedataSource有什么区别?block和代理的区别?

10、idNSObject*的区别。

11、如何令自己所写的对象具有拷贝功能?

12、使用系统的某些block api(如UIViewblock版本写动画时),是否也考虑引用循环问题?

13、用@property声明的NSString(或NSArrayNSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?

14、UIView CALayer是什么关系?

15、static有什么作用?

16、main()之前的过程有哪些?

17、KVO基本原理?

18、Swift 下的如何使用 KVC

19、Swift有哪些模式匹配?

20、objc在向一个对象发送消息时,发生了什么?

21、静态库的原理是什么?你有没有自己写过静态编译库,遇到了哪些问题?

22、runloop是来做什么的?runloop和线程有什么关系?主线程默认开启了runloop么?子线程呢?

23、不手动指定autoreleasepool的前提下,一个autorealese对象在什么时刻释放?(比如在一个vcviewDidLoad中创建

24、不手动指定autoreleasepool的前提下,一个autorealese对象在什么时刻释放?(比如在一个vcviewDidLoad中创建)

25、OC完整的消息转发机制+代码实现【暴击】

26、手撕代码。牛客题霸上的原题,可以去看看:NC76 用两个栈实现队列

#百度##社招##面经##iOS工程师#
全部评论
上海吗?
点赞 回复
分享
发布于 2020-12-30 01:41

相关推荐

8 35 评论
分享
牛客网
牛客企业服务