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 · 14345 次点击
    这是一个创建于 2829 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司最近在找有经验的 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
    看来大家的槽点都在这个『操作系统架构』上~
    pandachow
        15
    pandachow  
       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  
       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 。我都在想之前那哥们怎么把他照进来 我们小公司啊
    langjun
        40
    langjun  
       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  
       2016-07-01 10:25:09 +08:00
    @prczsf 十年 15K 是不是有点少啊,这是 6 年前的薪资水平吗。
    sillyBoy
        46
    sillyBoy  
       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   ·   我们的愿景   ·   实用小工具   ·   5435 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 06:03 · PVG 14:03 · LAX 23:03 · JFK 02:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.