美文网首页
关于支付宝电面

关于支付宝电面

作者: iOS旺 | 来源:发表于2015-08-02 19:04 被阅读123次

    没想到支付宝会打电话来面试,面试了半个小时,好悬

    前面开始问的是项目,然后介绍了以前项目的框架,聊到MVC,这些都是没答案的,我就不提我自己的回答了,

    1.后面问了OC为什么会叫发送消息?

    我的回答:实例调用方法在运行时会调用objc_msgSend函数,msgSend函数有两个固定参数,id,SEL,这个函数是用汇编实现的,大致是会去 找SEL的实现,函数指针IMP,找不到就返回_objc_msgForward函数指针,这个函数实现也看不到,根据文档这个函数实现消息转发做了如下几件事,

    a.调用resolveInstanceMethod:方法,允许用户在此时为该Class动态添加实现。如果有实现了,则调用并返回。如果仍 没实现,继续下面的动作。

    b.调用forwardingTargetForSelector:方法,尝试找到一个能响应该消息的对象。如果获取到,则直接转发给它。如果返回了nil,继续下面的动作。

    c.调用methodSignatureForSelector:方法,尝试获得一个方法签名。如果获取不到,则直接调用doesNotRecognizeSelector抛出异常。

    d.调用forwardInvocation:方法,将地3步获取到的方法签名包装成Invocation传入,如何处理就在这里面了。

    上面这4个方法均是模板方法,开发者可以override,由runtime来调用。最常见的实现消息转发,就是重写方法3和4,吞掉一个消息或者代理给其他对象都是没问题的。类方法类推。

    2.后面问了runloop的作用,

    我的:runloop就是在线程中管理事件异步到达的设备。貌似就是英文官方翻译了下,

    3.继续问了以+ scheduledTimerWithTimeInterval.的方式触发的timer,在滑动页面上的列表时,timer会暂定回调,为什么?如何解决?

    我的:用sche创建的是在主线程是默认的模式下运行的,当滚动列表的时候runloop是运行在tracking的一个模式下,所以默认模式下的timer是不会执行,

    解决,把timer加到common的一个模式下,这个是一个模式集合,包括默认的模式,和tracking的模式,

    4.runloop怎么知道是当前循环或者下一个循环?

    我的,这个不清楚是什么意思。我就答了个,runloop类似想select多路复用io技术,然后...

    5.后面问了浅拷贝深拷贝

    我的,浅拷贝是拷贝指针,深拷贝是新开辟空间,把里面的类容拷贝出来。举例用了c结构体带指针的例子。

    6.开始问了#include #import区别

    我的,#include不会检查重复包含,#import会检查,

    用#include 怎么解决重复包含

    我的,用#ifdef 与预处理判断

    继续延伸要@class和#import

    我的,@class在编译期间不会引入头文件,效率较高

    7.c++指针和引用的区别和联系

    我的,引用本质就是const 指针,1.区别,指针可以改变指向,引用不行

    2.c++中在一个函数里面,返回指针和返回引用有区别,返回引用会调用拷贝构造函数。

    8.后面问了iOS中用了哪些设计模式

    我的,回答这个问题的时候,设计模式已经忘的差不多了,面试就没准备过,就回答了个单例,和工厂,

    后续问了工厂有个什么鬼东西的区别,没听说过,直接忘记了

    9.问了类图的哪5个什么东西的?

    我的,忘了,回答了个聚合和组合,

    两者之间的区别,不清楚胡乱回答的,从大二上了这个后就没整过,真心不知道

    10,tableview的优化,

    我的,这个回答的不是很好,cell的重用不用说了,cell要自定义draw,通过有很多图片,怎么优化?我当时是考虑的预见加载一部分图片,

    面试官立马又问,如果快速拖动呢,

    我的,拖动的快慢可以用代码计算出来,然后根据最上面那个cell预先加载到内存。

    11,图片从内存渲染到界面上有哪些技术实现细节?

    中途还问了绘制图片哪些优化?,我说了用gpu加速绘制等,

    我的,这个不是很清楚什么意思,

    还问了个autorelease延迟释放以及pool的原理,这个回答不好,只是说了个大概

    想想还有什么遗漏了的,记不清楚了,前后差不多半个小时

    后面就等通知

    设计模式和类图这一块确实没想到会问到,o了,共勉!!

    相关文章

      网友评论

          本文标题:关于支付宝电面

          本文链接:https://www.haomeiwen.com/subject/afdvqttx.html