V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 外包信息请发到 /go/outsourcing 节点。
• 不要把相同的信息发到不同的节点
pekingcat
V2EX  ›  酷工作

[享借 北京]iOS 看过来,如果你会做这样的题,请马上联系我们!我们求贤若渴!

  •  
  •   pekingcat · 2014-11-06 17:33:09 +08:00 · 5593 次点击
    这是一个创建于 3699 天前的主题,其中的信息可能已经有所发展或是发生改变。
    享借是什么:

    首款基于物品分享的社交平台。目前分享经济正发展的如火如荼,我们团队相信物品所有权和使用权分离是未来的必然趋势,大量被闲置在家的物品将流转起来,也将带来巨大的商业价值。
    除了我们的产品带来社会物品利用效率的极大提升外,我们一起来让大家不再执着于占有和购买,真的回归商品的乐趣。让人与人之间通过物品的分享感受到乐趣和温度。


    •最好的孵化器36kr氪空间第二期团队
    •顶级美元基金晨兴morningside天使轮投资
    •团队主要来源于豆瓣与网易
    •2014国家会议中心WISE大会路演环节第二名

    -------------------题目的分割线------------------

    如果能做下面的题目,并经过我们考核确保是你自己做出来的,不需要进一步面试,20k+工资+期权+多种福利,我们需要这样懂得钻研的工程师。

    答案请发到[email protected],请你来战!

    1.下面代码的输出结果是什么?

    @interface Mac : NSObject

    @end

    @implementation Mac

    @end

    @interface MacBook : Mac

    @end

    @implementation MacBook

    - (instancetype)init {
    self = [super init];
    if (self) {
    NSLog(@"%@", NSStringFromClass([self class]));
    NSLog(@"%@", NSStringFromClass([super class]));
    }
    return self;
    }

    - (Class)class {
    return [Mac class];
    }

    @end

    int main(int argc, const char * argv[]) {
    @autoreleasepool {
    MacBook *mackBook = [[MacBook alloc] init];
    }
    return 0;
    }

    2.下面代码的运行结果是?
    @interface MacBook : NSObject

    @end

    @implementation MacBook

    @end

    int main(int argc, const char * argv[]) {
    @autoreleasepool {
    BOOL res1 = [(id)[MacBook class] isKindOfClass:[MacBook class]];
    BOOL res2 = [(id)[MacBook class] isMemberOfClass:[MacBook class]];
    BOOL res3 = [(id)[MacBook superclass] isKindOfClass:[MacBook superclass];
    BOOL res4 = [(id)[MacBook superclass] isMemberOfClass:[MacBook
    superclass]];

    NSLog(@"%d %d %d %d", res1, res2, res3, res4);
    }
    return 0;
    }

    3.下面的代码有什么问题吗?
    @interface NSObject (MacBook)

    + (void)macbookPro;

    @end

    @implementation NSObject (MacBook)

    - (void)macbookPro {
    NSLog(@"This is a MacBook Pro.");
    }

    @end

    int main(int argc, const char * argv[]) {
    @autoreleasepool {
    [MacBook macbookPro];
    }
    return 0;
    }

    4.下面的代码会?编译错误/运行中崩溃/NSLog...?
    @interface MacPro : NSObject

    @property (nonatomic, copy) NSString *serialNumber;

    @end

    @implementation MacPro

    - (void)authentication {
    NSLog(@"The Serial number of MacPro is %@.", self.serialNumber);
    }

    int main(int argc, const char * argv[]) {
    @autoreleasepool {
    id cls = [MacPro class];
    void *obj = &cls;
    [(__bridge id)obj authentication];
    }
    return 0;
    }

    @end

    ---------------------感谢看到这里的同学---------------------

    分享是最棒的拥有
    第 1 条附言  ·  2014-11-06 18:15:39 +08:00
    第三题我手抖打错了一点:
    不是 [Macbook macbookPro] 应该是 [NSObject macbookPro]
    第 2 条附言  ·  2014-11-06 18:16:00 +08:00
    抱歉
    40 条回复    2014-11-12 15:50:14 +08:00
    pekingcat
        1
    pekingcat  
    OP
       2014-11-06 17:33:51 +08:00
    我也不知道为什么格式不太对了,大家应该能明白是什么题
    bingwenshi
        2
    bingwenshi  
       2014-11-06 17:42:40 +08:00
    哪一只来自豆厂 ?
    sophymax
        3
    sophymax  
       2014-11-06 17:47:21 +08:00 via iPad
    很常规的笔试题,直接作出这几道就要是不是草率了点
    pekingcat
        4
    pekingcat  
    OP
       2014-11-06 17:52:16 +08:00
    @sophymax 我们觉得只要是他自己做出来的,说明对于OC机制还是有一定的了解了。看样子您可以做出来啊!求答案,我们真的很需要好的iOS
    xcatliu
        5
    xcatliu  
       2014-11-06 18:06:57 +08:00
    发 gist 就可以显示正确的格式了
    pekingcat
        6
    pekingcat  
    OP
       2014-11-06 18:08:41 +08:00
    @xcatliu OK,谢谢,我下次注意
    qq2511296
        7
    qq2511296  
       2014-11-06 18:12:51 +08:00
    第一题执行结果为啥是那样? 有iOS开发同学解释下吗?
    sophymax
        8
    sophymax  
       2014-11-06 18:40:56 +08:00 via iPad
    @pekingcat 抬举我了,这些题全弄成C++版本的差不多,写ios游戏用,OC的水平仅限于必要时撸个mm文件和C++交互,或者依葫芦画瓢弄个控件让游戏来调用,在自己掌握的OC知识子集里实现功能,保证不内存泄漏,这些题目超过这个子集了,不过见过这类考察点的Java版和C++版,如果有人去刻意临时学习这些知识点,然后直接不通过面试入职的话,有可能会有不称职的人
    likid
        9
    likid  
       2014-11-06 18:52:57 +08:00
    面试的时候会经常问这类问题的(遇到过),如果只是知其然不知其所以然,也就死记硬背了。
    只要遇到过,再去找相关的答案,也就能大概的知其所以然了。
    这里就会遇到一个问题,到底需要自己研究出来的呢,还是曾经看过这类知识搞懂了。
    这只是 Runtime 机制的一个点,搞了两年 iOS 开发还没听过,要么是学习的内容一直在表层,要么就是不太想继续深入研究发展。

    可惜了,在北京。
    iDelusion
        10
    iDelusion  
       2014-11-06 19:11:31 +08:00
    1,Mac Macbook.m文件已经重写了Class方法
    NSObject 所有类的超类
    2,不是实例 全都是0

    3 类方法要用+ 不然外面调用不了
    pekingcat
        11
    pekingcat  
    OP
       2014-11-06 19:30:58 +08:00
    @iDelusion 谢谢
    fooevr
        12
    fooevr  
       2014-11-06 21:35:14 +08:00 via iPhone
    @likid 可惜在北京+1
    xCoder2012
        13
    xCoder2012  
       2014-11-07 08:03:04 +08:00
    妈蛋,这不是阳神刚做的分享吗?用这个考核没啥意义。。
    caileijuve
        14
    caileijuve  
       2014-11-07 08:28:54 +08:00 via Android
    我总觉得第二题是不是出的也有问题
    pekingcat
        15
    pekingcat  
    OP
       2014-11-07 09:19:26 +08:00
    @caileijuve 应该没什么问题
    Vernsu
        16
    Vernsu  
       2014-11-07 09:27:00 +08:00
    @xCoder2012 阳神是?就分享链接……
    tangqiaoboy
        17
    tangqiaoboy  
       2014-11-07 10:48:12 +08:00
    不写出处么?明明是 sunnyxx 出的题。
    pekingcat
        18
    pekingcat  
    OP
       2014-11-07 10:54:52 +08:00
    @tangqiaoboy 其实不是,可以仔细看看,因为如果是他的,他已经给出答案了
    bluebanboom
        19
    bluebanboom  
       2014-11-07 17:04:14 +08:00
    没仔细看,但是感觉这样的东西在工作中真用不到。
    不知道考核这些的意义是什么?
    谁没事去打印父类的class是啥,囧rz、
    bluebanboom
        20
    bluebanboom  
       2014-11-07 17:05:07 +08:00
    不过也反应了你们确实需要一个真正好的iOS开发了!
    pekingcat
        21
    pekingcat  
    OP
       2014-11-07 19:39:06 +08:00
    @bluebanboom iOS的钻研程度一定来说和水平成正比吧。就像咨询公司面试的时候问的那种逻辑题,工作中是100%用不到的,但是是一个好的考核方式
    galenzhao
        22
    galenzhao  
       2014-11-07 21:06:29 +08:00
    ....这个也就1-3个月的水平吧
    galenzhao
        23
    galenzhao  
       2014-11-07 21:08:55 +08:00
    这也就是考考最近才接触OC开发的同学们
    gerald6
        24
    gerald6  
       2014-11-08 12:01:11 +08:00
    1 Mac
    Macbook
    2 0010
    3 没有问题
    4 找不到方法
    pekingcat
        25
    pekingcat  
    OP
       2014-11-08 14:54:30 +08:00
    @gerald6 前三题基本对了,第三题没有描述。不过还是求简历一份,谢谢
    pekingcat
        26
    pekingcat  
    OP
       2014-11-08 14:55:01 +08:00
    @galenzhao 3个月就到这个水平的话,我国的app开发得到多好的水准!
    black
        27
    black  
       2014-11-09 01:44:39 +08:00
    这不是sunnyxx的iOS 6级考试题目吗...
    black
        28
    black  
       2014-11-09 01:54:12 +08:00
    好吧,只有第一题类似,赞,很有趣的题目
    pekingcat
        29
    pekingcat  
    OP
       2014-11-09 10:23:09 +08:00
    @black 谢谢
    aswudong
        30
    aswudong  
       2014-11-09 22:29:05 +08:00
    这有意义么?
    CMGS
        31
    CMGS  
       2014-11-10 16:18:47 +08:00
    豆瓣?谁。。
    xx314327475
        32
    xx314327475  
       2014-11-10 16:39:41 +08:00
    卤煮忽悠简历的妙招很奏效么
    gerald6
        33
    gerald6  
       2014-11-10 17:30:15 +08:00
    @pekingcat 第四题求解答,NSObject meta class指向自己
    lijingyu68
        34
    lijingyu68  
       2014-11-10 18:59:25 +08:00
    最近在学习iOS,感觉纠结这种语言细节实在没多大必要。oc中有很多重要的、影响产品性能的细节不考,考这几个无足轻重的问题。简单说一下oc里面我认为最重要的就一个--语意,然后就是一些ARC,GCD什么的,剩余的都是和其他语言里面大同小异的部分。
    suski
        35
    suski  
       2014-11-12 00:38:52 +08:00
    题目确实牛逼啊,虽然实际运用确实不大,但是能做出来绝对真大神!!!
    20k绝对值,话说要是找到大神了,可不可收了我这个实习生,我要跟着大神进步╭(╯^╰)╮
    pekingcat
        36
    pekingcat  
    OP
       2014-11-12 08:41:31 +08:00
    @suski 大神已在阵中。请提供一下你的简历,谢谢
    wshcdr
        37
    wshcdr  
       2014-11-12 14:29:02 +08:00
    没觉得这种题目有多好,窃以为这不是在招工程师,是在找考试型的人,谁工作里会这么去写?
    ashamp
        38
    ashamp  
       2014-11-12 15:00:45 +08:00
    会做一半。。。求问自己实现了一个漫画应用(iOS),服务器端(asp)和内容生产工具(c#)。这样的水平能拿多少薪资?
    pekingcat
        39
    pekingcat  
    OP
       2014-11-12 15:49:56 +08:00
    @wshcdr 请看21楼,其实招聘过程和考试有一点是一样的,就是要有方法把人分出层次
    pekingcat
        40
    pekingcat  
    OP
       2014-11-12 15:50:14 +08:00
    @ashamp 这样讲很难说,请发个简历吧,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2720 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:34 · PVG 08:34 · LAX 16:34 · JFK 19:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.