美文网首页面试题iOS面试库iOS面试题
iOS Beijing面试的基本逻辑(1)

iOS Beijing面试的基本逻辑(1)

作者: 笨驴爱吃胡萝卜 | 来源:发表于2016-05-06 02:32 被阅读2356次

    最近和同事一起在北京寻找iOS工作,在这静静的北京夜晚很想总结总结

    前提

    最近因为公司的种种,最终决定从新找工作,新的工作新的起点。本来对于新的机遇充满憧憬,可是和一起离职的同事一个个的面试给我的印象,让我很快决定停止面试,停下来总结。

    iOS北京市场

    今年以来,北京的移动互联乃至全国的经济处于寒冬的情况下,凤毛菱角的融资成功和公司的倒闭形成的很鲜明的对比。还有很多的徘徊新的项目突破点。今年的北京互联网市场明显没有去年来的猛烈和拼杀的凶猛,更多的是理智和温和。资本取向保守。
    在这种情况下,培训机构没有停止培训。
    大公司开始缩小招聘,因为没有更紧迫的项目需要开发。

    形成

    在这样的环境和背景下,北京的ios市场出现最近我和同事目前面试的林林总总,我个人感觉奇怪的现象。
    打算以几个篇幅来论述,仅仅代表自己的意见,欢迎探讨。

    原来你在这里

    这里说的是猎头,猎头手里还是有很多的职位的,开始的时候猎头的电话没有停止,长时间的开发经验,大公司的开发背景,对于这样的猎头猛烈推荐,我以为今年的新闻报道仅仅是个片面的报道,移动互联网还是很火的领域。
    电话约了几个体验式的面试,信心满满的自己,开始在没有任何准备的情况下走上了面试之路。。。。。

    和同事面试几个不同的公司发现这些公司大部分的问题都是一样的,相识度几乎是90% 一点没有夸张的成分。
    

    试探

      “简单的介绍一下自己”
      “说说你做的项目里,技术上比较体现能力的地方”
      “你在项目中担任的角色”
    

    这些开场白,一般和技术没有太大的关系,其实除了介绍自己,剩下的基本是为了验证你的身份真实性。开始我很奇怪,为啥问这些,后来知道,因为培训的太多,简历造假的比较多,为了更好的验证假的简历,只能这么多问问有的没得了。也不是一个好办法啊。

    开始了

    和一起离开的同事对了一下,面试基本题是一样的,一样的,一样的,是的,重要的事情说了3边

    技术之殇

    面试高级开发,面试的面试官如果本身技术的沉淀没有足够面试一个高级开发,baidu的题是最直接的方式,一般面试的人不会反问对方同样的问题或者别原来还要底层的问题,网上的技术博客成了救命稻草,这样问题的深度连带着答案都可以get到。

    UI篇

      "UIView和CALayer 的区别和联系"
       答案:http://www.cocoachina.com/ios/20150828/13244.html
       说说UIView 的响应链
       答案 :http://blog.csdn.net/chenruizhi/article/details/25319465
       imageview 的圆角设置
       答案:一种是在layer 设置圆角弧度。
       一种是UIBezierPath 曲线的方式。都是layer 上的解决方案
       tableView的显示效率问题
       这个基本不太问了,因为是个经典问题了。不过还是有问道的。
    

    总体上来说,对于高级的面试,UI是最简单的部分了,也是公司耦合度适中的感觉。
    标准答案 5
    耦合度 4
    难度 1

    程序篇

    这一部分基本没有人问的。可能他们也相信你有写下来整个app的能力,也相信难不倒你吧
    这里还有有2个高概率高耦合度问题

      AppDelegate 周期方法(就是开始到最后都走什么方法)
      答案:http://www.cocoachina.com/bbs/read.php?tid=209348
      UIViewController周期方法(就是开始到最后都走什么方法)
      答案: http://blog.csdn.net/huifeidexin_1/article/details/7566226
    

    已经没有问项目中代码的复杂度,代码的质量问题了,这也是我感觉是iOS技术在北京伤感的地方,仅仅靠几个博客的内容和代码的阅读在没有自己独有的感悟和思考的情况下来捏造问题本身也是对技术的不负责。
    标准答案 5
    耦合度 5
    难度 1

    第三方库篇

    这部分比较喜欢问的是自由发挥
    一般都会涉及几个常用的第三方

      AFNETWORKING(开源) https://github.com/AFNetworking/AFNetworking
      SDWEBIMAGE(开源)https://github.com/rs/SDWebImage
      FMDB(开源)https://github.com/ccgus/fmdb
    

    这3个是比较喜欢问的,也是你最容易想到的,因为现在的app中没有几个可以逃脱网络和图片的。

    如果猛的一问第三方库里面的具体方法,你可能会范蒙。如果让你说基本逻辑,和里面的具体实现,如果你不是最近研究或者代码摆在你面前,让你去想。基本是蒙蔽的状态。由于源码是公开的,所以研究方向和侧重点看个人爱好了。
    这个问题面试的人不可能有准确的答案因为第三方库用的时间往往比研究的时间多。拿别人的写代码当面试题,在理念上和思维上已经输了一步了。
    标准答案 3
    耦合度 5
    难度 3

    默写篇

    相比2年前,这个好了很多,没有让我们写贪婪算法,c语言的底层结构代码等等。还是有些其他,比如最简单的单利模式,工厂模式等

    +(instancetype) shareInstance{   
         static dispatch_once_t onceToken ;  
              dispatch_once(&onceToken, ^{    
                _instance = [[self alloc] init] ;    }) ;    
                   return _instance ;
    }
    

    工厂模式:http://blog.csdn.net/lishuangzhe7047/article/details/8491269

    这里问单利的写法是最多的,不知道为啥,完全get不到点在哪里

    下一篇内容:内存篇,runtime(源码),runLoop,GCD,分别论述。
    从根源分析为什么会大家问同样的问题,对于iOS开发中是不是没有对于高级更好的问题了?

    相关文章

      网友评论

      • 指尖猿:问这些问题其实没有意义 依据我的看法 我也是培训出身 要鉴别一下有没有开发经验 根本不需要这么高逼格的东西。问一些项目相关的即可
      • 千若逸:期待你的下一篇
      • 38ecbde68ec8:准备跳槽………
        笨驴爱吃胡萝卜:@Z先森的花小喵 哈哈
      • 青菜君:坐等更新下一期
      • Tangdixi:对于runtime那些 可以要求面试者说说自己用runtime做过什么 或者抛出个合适的使用场景给面试者回答 你知道什么是runtime和你知道什么时候用runtime 我觉得区别还是很大的
      • f132cdc403ad:发现瞬间觉得压力了。
      • hauibojek:前辈,快更😄
      • 奇异加勒比:作为一个刚学完课程的ios新手来说.值得参考
      • 牛晓伟:加油斌哥哥,去哪度假的
        笨驴爱吃胡萝卜:@牛晓伟 成都,共勉
      • f029a4783122:不错 :blush:
      • 透亮心情:现在iOS开发中,可能我处于比较低层次的.runtime这些还真没有用过!现在比较迷茫,不知道怎么提高.有些问题解决了,但是过一段时间又忘了!!!
      • Jerry在种草:昨天面试,面试官一来就问我runtime用的多吗,我心想我可以给你讲解整个消息派发和转发机制了,这应该行了吧。没想到跟我扯网络去了。
        笨驴爱吃胡萝卜:@Jerry在种草 嗯,目前大部分都这样问的。我会在下一篇论述runtime,runloop,arc,gcd。目前在度假,尽请期待。
      • 西风颂:现在这市场是怎么回事?技术也不差,有什么技巧能更容易get到offer呢?
        笨驴爱吃胡萝卜:@西风颂 需要是一定的。数量可能没有太多
        西风颂: @笨驴爱吃胡萝卜 那初中级开发不需要吗公司
        笨驴爱吃胡萝卜:@西风颂 嗯,现在因为不缺少高级开发,或者说企业里面的开发人员还没有太清楚高级开发的实际意义。
      • 速度与激情_007:期待你的下一篇
        笨驴爱吃胡萝卜:@速度与激情_007 好的
      • 西木柚子:楼主 北京的iOS市场目前情况如何? 我看网上说投简历都没有回应,一个职位几千人应聘,有这么恐怖吗
        西木柚子:@笨驴爱吃胡萝卜 那还好,其实不光iOS,其他语言初级的话,也是这样的境遇
        笨驴爱吃胡萝卜:@西木柚子 如果是初级,是这样的。培训机构不会顾忌市场,所以机会不会太多
      • 飞翔的道长:楼主觉得我这种别的语言开发现在想转到iOS的好找工作么,今年确实降温了很多,对于转iOS有点发虚
        笨驴爱吃胡萝卜:@飞翔的道长 嗯,建议其他语言
        飞翔的道长:@笨驴爱吃胡萝卜 是这个道理,然而我大.net市场薪资实在是低,外加领导也不准备提拔,不走不行了。
        笨驴爱吃胡萝卜:还是不要急于一时,学习什么时候都可以。工作就是市场问题了,特别是初级,更为明显,企业着急的时候,什么都是你对,企业不急或压根不需要人的时候,你再厉害也不会得到offer
      • 8bef82b761ae:现在都喜欢问一些平常开发用不到的东西。runloop和多线程尤为突出。
        笨驴爱吃胡萝卜:@梦儿飘 嗯,是的,下一篇我回论述为什么比较喜欢问这些
      • JackYao:其实还有很多可以考啊,譬如说,常用数据结构,一些普通而实用的算法,oc内部实现(runtime),以及runtime的高级用法,runloop的使用以及原理,UI篇的话,性能问题,以及缓存池的原理以及实现,这都是很多培训出来的弱点所在,而一些有开发经验的人也不一定答得完美。
        笨驴爱吃胡萝卜:@JackYao 下一篇我会终结下runtime,runloop,arc,gcd。面试问的。目前在度假。尽请期待。
      • ec396e2c6909:不错 都是干货 看的我培训党亚历山大
        笨驴爱吃胡萝卜:@弈iOS 哈哈,技术没有出身分别。在于自己。加油

      本文标题:iOS Beijing面试的基本逻辑(1)

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