如果我去面试 iOS 和 android,别人考我算法题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
zongren
V2EX    程序员

如果我去面试 iOS 和 android,别人考我算法题

  •  3
     
  •   zongren 2016-09-24 10:36:40 +08:00 10583 次点击
    这是一个创建于 3318 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如排序什么的,我该怎么说才能说服他,平时用不到排序

    第 1 条附言    2016-09-24 11:20:16 +08:00
    标题改为"如果我被面试 iOS 和 android ,别人考我算法题"
    第 2 条附言    2016-09-24 13:52:53 +08:00
    我目前在一家公司做 iOS 和 Android ,时不时会面世一些程序员,一般也就问一些基础的问题,从来没考过他们的算法什么的。
    77 条回复    2016-10-06 19:41:31 +08:00
    holyghost
        1
    holyghost  
       2016-09-24 10:40:21 +08:00   2
    考你算法可能不是为了问解决方案,只是为了看你解决问题的思路。
    eightqueen
        2
    eightqueen  
       2016-09-24 10:48:56 +08:00
    到底是谁面谁啊?不会就不会,但是可以告诉对方自己擅长什么,引导对方问自己的强项。
    DingSoung
        3
    DingSoung  
       2016-09-24 11:03:51 +08:00   3
    这种不服的我碰到过,各种小问题不屑于回答,后来让他把最擅长的拿出来靠靠,也就那样。
    zhicheng
        4
    zhicheng  
       2016-09-24 11:08:09 +08:00 via Android   3
    等会儿问你有什么问题的时候考他一个。
    scnace
        5
    scnace  
       2016-09-24 11:09:32 +08:00 via Android
    不是很正常?
    h4x3rotab
        6
    h4x3rotab  
       2016-09-24 11:13:25 +08:00 via iPhone   1
    招程序员不可能只考察已经掌握的技术,真正需要的是来什么需求程序员就能冲上去学会技术再解决问题,算法反映了程序员的潜力,所以问算法非常正常
    YvesX
        7
    YvesX  
       2016-09-24 11:30:46 +08:00 via iPhone
    “例如排序什么的”还是可以会一下的。
    lsmgeb89
        8
    lsmgeb89  
       2016-09-24 11:31:28 +08:00 via Android
    这个很正常吧
    Yc1992
        9
    Yc1992  
       2016-09-24 11:41:25 +08:00 via Android
    有发帖的功夫可以背下来三种最常考的排序,排序常见的一共也就七八种
    jianzong
        10
    jianzong  
       2016-09-24 11:43:58 +08:00
    高考的时候试试说服教育部怎样不考数学才让你上大学吧
    tvallday
        11
    tvallday  
       2016-09-24 11:46:03 +08:00 via Android
    面试还是准备一下吧。他们也没啥好问的,都是套路。除非你做的东西跟他们要解决的问题几乎一样,不然问的肯定都是大路货。
    jianzong
        12
    jianzong  
       2016-09-24 11:46:15 +08:00
    说白了面试就是一个筛选的过程的,并不是说面试的东西,就是工作上要用的东西。

    对于好公司来说,排着队有人想进去做这个工作,为什么不选那个既会 iOS ,又愿意 / 能够 学会排序的呢?

    何况常用的排序又不难。
    yhxx
        13
    yhxx  
       2016-09-24 12:29:38 +08:00
    难点的算法也就算了,排个序你花个 5 分钟背都背下来了。。。
    还有你真的不是 youdaji 的小号?
    Mistwave
        14
    Mistwave  
       2016-09-24 12:31:53 +08:00 via iPhone   3
    钩太直
    reus
        15
    reus  
       2016-09-24 12:32:51 +08:00
    排序你都不会写,技术能力肯定有限,要你干嘛?
    你是在展示自己有多无能吗?
    wizardforcel
        16
    wizardforcel  
       2016-09-24 12:34:54 +08:00   1
    大公司的面试都是筛选,并不是反映你的真实水平。互联网时代稀缺的不是能力,而是位置。
    ihuotui
        17
    ihuotui  
       2016-09-24 12:41:28 +08:00 via Android
    那么问你设计模式吧,你回答一下
    wizardoz
        18
    wizardoz  
       2016-09-24 12:44:06 +08:00
    有些东西就像骑单车一样,一次学会了,一辈子也记得。
    moonweilan
        19
    moonweilan  
       2016-09-24 12:50:19 +08:00 via iPhone
    我们要的是工程师,不是码农
    waruqi
        20
    waruqi  
       2016-09-24 12:57:32 +08:00
    我昨天就面了个工作了 4 年的 ios 的,各种奇葩回答。。

    1. 问他你平常使用和熟悉哪些数据结构 ,随便说一个。。

    他居然回我:数据结构?是 MVVC 什么的吗?

    2. 继续问他,就是数组,链表这些,单链和双链有什么区别

    他回我:连?表? 哪个连? 我说 是 链表,金字旁的链。 = =

    3. 问:你简历上说熟悉 xml 和 json ,那简单讲讲 xml 和 json 的区别吧,有什么优缺点

    答:。。。。一分钟过去了。。没答上来。

    4. 问:你数据库用过么, sqlite 用过没?

    答:没有, sqlite 是什么?

    。。。

    问了 20 几个问题,居然没一个答上来的。。= =
    GentleSadness
        21
    GentleSadness  
       2016-09-24 12:58:31 +08:00
    问个问题,你面试 Android 或 IOS ,如果是刚出来的,能问什么,也没什么好问,那就问别的东西咯

    如果是资深工程师,那就真看你多资深了
    wadahana
        22
    wadahana  
       2016-09-24 12:59:18 +08:00
    做为一个程序员,如果简单的排序算法原理、复杂度都讲不出来,是完全不合格的
    sun1993
        23
    sun1993  
       2016-09-24 13:05:54 +08:00 via Android
    @waruqi 你确定你不是在讲段子?
    marvinwilliam
        24
    marvinwilliam  
       2016-09-24 13:09:40 +08:00
    基础很重要,前期可能都差不多,看不出有什么区别,但是到后面,这些基础的东西会影响到你处理某些问题时候的思路.
    mind3x
        25
    mind3x  
       2016-09-24 13:09:45 +08:00 via Android
    @waruqi 恐怕是假简历
    ihuotui
        26
    ihuotui  
       2016-09-24 13:12:42 +08:00 via Android
    社会上有这种人,毕竟不是互联网出身
    oa414
        27
    oa414  
       2016-09-24 13:26:38 +08:00   1
    我觉得面算法题好在,方便地刷掉大部分基础薄弱的人;考察也很方便,都是有答案、有不同解法的小问题。

    如果证明自己应用层很厉害的话,即使不会写反转二叉树,进不了 Google 也可以去 Apple...

    问题是大部分人工程能力没有那么厉害,其他人好好学一段时间很容易就能达到。而排序这些基础的算法更多的是作为一个常识,应用开发确实能用到啊。
    tmackan
        28
    tmackan  
       2016-09-24 13:34:55 +08:00
    @waruqi 你连 sqlite 都不知道,你是来搞笑的吗?还开发 ios = =
    zhuangzhuang1988
        29
    zhuangzhuang1988  
       2016-09-24 13:40:58 +08:00
    正常, 应该是删选培训机构的吧。。
    kkzxak47
        30
    kkzxak47  
       2016-09-24 13:51:58 +08:00 via Android   1
    你可以把这个面试题看成在考察你的工作态度,类似于面对无理傻逼需求时你的反应是不是专业,沟通能力如何,而算法本身只是一个介质,让你有主题可以说而已。
    otakustay
        31
    otakustay  
       2016-09-24 14:39:17 +08:00   3
    不要真以为排序没用,基础的积累是在真正遇到问题的时候暴发出优势的,看这个案例: http://efe.baidu.com/blog/talk-about-sort-in-front-end/

    这个事情当时在我们的系统中出现,一个排序用 JS 自带的速度快但不稳定,用自己写的要好几秒才排得完,他们搞了 1 个多小时没搞定准备去和 PM 谈砍需求,正好路过看到就给了他们个简单的解决方案
    其实这事还没怎么涉及算法,最后都没自己写实现,无非了解排序有稳定和不稳定,不稳定的时候怎么搞能搞成稳定的,但是连这些都不知道最后也只能在那边傻着
    nicevar
        32
    nicevar  
       2016-09-24 15:01:49 +08:00
    招聘也要按照基本法来的,一些基础的算法是要会的,否则日后会发现这些对算法不熟悉的人会写出非常令人吃惊的代码
    raysonx
        33
    raysonx  
       2016-09-24 15:09:32 +08:00
    算法是基础。我面试人的时候也会问一些简单的算法问题。
    wizardforcel
        34
    wizardforcel  
       2016-09-24 15:51:57 +08:00 via Android
    @otakustay 不稳定的算法可以通过增加一个属性并重写比较函数来改成稳定的。
    psklf
        35
    psklf  
       2016-09-24 16:00:24 +08:00
    @waruqi

    >金字旁的链

    这里基本上面试可以结束了
    hronr
        36
    hronro  
       2016-09-24 16:06:14 +08:00
    你见过面试 UI ,考算法的吗
    waruqi
        37
    waruqi  
       2016-09-24 16:19:01 +08:00 via iPhone
    @sun1993 真不是段子 昨天的事 还问了些其他的基础知识 都没答上来 还跟我说自己理论不行 实际开发 ok
    RedeemDx
        38
    RedeemDx  
       2016-09-24 16:43:19 +08:00
    @waruqi 这也假的太明显了啊....也亏你听得下去
    不如你来面面我~~
    zongren
        39
    zongren  
    OP
       2016-09-24 17:02:46 +08:00
    @hronro 这个就真的没必要了
    t0byxdd
        40
    t0byxdd  
       2016-09-24 17:24:38 +08:00
    你说 ios android 用不到机器学习就算了 说排序都用不到我非常不服
    huntzhan
        41
    huntzhan  
       2016-09-24 17:27:39 +08:00   1
    尊重游戏规则,自己菜就不要找理由。
    twogoods
        42
    twogoods  
       2016-09-24 17:36:57 +08:00
    以前有跟楼主有一样的想法,面试被虐了,就回去乖乖看,哪怕我还是觉得有些高级的算法和数据结构我以后用不到~
    lawlietxxl
        43
    lawlietxxl  
       2016-09-24 18:02:00 +08:00
    不做一件事情 大概不会知道这件事情对你的影响
    TaoQAQ
        44
    TaoQAQ  
       2016-09-24 18:08:32 +08:00 via Android
    @waruqi 啊为什么都问这么简单的,我应届生校招问的问题都涉及到热更新了?!
    iyaozhen
        45
    iyaozhen  
       2016-09-24 18:50:56 +08:00 via Android
    之前以为买菜用不着数学。现在有时做一点数据统计的事情,唉,书到用时方恨少啊

    算法本身可能用不着(其实还是用得着),但其解决问题的思路是值得学习的。不然会写出很多不忍直视的代码
    SourceMan
        46
    SourceMan  
       2016-09-24 18:54:56 +08:00 via iPhone
    看评论放心系列
    zkd8907
        47
    zkd8907  
       2016-09-24 19:26:37 +08:00
    害怕。。
    Ouyangan
        48
    Ouyangan  
       2016-09-24 20:46:14 +08:00
    @sun1993 是真有这种...上次面试一个土木培训过来的,http 状态码 200 都不知道.....
    holmesabc
        49
    holmesabc  
       2016-09-24 21:19:12 +08:00 via Android
    你说你是他老板儿子。如果是真的话,说服面试官应该没问题
    zongren
        50
    zongren  
    OP
       2016-09-24 21:23:12 +08:00 via Android
    @holmesabc 手动滑稽
    shijingshijing
        51
    shijingshijing  
       2016-09-24 21:31:18 +08:00
    额。。。 连算法都不考了还考啥?
    一般上来都是算法 + 操作系统 + 编译原理三板斧啊。楼主还是自己抓紧时间多看看吧,这些东西等你写 web 或者 app 到一定程度之后肯定会涉及的,直接影响性能。
    tinyproxy
        52
    tinyproxy  
       2016-09-24 21:34:05 +08:00
    @sun1993 那个真不算段子,我给你来个我前公司同事的面试经历。他出了一份题目,也没多难,就全英文写的而已,可以用中文回答。然而。。。。几个 iOS 求职者看了题招呼都不打直接走了,我们 HR 懵逼了
    xxm459259
        53
    xxm459259  
       2016-09-24 22:08:22 +08:00
    这里有个误区,就是你觉得「问我的面试题应该是我工作中会用到的」。

    工作中用到的用来做面试题必然是可行的,但是面试题的根本目的其实是用来筛选,只要能起到面试官或者岗位需求的筛选作用,其实就可以了。
    zongren
        54
    zongren  
    OP
       2016-09-24 22:47:02 +08:00 via Android
    @tinyproxy 其实我也比较看中英文,不过好像小公司不是很在意
    littleshy
        55
    littleshy  
       2016-09-24 23:44:02 +08:00 via iPad   1
    作为一个程序员不学算法,就像那些喊着把数学踢出高考的人。
    XadillaX
        56
    XadillaX  
       2016-09-25 00:33:57 +08:00
    考你算法可能不是为了问解决方案,只是为了看你解决问题的思路。
    wohenyingyu01
        57
    wohenyingyu01  
       2016-09-25 05:20:14 +08:00 via iPhone
    @waruqi 如果不是有完整学习交流经历,很多东西用的很熟也不知道叫啥,比如链表这个词我用了一年才知道, sql 别人念成涩括我就听不懂, cache 一直念成 cancer ……
    exch4nge
        58
    exch4nge  
       2016-09-25 07:48:31 +08:00
    劝 LZ 仔细想想为啥楼里大部分人都觉得面试考算法是正常的。对于初级到中级程序员一般工作中确实很少涉及到这些,但如果你想在这条路上走的更远,你早晚会发现这些基础很必要。
    doubleflower
        59
    doubleflower  
       2016-09-25 09:55:50 +08:00
    @shijingshijing 涉及个啥啊,工作这么多年算法 + 操作系统 + 编译原理一次也没用到过,除非你本身做这方面。这种东西知道个原理就行了,细节无需再抠,即使万一到用到再查也不迟。
    tabris17
        60
    tabris17  
       2016-09-25 11:19:08 +08:00
    @waruqi 然而这种人薪水也能到 15k ,简直可怕
    gason406
        61
    gason406  
       2016-09-25 11:55:21 +08:00
    翻转二叉树会吗?手动滑稽
    20015jjw
        62
    20015jjw  
       2016-09-26 02:31:04 +08:00
    锅内程序员居然不考算法题???????????????????????????????
    zongren
        63
    zongren  
    OP
       2016-09-26 08:23:21 +08:00
    @20015jjw 楼上没有这么说的,一般都要考
    miki6180
        64
    miki6180  
       2016-09-26 10:30:51 +08:00
    至少说服不了我,不是因为用不到而不去学,而是为了专业而去学。
    noif
        65
    noif  
       2016-09-26 11:19:20 +08:00
    @waruqi
    链表??不好意思,面试结束,我不想应聘了。。。
    zongren
        66
    zongren  
    OP
       2016-09-26 14:46:40 +08:00
    @noif 有钱任性。。
    zongren
        67
    zongren  
    OP
       2016-09-26 14:47:06 +08:00
    @miki6180 你是正经的技术人员
    ma125125t
        68
    ma125125t  
       2016-09-27 09:37:51 +08:00
    面试 iOS 为什么要问链表,也是滑稽
    sangmong
        69
    sangmong  
       2016-09-27 09:44:54 +08:00
    @waruqi 那是你们 hr 筛选了一批培训班刚毕业的来面试,666
    yongSir
        70
    yongSir  
       2016-09-27 11:12:45 +08:00
    我靠
    什么时候程序员考个算法
    都大不违了

    要知道
    就算是公务员考试
    还有逻辑推理题呢
    sampeng
        71
    sampeng  
       2016-09-27 11:41:53 +08:00
    算法我觉得可有可无,看面试官的想法。有和没有都是对的。

    但数据结构要是不懂就有点说不过去了。。懂数据结构和不懂数据结构代码写出来两个样

    @noif
    我去年面试过一个伙计,就是我问了几个链表和队列的问题。。还准备问点其他的,这伙计直接说,对不起,我答不上来,我走了。不面了。。。关键是一脸的嫌弃样。我真是瞬间感到生无可恋啊。。。
    sampeng
        72
    sampeng  
       2016-09-27 11:42:57 +08:00
    排序还是有点用的,尤其在比较复杂的数据结构嵌套时。自己写排序,比各种装箱拆箱后得到结果要快很多很多。
    noif
        73
    noif  
       2016-09-29 13:51:38 +08:00
    @sampeng
    哈哈,看来你是做后端比较多啊,如果我是面试官,我会考一些 CoreAnimation 、 uiview 动画之类的;哈哈,毕竟 cocoa 框架太牛逼,只有你没想到的,没有他没做好的。所以术业有专攻,直接走人就可以理解了。
    noif
        74
    noif  
       2016-09-29 13:53:43 +08:00
    @shijingshijing
    能考的东西多了去了。。。。
    zongren
        75
    zongren  
    OP
       2016-09-29 14:39:26 +08:00 via Android
    @noif CoreAmination 和 CoreData ,我都不怎么熟练,平时不怎么用
    noif
        76
    noif  
       2016-09-30 09:43:52 +08:00
    @zongren
    CoreAnimation 的话,需要深度定制动画的时候,可操作度更高;至于 CoreData ,有点类似于 java 里地 hibratis (好像是这么拼的么),不用也罢,有更好的操作数据库的,大名鼎鼎的 FMDB ,哈哈,这个足够了。。。
    acumen
        77
    acumen  
       2016-10-06 19:41:31 +08:00 via iPhone
    移动端笔试题目出现 ml 也出现过
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2679 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 08:40 PVG 16:40 LAX 01:40 JFK 04:40
    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