iOS 面试中,问哪些问题可以判断出开发人员的水平? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
prczsf
V2EX    iDev

iOS 面试中,问哪些问题可以判断出开发人员的水平?

  •  
  •   prczsf 2016-06-30 10:41:50 +08:00 15409 次点击
    这是一个创建于 3466 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司最近在找有经验的 iOS 开发。
    软件研发负责人今天临时请假了,老板又暂时在开会,没有时间。于是临时安排我去和他聊聊。
    实在不知道问什么问题。
    本人略学过 C ,懂硬件开发和通信原理等,学过数据结构。

    看了下作品,问了下其作品的架构设计 感觉没有做过 APP 的架构设计。
    iOS 的多线程是怎么处理的 感觉他没有深入了解。
    问了个冒泡排序的基本原理 似乎回答对了。
    问了个 iOS 的操作系统的基本架构 没有研究。

    感觉没有办法进行下去了。。。
    不知道这些问题,是不是能判断出开发人员的水平?

    或者说
    iOS 面试中,问哪些问题可以判断出开发人员的水平?


    顺便做个广告:公司在上海杨浦,做工业领域的相关应用,招聘 3 年以上经验的 iOS 开发一名。 10K-15K 。
    57 条回复    2019-01-22 19:57:53 +08:00
    paradoxs
        1
    paradoxs  
       2016-06-30 10:45:58 +08:00 via iPhone
    这 3 个问题都答不对,水平还不如培训出来的。
    ma125125t
        2
    ma125125t  
       2016-06-30 10:47:56 +08:00
    又是个外行指导内行的面试员。呵呵。
    prczsf
        3
    prczsf  
    OP
       2016-06-30 10:50:49 +08:00
    @ma125125t 公司软件负责人和老板懂。但是人来了,总不能让他一直等着吧。。
    kera0a
        4
    kera0a      2016-06-30 10:58:04 +08:00
    iOS 的操作系统的基本架构

    这个怎么回答?
    prczsf
        5
    prczsf  
    OP
       2016-06-30 11:03:51 +08:00
    @kera0a iOS 的系统架构分为几个层次?都有什么组件?
    tftk
        6
    tftk  
       2016-06-30 11:07:28 +08:00
    一个原则,基础一定要过关,不然以后遇到比较难的问题就自己担着吧。
    valkjsaaa
        7
    valkjsaaa  
       2016-06-30 11:11:48 +08:00
    @paradoxs 要不然请您给答一个?
    ma125125t
        8
    ma125125t  
       2016-06-30 11:12:05 +08:00   1
    @prczsf 我的看法是,面试官应该提出自己知道答案的问题,至少稍微知道些吧。我个人就遇到过几次让我哭笑不得的面试官。提出一个你自己不了解的问题,意味着你的这个问题可能对内行来说是可笑的,也有一定几率被面试者糊弄。 iOS Coder 良莠不齐,一个能干活的和一个精通 ObjC 和 iOS 的差距非常大,你们公司需要一个能干活的而不是专家,多线程( GCD )原理、操作系统的架构其实并不影响他帮你干活,甚至冒泡法懂不懂又有什么所谓呢,有 N 种现成的 sort 方式。 iOS 最基本的,一个就是写页面,画页面(熟练的拖拉控件,写交互),另一个就是网络编程( HTTP , SOCKET ),会这两点,就能满足你一般的需求。 BTW ,以上一切都是基于你给出的薪资来谈的。毕竟你不是请个 P8/专家,对吧。
    prczsf
        9
    prczsf  
    OP
       2016-06-30 11:18:26 +08:00
    谢谢。公司已经有 iOS 开发了,想找个资深一点的,能独立领导 app 开发,架构设计、模块划分、接口定义等。
    数据库等后端 /UI 公司有人。

    BTW :
    顶楼忘记留联系方式了: [email protected]
    karnaugh
        10
    karnaugh  
       2016-06-30 11:18:38 +08:00
    接楼上。所以你可以就你们 app 中几个交互体验比较好的地方,或者当初需求讨论过的逻辑有点意思的地方去问问他,看他面对这个功能需求是如何实现的这样子?
    ooppstef
        11
    ooppstef  
       2016-06-30 11:33:34 +08:00   1
    -- 问了个 iOS 的操作系统的基本架构

    这个问题说实话,我不知道你到底想问什么.

    -- 有几个架构,分为什么层次.

    也不知道你想问什么.

    说实话,这个问题很烂,也很业余.最好的不如你提出其中的"一层",然后来深入讨论下?
    Leafove
        12
    Leafove  
       2016-06-30 11:38:10 +08:00
    既然楼主想要的是至少能领导 iOS 开发的人员,那么就应该从架构设计这方面来讲.或者给出实际场景让面试者给出解决方案.
    或者这一面先了解面试者基本情况,如果都符合公司要求的话安排二面.

    说的直接点,如果面试都是问这些问题确实很容易像一楼那样,一些很有经验的面试者会被误判成连培训生都不如,毕竟多年的工作过程并不是每天在上课背概念.
    luban
        13
    luban  
       2016-06-30 11:38:28 +08:00
    让软件研发负责人电话面试一下不行吗,招人毕竟是比较严谨的事
    pljhonglu
        14
    pljhonglu  
       2016-06-30 11:39:03 +08:00
    看来大家的槽点都在这个『操作系统架构』上~
    xxm459259
        15
    xxm459259  
       2016-06-30 11:44:49 +08:00
    我建议你还是跟他聊点儿别的,然后跟他说面试官确实有事儿,让 HR 重约。
    jason19659
        16
    jason19659  
       2016-06-30 11:45:21 +08:00
    讲一讲你以前做的项目 架构 思路 困难 人员安排 时长 结果 你负责什么 怎么做的
    hekunhotmail
        17
    hekunhotmail  
       2016-06-30 11:58:32 +08:00   2
    一个水平好的 iOS 开发不仅要业务开发能力强,对 iOS 平台的理解也要深,对 OC 语言要有较深的理解;
    你可以问内存管理, runtime , runloop ,设计模式等,这些问题一问就知道啥水平了。还有程序员的思维,表述逻辑,最后一点问一些 debug 技巧(这个可以问很多,水平好的程序员会一些高级 debug 技巧, debug 思维也很重要),基本上就这么多了
    yang2507366
        18
    yang2507366  
       2016-06-30 11:59:38 +08:00
    这个价钱招不到这样的哦
    prczsf
        19
    prczsf  
    OP
       2016-06-30 12:26:04 +08:00
    @pandachow 聊了几个问题,个人感觉基础有点弱。后来老板有时间了,交给老板了。

    @ooppstef
    就像面试通信网络,问一下 OSI 的七层模型或多或少总该知道一点,每层实现什么功能。
    我个人感觉问操作系统的基本架构,觉得很基础的问题吧。本来我想他回答一个他熟悉的层,然后展开下去。。。。

    这个问题很难吗?
    shippo7
        20
    shippo7  
       2016-06-30 12:26:26 +08:00 via iPhone
    3 年以上 iOS 开发经验的人不会来 10-15k 的岗位,这个工资招水平好的应届生差不多。

    iOS 的操作系统的基本架构那题没意思,太教科书化,能顺利答出来的往往是新人,因为他们刚背完。老人太长时间没看这些反而忘了。

    参照 17 楼的,问问内存管理,怎么找内存泄漏, MVC, MVVC, VIPER 的对比,如何设计好的 model ,开发时遇到过哪些坑。这些能看出真功夫

    当然最好还是等软件开发负责人回来,如果你水平还没面试的好,根本不明白对方在说啥
    louk78
        21
    louk78  
       2016-06-30 12:34:45 +08:00
    设计模式,常用算法,库,还有之前项目中所用到的技术
    siroccoicode
        22
    siroccoicode  
       2016-06-30 13:28:45 +08:00
    既然是招聘搭建 iOS 应用的架构的人,那么理应就围绕应用架构的搭建、大型工程的管理、代码设计模式、团队合作这几个方面来展开。如若想考察基础一点,那就是对 Objective-C Runtime 、你们所在领域的专业技术点展开来问了。至于前面你问的几个问题,我觉得一个具备架构师水平的人应该可以解释的清楚,如果我没错的话, apple 官方的 iOS 文档里面就有专门解释这几个问题的,以前我还看过。

    另外说实话,这薪水水平很难招到优秀的架构师,招一个高级开发都可能费劲。
    hohoho
        23
    hohoho  
       2016-06-30 13:33:31 +08:00 via iPhone
    找个懂的去面试。
    lawlietxxl
        24
    lawlietxxl  
       2016-06-30 13:38:49 +08:00
    3 年以上是这个价钱吗 /
    loveuqian
        25
    loveuqian  
       2016-06-30 14:13:19 +08:00
    这些问题一个不会一样可以撸一个常规 app 出来啊
    damean
        26
    damean  
       2016-06-30 14:52:04 +08:00
    提供有偿的 iOS 电话面试服务 - -
    blacklee
        27
    blacklee  
       2016-06-30 15:19:22 +08:00
    借宝地问一下有经验的各位像我这样的能被接受么

    能干活是肯定的,带队估计也没大问题,编程经验(从业 9 年)也算丰富,但是这楼里面提到的挺多东西我都不大懂,比如说 GCD , CA ,内存管理, runtime , runloop ,没有去深入了解过。
    但是有线上作品,排名还算稳定靠前,稳定盈利。
    本人独立完成的此作品的前后端,好吧后端有部分工作是我朋友在我的指导下做的。
    代码里有用到 CA ,有用到 NSOperator ,有用到 runtime 的一点东西,但真不敢说自己对这些东西有多了解。

    恩,我这样的人能通过什么级别的面试呢?
    ma125125t
        28
    ma125125t  
       2016-06-30 17:01:16 +08:00
    @blacklee 初级 iOS 开发人员,高级项目经理
    holy_sin
        29
    holy_sin  
       2016-06-30 18:47:06 +08:00
    frame 和 bounds 的区别足够了
    beimenjun
        30
    beimenjun  
    PRO
       2016-06-30 20:10:04 +08:00
    23333333 ,楼上的 frame 和 bounds 一定是在开玩笑。

    我觉得楼主问错了, iOS 多线程的技术也有好几类啊,你这么问对方肯定第一时间蒙蔽了, GCD 可能还能说说,其他的和 GCD 的处理异同处究竟是什么,问这种还不如问问他做项目遇到什么难点之类的。

    不过毕竟跨领域,问得不对也很正常。但是“冒泡排序”这个问三年经验的程序员,实在有点尴尬,他回答得出来你尴尬,他回答不出来他尴尬,最有问题的我觉得是冒泡排序这个一定会有人觉得尴尬的问题。稍微包装成算法题也好啊。

    另外,招人是严肃的事情,这种顶班火线上场的面试我觉得不好,对求职者不公,对顶班的人也是煎熬。
    holy_sin
        31
    holy_sin  
       2016-06-30 20:14:16 +08:00
    我面试的时候,这道题过滤掉 100%,虽然我面的人很少
    cocoaChina
        32
    cocoaChina  
       2016-06-30 21:25:25 +08:00 via Android
    @holy_sin 估计你面试的都是培训班出身的,而且上课时候没怎么听课的那种
    holy_sin
        33
    holy_sin  
       2016-06-30 22:41:11 +08:00
    有可能组长把基础差的同学都给我面了,哈哈
    god
        34
    god  
       2016-06-30 23:30:07 +08:00 via iPhone
    讲讲操作系统,讲讲网络体系结构,讲讲数据库系统;

    懂硬件开发和通信原理等,学过数据结构;讲讲针对 iOS 的硬件层的编码优化,通信基本框架的应用实践,图形音频视频基本数据结构的实际应用;

    哦,这些都是基础吧
    everettjf
        35
    everettjf  
       2016-06-30 23:35:34 +08:00
    NSSet 与 NSArray 可以过滤培训出身的童鞋
    yjxjn
        36
    yjxjn  
       2016-07-01 00:23:05 +08:00
    @ma125125t 实话,确实有时候我组大神数据结构基本不怎么会的人,但是人家去新项目组就是一上手就能干活。。。就知道怎么调试 bug ,怎么解决棘手问题,做 code review 啥的,代码写的也很健壮,就是用数据结构这方面不太多,领导你能说啥。。。。。
    yjxjn
        37
    yjxjn  
       2016-07-01 00:25:52 +08:00
    @cocoaChina iOS 还有大学开设的?我认识的 iOS 开发人员主要两类,一类自学成才或者就是跟着项目去干的边学边干,还有一种就是 iOS 教育机构培训班出身的。
    ericls
        38
    ericls  
       2016-07-01 00:26:45 +08:00
    请问跟冒泡排序有毛线关系呢
    Light3
        39
    Light3  
       2016-07-01 00:30:32 +08:00
    想起我司来了一个月的 ios 前天问我 URL 两个相同的参数 我为什么不取第一个呢?我司招聘工资标得 12k 。我都在想之前那哥们怎么把他照进来 我们小公司啊
    J735KILnHi7q49cv
        40
    J735KILnHi7q49cv  
       2016-07-01 00:32:00 +08:00
    就问一句,“之前踩过哪些坑?”
    cocoaChina
        41
    cocoaChina  
       2016-07-01 09:18:15 +08:00 via Android
    @yjxjn 培训班不是也要上课吗?而且像这些算法东西只有结合实际问题才有意义!你不如问问开发过程中实际问题如何解决,
    prczsf
        42
    prczsf  
    OP
       2016-07-01 09:22:24 +08:00
    @ericls
    问冒泡排序其实只是想了解一下面试者基础。
    面试者是计算机专业的,冒泡排序 /递归排序……等一些排序算法,总该有学过吧。

    iOS 开发人员果然贵,薪资期望值也高。想我之前在通信行业, 10 年以上 C/C++/Java ,很多的也才 10K-15K.
    kideny
        43
    kideny  
       2016-07-01 09:27:19 +08:00
    第一:你有女朋友嘛?
    第二:你最晚能加班到几点?
    第三:你喜欢玩什么游戏?
    bbbb
        44
    bbbb  
       2016-07-01 09:59:26 +08:00
    我觉得你就问他开发中的事就行了,你上面问的,能背能查。项目中的好多坑,好多事,做没做过项目还是有区别的。
    mazyi
        45
    mazyi  
    PRO
       2016-07-01 10:25:09 +08:00
    @prczsf 十年 15K 是不是有点少啊,这是 6 年前的薪资水平吗。
    unununn
        46
    unununn  
       2016-07-01 10:29:01 +08:00
    @prczsf 你要这么说就没意思了,薪资范畴很大程度由市场决定,不同行业无法比较。
    prczsf
        47
    prczsf  
    OP
       2016-07-01 11:02:30 +08:00
    @sillyBoy 没有埋怨的意思,仅仅是感慨。行业不一样。传统行业工作 20 年,不到 10K 的多了去了。

    @mazyi 通信行业 500 强 10 年以上的工程师不到 20K 海了去了。 15K 算是不错的了,而且教育背景、知识深度什么都不错。

    其实不管哪个行业,经验是最重要的,工作时间反而是次要的。越是高速发展的行业越是如此。
    通信行业没有移动互联网累、项目多,因此十年了工资还在 10-15K 也很正常。
    真的在移动互联网中各种项目泡出来的,三四年的经验是非常强的,肯定可以去要求更高的薪资。
    真有这么强的能力的人,我们公司也不是开不起,但是这种人,要么是已经在创业团队了,要么去了 BAT 及其相关了。

    关于薪资水平:
    三年三个项目和 l 两年十个项目,开出来的价格肯定也是不一样的。
    机械的码农,和全栈、和架构师,开出来的价格肯定也是不一样的。
    jinhan13789991
        48
    jinhan13789991  
       2016-07-01 11:18:58 +08:00
    在哪家培训的?#滑稽
    bk201
        49
    bk201  
       2016-07-01 11:23:30 +08:00
    既然是工作过的,直接问项目不就好了,扯这些是要招实习生吗
    dreamtrail
        50
    dreamtrail  
       2016-07-01 12:23:03 +08:00
    看什么书,平时喜欢上哪些网站,碰到问题是怎么解决的。
    yjxjn
        51
    yjxjn  
       2016-07-01 12:44:36 +08:00
    @mazyi 差不多,我同事 10 年 Java 开发经验,做了 6 年维护 4 年开发吧,也不是很累的那种, 18 个月薪水, 1W5
    crashX
        52
    crashX  
       2016-07-01 16:16:59 +08:00
    @beimenjun frame 和 bounds 开发了 5 年的也不一定理解,不适合问。
    subdued
        53
    subdued  
       2016-07-01 16:27:35 +08:00
    →_→ 看来这个行业对培训班出来的不太友好呢 我还打算去呢
    ericls
        54
    ericls  
       2016-07-02 05:23:36 +08:00 via iPhone
    @prczsf 面试者是上过高中的 你怎么不考余弦定理的证明 面试者是上过大学的 你怎么不考欧恒等式 牛顿莱布尼茨公式 这些基础知识
    white3zzz
        55
    white3zzz  
       2016-07-20 09:52:06 +08:00
    20 楼说的有道理,iOS 里面说实话没什么好问的
    找内存泄漏,做单元测试,迅速定位 bug 原因,设计模式,线程管理这些东西一般新手是不容易掌握的,需要一定项目经验
    miki6180
        56
    miki6180  
       2017-03-01 10:27:42 +08:00
    我面试的时候,最喜欢面算法和重构。
    lebus
        57
    lebus  
       2019-01-22 19:57:53 +08:00
    感觉问题是从网上 dang 的吧,有点像某后端语言的问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5298 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 06:52 PVG 14:52 LAX 22:52 JFK 01:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86