面试

腾讯(视频面试2020-03)

2020-04-02  本文已影响0人  强子ly

1、你们现在部门内有单元测试或者CodeReview的习惯么?
2、对ARC的理解,自动引用是什么帮我们做的?

主要介绍一下MRC,ARC是编译器自动管理

3、ARC什么时候会造成内存泄漏?循环引用的场景,为什么用weak就能避免循环引用?weak底层原理是什么样的?使用计时器的时候会造成内存泄漏么?如果dealloc不能调用,什么时候关闭定时器的?不强制调用计时器的这个方法,如何也能避免内存泄漏?什么时候计时器会出现不准?

4、runloop的几种模式?runloop和线程有什么关系?子线程和主线程的runloop有什么区别么?
5、实现多线程是怎么做的?GCD系统提供了几种默认队列给我们用?提供队列的优先级有几种?单例是怎么实现的?为什么dispatch_once_t能保证只创建一次?

GCD系统提供了几种类型
- 主队列、同步、异步

6、介绍一个sdwebimage加载一张图片的流程
7、设计一个图片缓存的功能,最大智能缓存20M,加载超过20M,如果让你设计你是如何操作?超过最大缓存的移除策略?

靠缓存的淘汰策略,可参考yycache,移除策略是一定要说的

8、说说你项目中最有成就感的功能点,朋友圈这种UI都有哪些操作。

上一篇下一篇

猜你喜欢

热点阅读