聚美优品IOS开发工程师面试(技术总监面)-2015年

面试问答题

1、  说一下OC的垃圾回收机制?

2、  方法和选择器有何不同?

3、  什么是延迟加载?

4、  一个tableView是否可以关联两个不同的数据源?你会怎么处理?

5、  什么时候需要在程序中创建内存池?

6、  如果我们不创建内存池,是否有内存池提供给我们?

参考答案

1、  OC2.0有Garbage collection,但是iOS平台不提供。一般我们了解的objective-c对于内存管理都是手动操作的,但是也有自动释放池。但是差了大部分资料,貌似不要和arc机制搞混就好了。

2、  selector是一个方法的名字,method是一个组合体,包含了名字和实现。详情可以看apple文档。

3、  即懒汉模式,只在用到的时候才去初始化。也可以理解成延时加载。

我觉得最好也最简单的一个列子就是tableView中图片的加载显示了。一个延时载,避免内存过高,一个异步加载,避免线程堵塞。

4、首先我们从代码来看,数据源如何关联上的,其实是在数据源关联的代理方法里实现的。

因此我们并不关心如何去关联他,他怎么关联上,方法只是让我返回根据自己的需要去设置如相关的数据源。

5、用户自己创建的数据线程,则需要创建该线程的内存池

6、界面线程维护着自己的内存池,用户自己创建的数据线程,则需要创建该线程的内存池。

个人资料
游弋的蔷薇
等级:7
文章:27篇
访问:3.8w
排名: 10
上一篇: 聚美优品IOS开发工程师面试(第一面)-2015年
猜你感兴趣的圈子:
聚美优品笔试面试圈
标签: 数据源、数据线、tableview、关联、加载、面试题
隐藏