2016.2.29 腾讯电话面试

面了半个小时,面完以后出了好多汗,感觉全身都好累。。。自己还是太渣了。。。问了好多问题,只能凭记忆尽量回想,问的顺序可能有些不同

 

这次居然没有自我介绍,不合理啊。。。

 

问了下学了多久,自学的还是跟老师做项目,是怎么学的

 

项目的描述、用了哪些技术,然后问在项目中负责哪些

 

适配怎么做的

 

问tableView中的重用,我就说了UITableViewCell的重用,然后问了cell入栈的时机,是一次性全显示出来还是怎样?我说是先显示一部分,往下滑动的时候再加载一部分

 

问到内存管理,说了下MRC,问我使用retain的时候需要注意什么

然后问到循环引用,我就举了个block和self互相引用的例子,然后是通过创建一个weak的self来解决(挖坑埋自己啊),结果他就问我系统中的block用不用这样做(说了一堆系统中的XXXBlock,我一个都没听过啊。。。),于是我只能诚实地回答他,我没用过系统中的block,然后他就问我那GCD中的block应该比较常用吧,这个用weak吗?我说不用,他说“恩”,但我现在已经挺紧张的了,我都不确定他这个“恩”究竟是肯定我的意思,还是只是想跳过这个话题。。。

 

问到消息传递,KVO和NSNotifaction有什么不同,使用时分别需要注意什么,这个我只知道需要在dealloc中移除监听,他说这是其中一点。别的我不知道啊。。。

 

问我什么时候用到过KVO,我就举了下项目中的例子

 

问我使用KVO的时候遇到过什么问题

 

然后问我有没有深入了解过KVO是怎么实现的,我说没有,然后他让我大胆的猜测一下,提示我是跟runtime有关的,然后我就猜了一下。。。然后他说:“恩,大概还是能说到点上的”。真的么。。。你不是在骗我吧。。。

 

让我说一下项目中的数据从抓取一直到显示到界面上的具体过程

 

问到CoreAnimation,我说这个只看过视频没有使用过。。。

 

问到多线程,GCD和NSOperationQueue有什么特定和区别,我就说了下,然后他就问我刚才说到的NSOperationQueue能做的那些事情,GCD能不能做(比如添加依赖关系、暂停/恢复、取消等),还说到了dispatch_barrier_async、dispatch_group_async等

 

问到设计模式,让我说说工厂模式,然后!然后!!然后!!!我就脑子一抽,问他“是抽象工厂模式吗?”然后他说“那你说说抽象工厂模式也行”,可我两个都忘了啊!!!我竟然自己提出一个自己不会的问题!!!我只能尴尬地说有点忘了,说自己平时用MVC、代理模式、单例模式用得多一些,然后他就让我说说MVC

 

可能还有一些问题吧,但是暂时想不起来了。。。GG

你可能感兴趣的:(ios,面试,腾讯,Objective-C)