V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jsonline
V2EX  ›  程序员

二线城市招聘的感想

  •  
  •   jsonline · 2014-08-14 15:18:26 +08:00 · 13938 次点击
    这是一个创建于 3787 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我说:我要招个有编程的基础的。
    你写一个插入排序,随便什么语言,可以么?
    举例
    输入 [2,5,3,1,9]
    输出 [1,2,3,5,9]

    对方顾左右而言他。(不止一个人是酱紫)

    呵,呵。
    第 1 条附言  ·  2014-08-14 16:28:05 +08:00
    如果对方说不知道插入排序是什么,我会告诉他插入排序是这样这样这样的,就像打扑克时起牌一样的blablabla,懂了么?
    他说懂了。
    我说用代码写出来吧。
    然后,呵,呵。
    第 2 条附言  ·  2014-08-14 16:29:24 +08:00
    这样的人怎么敢应聘程序员呢?!
    第 3 条附言  ·  2014-08-14 16:36:59 +08:00
    已经假设有一个现成的在数组中任意位置插入一个值的 insert(array,index,value) 方法。
    第 4 条附言  ·  2014-08-14 16:41:42 +08:00
    熟练一些的话当然也可以 in-place。 http://zh.wikipedia.org/zh/%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F
    第 5 条附言  ·  2014-08-15 12:55:36 +08:00
    那么各位觉得如果我想知道对方是否有编程基础的话应该问什么题目呢?
    我招人是为了带他快速学习成长为一个前端。
    128 条回复    2014-09-02 00:19:45 +08:00
    1  2  
    seki
        1
    seki  
       2014-08-14 15:20:51 +08:00
    该说我看到插入排序也想了很久么……

    不是我看不起算法,而是一般情况下不用,记不住

    呵,呵。
    zkd8907
        2
    zkd8907  
       2014-08-14 15:23:13 +08:00
    =。= 插入排序。。算是最简单的一种排序算法了。。
    ywencn
        3
    ywencn  
       2014-08-14 15:28:01 +08:00   ❤️ 1
    这样可以么
    :002 > [2,5,3,1,9].sort
    => [1, 2, 3, 5, 9]
    deving
        4
    deving  
       2014-08-14 15:45:25 +08:00
    我咋没遇到过这样的面试官呢?
    hustlzp
        5
    hustlzp  
       2014-08-14 15:50:37 +08:00
    @ywencn 赞。
    ifconfig
        6
    ifconfig  
       2014-08-14 15:53:56 +08:00
    你的是什么项目?和排序有什么关系?
    如果你无法发掘一个人的优点,再符合你也没用。
    coosir
        7
    coosir  
       2014-08-14 15:59:13 +08:00
    这个和二线城市没关系吧
    yxz00
        8
    yxz00  
       2014-08-14 16:04:11 +08:00
    @ywencn 不是用的插入排序,负分。
    jsonline
        9
    jsonline  
    OP
       2014-08-14 16:20:10 +08:00
    @seki 打扑克会么?会起牌就会插入排序。
    jsonline
        10
    jsonline  
    OP
       2014-08-14 16:20:42 +08:00
    @ywencn [2,5,3,1,9]只是示例啊,你要排序任意正数数组
    jsonline
        11
    jsonline  
    OP
       2014-08-14 16:22:38 +08:00
    @ifconfig 他说插入排序不会,我说我告诉插入排序是这样这样这样的,就像打扑克时起牌一样的blablabla,懂了么?
    他说懂了。
    我说用代码写出来吧。
    他不说话,也写不出来。

    你觉得排序是重点么?重点是把思路变成代码的能力好么。
    jsonline
        12
    jsonline  
    OP
       2014-08-14 16:23:28 +08:00
    @coosir 因为我在二线城市,所以就写了。
    jsonline
        13
    jsonline  
    OP
       2014-08-14 16:24:18 +08:00
    @zkd8907 不会这种排序的真是没翻过算法书的。
    seki
        14
    seki  
       2014-08-14 16:30:01 +08:00
    @jsonline 我觉得我反射弧长的原因也有可能是因为当初翻的是英文算法书,记得不牢靠

    不过我还是觉得拿几个面试者开地图炮还是不大好……虽然可能你本来没这个意思
    jsonline
        15
    jsonline  
    OP
       2014-08-14 16:30:01 +08:00
    @ifconfig 如果这个人不会写程序,就不该应聘程序员。
    lijsh
        16
    lijsh  
       2014-08-14 16:30:45 +08:00
    .sort(),搞掂!
    jsonline
        17
    jsonline  
    OP
       2014-08-14 16:31:16 +08:00
    @seki 我就是吐槽一下,有人暴奇葩面试官,我也暴一下奇葩面试者。
    jsonline
        18
    jsonline  
    OP
       2014-08-14 16:31:40 +08:00
    @lijsh 哦?你是如何保证它是插入排序的呢?
    q397064399
        19
    q397064399  
       2014-08-14 16:32:11 +08:00
    唯一知道 并且立马能编写出逻辑算法图的就是 最简单 最容易 最JB无聊的 冒泡排序
    lyragosa
        20
    lyragosa  
       2014-08-14 16:35:14 +08:00   ❤️ 2
    看来要是我去楼主的公司面试肯定被刷掉了……


    赶紧百度一下插入排序压压惊……
    caiych
        21
    caiych  
       2014-08-14 16:45:56 +08:00
    …不知道楼上的各位是什么思路…面试问点基础的CS问题不是很正常的事情么…
    排序作为很常用的算法被问很正常啊…实际上面试的时候各种排序都是热点问题啊…
    楼主就是想吐槽一下被面试官精心挑选过的最简单的问题问倒的所谓程序员有什么问题么…
    ywencn
        22
    ywencn  
       2014-08-14 16:55:24 +08:00
    @jsonline 不懂,什么意思?
    dustinth
        23
    dustinth  
       2014-08-14 16:58:05 +08:00
    我觉得吧, 做企业开发的, 排序神马的基础算法真心用不上, 平时用的时候都是被给封装好的; 我觉得只要知道一些简单的概念, 比如时间复杂度和空间复杂度啥的, 知道关键的时候要去google, github就行了. 如果面试通过了, 也只能说他专门为了面试准备了算法知识.
    dbfox
        24
    dbfox  
       2014-08-14 16:59:42 +08:00
    不知道 这些排序有什么用啊?基本上没用过
    hahastudio
        25
    hahastudio  
       2014-08-14 17:03:33 +08:00
    真的,如果是遇到“我们就差一个程序员了”的面试官,吐槽一下太应该了= =
    可是吧,面试官就问了个插入排序= =
    我看 LZ 的意思是面试的这帮人连去想一下的意愿都没有= =
    这就太说不过去了= =

    像插入排序这种级别的算法,我记得啊,当初竞赛书见过,我觉得很 low 的教材里见过,买的几本语言的书里也有拿来当样例的= =
    哪怕没见过,听完描述想一想总可以啊= =插入排序干想还是能想出来的啊= =

    总说面试官坑= =但是如果自己招式不够亮= =也别怪面试官不留情面啊= =
    ddzz
        26
    ddzz  
       2014-08-14 17:10:46 +08:00
    是用C语言项目吗?真的需要自己实现排序算法吗?不要重复制造轮子
    sleeperqp
        27
    sleeperqp  
       2014-08-14 17:12:30 +08:00
    ╭(╯^╰)╮为什么重点都抓住插入排序这件事,lz的意思是呵呵不愿意动手不愿意思考的人。
    另外我想起了买菜又用不到导数三角函数这句话 233333
    LostFirefly
        28
    LostFirefly  
       2014-08-14 17:12:59 +08:00
    说实在的,每次准备去尝试个新工作...还非的去复习下算法...真的很烦....尤其是我真的不知道,下个面试官打算问什么算法题....我假想了下,如果我以面试者的身份参加了楼主的面试....估计我也多半支支吾吾了...可能方向不一样吧...Android我这4年就没用过算法...
    LostFirefly
        29
    LostFirefly  
       2014-08-14 17:17:29 +08:00
    关于面试,我一般还是问项目经历,承担的角色,完成了什么,重点问项目中难实现的部分,考察是否是其完成的,以及有一些,没做过就绝对不知道的一些必然的坑点...回答的出来的,那是真做过,叫经验...回答不出来的...多半在项目中混着走的...
    zkd8907
        30
    zkd8907  
       2014-08-14 17:19:06 +08:00
    @jsonline 我觉得这类算法是不需要翻算法书的。。。
    hoogle
        31
    hoogle  
       2014-08-14 17:23:23 +08:00 via iPhone
    哈哈 发现因为不会写插入排序瞬间少了好几K工资的样子 该努力了
    sivacohan
        32
    sivacohan  
       2014-08-14 17:24:19 +08:00 via Android
    我挺理解楼主的。

    下次楼主可以这样问。
    给 5, 4 ,1 ,2排序。

    然后看他怎么做的。
    以Python 为例的话,首先看函数怎么传参。如果没写函数的话, 就问 5 4 1 2 6怎么办。
    如果直接list sort了,就问他逆序怎么办。

    然后再让他自己写个函数排序,如果是冒泡的话,就问能不能写个更快的。如果他表示不知道,你就简单介绍下插入排序。用自然语言描述。他写出伪代码就算通过。

    在二三线城市,我们不期望开发有多牛。我们至少希望这个人有一定学习能力,解决问题的能力。
    yxz00
        33
    yxz00  
       2014-08-14 17:24:36 +08:00   ❤️ 3
    叫你们写插入排序都抱怨。。。要是遇上让你实现红黑树的你不得掀桌子?
    这年头面试到了只能考写swap了?真是智商上的优越感油然而生。
    notte
        34
    notte  
       2014-08-14 17:30:35 +08:00
    这个我也愣了下,实际中写算法都是稳定版的非迭代快速排序记得清,毕竟实用,插入排序很少见用的。
    hahastudio
        35
    hahastudio  
       2014-08-14 17:31:26 +08:00
    @sivacohan 如果是 Python 的话= =我们可以各种玩= =
    逆序? list(reversed(sorted(lst)))
    想自定义 cmp, key?可以写好函数传给 sorted= =
    除非你说一定要自己写,否则 Python 还真有辙满足你的各种基本需求= =
    DRcoding
        36
    DRcoding  
       2014-08-14 17:38:03 +08:00
    我知道插入排序,可是我真不知道 "起牌"是啥。 :)
    shyrock
        37
    shyrock  
       2014-08-14 17:42:12 +08:00
    作为应聘者,我发现自己真答不上来什么是插入排序,看来我的简历都不好意思写精通C++、精通数据结构啊。。。
    作为招聘者,除非是招应届生,没有什么项目经验可问,才会问一些数据结构和算法知识。找有经验的攻城狮,一般就问项目经验和设计模式之类的。。。

    顺便吐个槽,我觉得一线城市的程序员答上这个的几率不会高。。。
    jianghu52
        38
    jianghu52  
       2014-08-14 17:43:58 +08:00
    好吧,作为二线城市的程序猿,我默默的退散了。不过python确实可以很方便的插入排序。
    piglei
        39
    piglei  
       2014-08-14 17:44:18 +08:00
    我支持楼主的想法,考察的并不是知道不知道这个排序算法,考察的是把算法转化为代码的能力。
    vicalloy
        40
    vicalloy  
       2014-08-14 17:48:15 +08:00 via Android
    用笔写代码真心不习惯,顶多写伪码。
    常用算法各语言都有现成的库,真心复杂的算法就不是立马能搞定的。
    lijsh
        41
    lijsh  
       2014-08-14 17:52:51 +08:00
    @jsonline 嘿嘿[顾左右而言他]
    oldcai
        42
    oldcai  
       2014-08-14 18:00:15 +08:00
    @ywencn
    @jsonline
    ruby 的排序应该是快排序,插入排序是一个时间复杂度 O(n^2) 的排序方式,一般高级语言内置排序不会用它。
    Mutoo
        43
    Mutoo  
       2014-08-14 18:04:22 +08:00
    表示经常把选择排序和插入排序搞混
    vicalloy
        44
    vicalloy  
       2014-08-14 18:08:33 +08:00 via Android
    说到底面试就和找对象一样也看个眼缘,不对眼就算了。
    一个姑娘即使再美,遇到不喜欢她这一型的也是没辙。
    YouXia
        45
    YouXia  
       2014-08-14 18:09:28 +08:00   ❤️ 1
    为什么这么多人喷楼主,基础数据结构和算法不是每个程序员都应该具备的基础技能之一吗?
    sandideas
        46
    sandideas  
       2014-08-14 18:19:11 +08:00
    @YouXia 但是把每个算法都背下来就不是了把。。否则程序员根本不可能忙过来
    kafkakevin
        47
    kafkakevin  
       2014-08-14 18:23:24 +08:00
    码农里面不会装操作系统的都大有人在。
    subpo
        48
    subpo  
       2014-08-14 18:34:56 +08:00
    javascript array.sort() ...
    MarioLuisGarcia
        49
    MarioLuisGarcia  
       2014-08-14 18:38:44 +08:00
    随便什么语言? 你说的哦!?

    sorted( [2,5,3,1,9])
    YouXia
        50
    YouXia  
       2014-08-14 18:39:25 +08:00   ❤️ 1
    @sandideas

    问题楼主说的这个是最基础的东西啊,这些都是需要掌握的,不可能什么东西都现靠百度、Google吧。

    我见过面试让手写红黑树、线段树、B+树的,这种确实不应该,但是依然有大牛能写出来。。。
    lsylsy2
        51
    lsylsy2  
       2014-08-14 18:41:59 +08:00
    @sandideas 插入排序这种真的是基础的不能再基础了
    插入、选择、冒泡这种都是
    for (i...)
    for (j...)
    if a[i]>a[j] swap(i,j)
    的形式,在楼主
    “我会告诉他插入排序是这样这样这样的,就像打扑克时起牌一样的blablabla”
    这样说过之后还不知道的就……
    msg7086
        52
    msg7086  
       2014-08-14 18:43:18 +08:00 via iPhone
    我面试的时候,面试官让我给heap sort写一个heap
    anjianshi
        53
    anjianshi  
       2014-08-14 18:44:07 +08:00
    虽然我也不懂插入排序,而且我也从来没看过算法书,不过我感觉一个程序员,别人都把实现思路告诉你而且你自己都说自己懂了,结果还实现不出来就有点说不过去了

    但是,希望楼主也为应聘者考虑一下,面试的时候总是很紧张的,你突然冒出插入排序这么个东西就已经很蒙了,然后又来一句“跟扑克起牌一样”。我去,扑克起牌又是什么东西啊,我真心没打过几次扑克啊。面试者很可能冒出这种心理活动。结果神经越发紧张,大脑跟不上节奏,本来能理解、实现的东西也弄不出来了。
    yangkeao
        54
    yangkeao  
       2014-08-14 18:50:17 +08:00
    咦~~我只学过冒泡排序~~。

    自从信奥可以用STL之后就忘了很多东西。

    但是@YouXia 我能手写线段树,树状数组,红黑树,字母数,但是统计的力量里面讲的zkw线段树更短,更高效(这个把我看呆了),后来用的这个。(难道线段树你们都不是手写的?)

    我们高级一点的数据结构都是手写的,高级一点的算法都是手写的,和图论有关都是手写的(网络流,费用流,SPFA,dj,树链刨分),字符串算法都是手写的(KMP,AC自动机)。

    其实这些东西每天6个小时,总共20天我们信奥的就学会了。

    看了@YouXia 的回复瞬间觉得我高大上了。

    各种堆什么的虽然有STL但也能手写。

    一直不明白为什么STL里面没有高精度~~
    sivacohan
        55
    sivacohan  
       2014-08-14 18:51:14 +08:00 via Android
    @hahastudio 要,要,要。Python基础都这么熟了还说啥。
    nicodelee
        56
    nicodelee  
       2014-08-14 18:51:41 +08:00
    JAVA实现:
    int[] data = {2,5,3,1,9};
    Arrays.sort(data);
    System.out.println(Arrays.toString(data));
    yangkeao
        57
    yangkeao  
       2014-08-14 18:52:42 +08:00
    @YouXia STL把我害惨了,,基础的都不会手写,STL里面没有高端的搞得十分的溜
    ovalley
        58
    ovalley  
       2014-08-14 18:58:16 +08:00
    目测楼主在武汉
    GtDzx
        59
    GtDzx  
       2014-08-14 19:02:27 +08:00
    [AD] @jsonline 想找算法牛人欢迎赞助我们的编程挑战赛,在选手里找人~ http://hihocoder.com/contests/past

    题目难度杠杠的,给我们挑战赛出题的人正在美国参加google code jam呢~
    yxz00
        60
    yxz00  
       2014-08-14 19:03:41 +08:00 via Android
    @yangkeao 莫装B,你见过会微积分的人不会二元一次方程的吗?
    manfay
        61
    manfay  
       2014-08-14 19:08:09 +08:00
    楼主不仅说明了像打扑克起牌,也说了blablabla(即解释什么是起牌),并且问懂不懂,对方说懂了。如果这样还写不出来,真不应该。
    yangkeao
        62
    yangkeao  
       2014-08-14 19:17:08 +08:00
    @yxz00 其实现在信息奥赛的基本都这样。能STL都STL了,其余逼不得已必须要用就试着去理解,去记忆。

    然后能写的基本都是前两代的了//那时候不允许使用STL

    我们都知道有STL,老师讲各种排序时也没认真听。//心生惭愧
    yangkeao
        63
    yangkeao  
       2014-08-14 19:21:34 +08:00
    @yxz00 @livid

    这条没提示,回来翻帖才看到
    jsonline
        64
    jsonline  
    OP
       2014-08-14 19:29:37 +08:00
    @ovalley 不说城市,说了话题又会变成城市之争了……
    xuwenmang
        65
    xuwenmang  
       2014-08-14 19:32:52 +08:00
    1W- 工资,问这个扯淡;
    1W+工资,不会这个扯淡!

    好吧,我不是程序员
    cloudzhou
        66
    cloudzhou  
       2014-08-14 19:54:48 +08:00
    我觉得面试官就应该问这些问题,如果只是名词不懂,可以讲解一下,但是代码一定自己能写出来。
    如果我是应聘者,我会说我看一下wiki,然后就能给你写出来。

    高级一点可以问问实际遇到的问题,比如我最近问人的面试题目:
    对于注册的用户,如果希望限制一定的访问频率,比如每小时最多访问1000次网站,你准备怎么做?

    可以有很多讨论空间:
    1 具体语言、web框架的拦截器
    2 怎么限定一定时间内访问次数
    3 如何更加经济环保(比如利用 cache?因为访问是很频繁的一个操作)
    4 如果自己设计一个小小的系统呢,怎么定义数据结构、算法

    这是一个开放的题目。

    现在好多程序员都觉得百度、google就搞定所有问题了,那只是代码的搬运工。
    算法和数据结构就是计算机的核心,体现在你编程的很多细微之处。
    liuchang0812
        67
    liuchang0812  
       2014-08-14 20:11:19 +08:00
    连插入都写不出来,还说自己会百度,会调用系统的库的码农。。。真是呵呵
    leopardwei
        68
    leopardwei  
       2014-08-14 20:15:41 +08:00
    其实面试这个算法,那个排序都是扯蛋。只能反应基础如何,是否熟悉。我面试更关注程序员的自学能力及解决问题的效率。

    不会排序没关系,你会百度或者 google 都行,会善用工具。菜鸟会变成老鸟的,有快有慢而已,前提是别让我耳提面命教,有问题的时候能独立解决掉。这种程序员我很乐意招和培养。
    HerrDu
        69
    HerrDu  
       2014-08-14 20:26:17 +08:00
    搜狐面试的时候,让我写一个快速排序。然后果断写了一个冒泡排序上去。。。。。 算法写的杠杠的,估计去都去BAT什么的搞算法了吧。
    Biwood
        70
    Biwood  
       2014-08-14 20:31:27 +08:00
    我看了那几种排序算法不止一遍,今天还看了阮一峰的博客,里面也有关于这几种算法的文章,但是到现在我仍然不会写,不是不想学,是写了一遍之后就从来没用过,时间一久就忘了
    Ransford
        71
    Ransford  
       2014-08-14 20:32:54 +08:00
    这种水平的人来面试,说明你这公司也牛逼不到哪去。
    nsa
        72
    nsa  
       2014-08-14 20:49:45 +08:00
    楼主没问对方有学过数据结构吗?
    Exin
        73
    Exin  
       2014-08-14 21:04:27 +08:00
    啊,我不记得什么是冒泡排序、快速排序了……
    mengzhuo
        74
    mengzhuo  
       2014-08-14 21:05:48 +08:00
    立马找插值排序wiki来压压惊
    semicircle21
        75
    semicircle21  
       2014-08-14 21:07:13 +08:00
    对象是没项目经验的学生才考基础.
    有项目经验的, 让对方说说, 再问问"实现 XXX 的时候遇到过什么困难没有啊?" 之类的, 套套话,就知道面试对象几斤几两了.
    要是考察动手能力, 不用冒泡排序这么复杂, 坐在电脑前, 写个单向链表的转置就够了.
    这样的程序员应对日常的增删查改足够了.
    nooper
        76
    nooper  
       2014-08-14 21:09:31 +08:00 via iPhone
    我不会。但是未必我写不出来
    wdlth
        77
    wdlth  
       2014-08-14 21:17:38 +08:00
    我们以前数据结构老师闲的蛋疼就拿这种问题来考人……
    frankzeng
        78
    frankzeng  
       2014-08-14 21:57:00 +08:00
    正经的计算机专业肯定学过数据结构和算法,但又怎么样呢,几年用不到铁定忘记了。
    ruandao
        79
    ruandao  
       2014-08-14 22:06:02 +08:00
    插入忘记了,但是还记得快排...
    Artotria
        80
    Artotria  
       2014-08-14 22:30:45 +08:00
    @jsonline 这绝壁是算法导论都不知道是什么的人吧,话说作为准大二狗的我都知道(′▽`〃)
    star001007
        81
    star001007  
       2014-08-14 22:47:47 +08:00 via Android
    不懂路过。算法没研究心得!
    so898
        82
    so898  
       2014-08-14 23:20:37 +08:00
    第一反应是冒泡,第二反应是快排,看到打牌那里才想起来是怎么排序的,艹……
    davidli
        83
    davidli  
       2014-08-14 23:24:29 +08:00
    虽然工作中一般用到排序的时候大多直接 sort(), sorted(), 但作为求职者, 明知道面试官喜欢问算法题, 这种基础中的简单问题都不会也绝对说不过去. 真要对这次面试还有一点点在意, 至少也把大学(或高职)算法课的讲义翻出来看两眼吧.

    而在楼主详细描述了一遍的情况下, 还是写不出来这种最基本的程序, 这种编程能力还能干什么?

    楼上诸位说自己不会这个排序, 不会那个排序的, 真是拿无知当优越. 我不会插排, 不会归并, 不会快排, 连冒泡也不会, 但我知道我是个好程序员.
    ichigo
        84
    ichigo  
       2014-08-14 23:30:54 +08:00
    这是基础吧,当年上大学的时候,数据结构,把7种排序玩了个遍……
    timothyqiu
        85
    timothyqiu  
       2014-08-14 23:32:13 +08:00   ❤️ 2
    看了一大半,我感觉自己是站在楼主这边的。然而看到最后「呵呵」两个字,反而立马就想帮应聘者讲话了。
    harryert
        86
    harryert  
       2014-08-14 23:46:34 +08:00
    忘得一干二净的飘过。。。。

    排序也好,链表也好,二叉树也好,统统忘记鸟。。。。

    那我说我是干啥的那,码农,it搬运工抑或IT行业的其他相关人员。。。。
    KentY
        87
    KentY  
       2014-08-15 00:34:01 +08:00
    插入排序(Insertion sort)还是有用的, 它自己一般没人用, 但是Merge Sort(合并排序?)的时候, 当分的部分已经足够少, 可以不再继续分, 而用插入排序in-place排. 会比递归到底效率高.

    3年前没事的时候实现过一个:
    https://github.com/sk1418/jalgorithm/blob/master/src/main/java/com/kent/algorithm/sorting/OptimizedMergeSort.java
    spacewander
        88
    spacewander  
       2014-08-15 00:48:12 +08:00
    考这些太过基础的算法其实就是考死记硬背而已……
    毕竟除了大一大二或预先准备的人,不会有人记住的。

    好的问题应该是,允许使用任意语言的标准库,比如sort,find等等,实现一个A*算法(或者标准库里没有的其他算法)
    spacewander
        89
    spacewander  
       2014-08-15 00:50:26 +08:00
    顺便水一下,当年试过对着《算法导论》把快排敲一遍,结果这个版本的快排比标准库的sort慢了一个数量级……这才知道世界上真的有黑魔法的存在……
    KentY
        90
    KentY  
       2014-08-15 01:37:31 +08:00 via Android
    我觉得吧,招程序员问算法一点都不过。 但没必要因为人家不会就笑话人家。

    就好象,数学家都会求最大公约数,但笑话别人不会求大公约的,一定不是高水平数学家。
    icyalala
        91
    icyalala  
       2014-08-15 02:31:28 +08:00
    一线城市,上市互联网公司:
    每到校招季节/跳槽季节,我们部门的面试官们都翻书上网复习算法找各种算法题来做,生怕Hold不住应聘者。。
    应聘者们也拼命复习算法数据结构,扔掉早已习惯的IDE拿出纸来练习手写代码,生怕被面试官KO掉。。

    等两年后,应聘者变成了面试官,再一次重复了这个故事。。。

    每到这种时候,我都想说:有意思吗!有意思吗?有意思吗?!
    面试一上来问个学院派的XX算法,面试者很快刷刷写出正确答案,除了能证明事先准备过,还能看出什么?
    有人就是不习惯在纸上写代码,遇到这种题再一紧张搞不定于是顾左右而言他,这样就说他没资格面试程序员了?
    同事和同学也不少在BAT的,大家都知根知底,有几个人还在天天搞这些算法题?


    ====================
    PS: 当年校招腾讯二面的时候,一上来出了道算法题,面试官很看不起我的样子背对着我玩电脑;题不难但搞的我很紧张几分钟没搞定,然后被直接撵走了,挺受打击的。。过了很久,问到腾讯的同学说那是压力面,面试官后来也说接触过,人不错,只不过压力面他把控不好。

    但到底我还是对面试时手写算法有点心理阴影,以至于看到楼主这种面试过程就有些激动。我很认可算法的重要性,但是很反对楼主这种一上来就抱着笔纸让写那些无聊学院派算法的面试,忽略了对应聘者全面了解的机会。

    最近我刚换完了工作,期间大小公司也面试了几个也都还算顺利,准备了算法但基本没用到。这些面试更多注重项目经验、架构设计、管理能力、学习能力、解决问题的能力。如果楼主要想深入了解一个人的算法能力,不妨给台笔记本,出个工作中的实际有用的算法问题来看他的解决问题的过程与思路。


    关于面试与算法的讨论:
    http://www.zhihu.com/question/23105514
    http://coolshell.cn/articles/8138.html
    相信每个人都能从讨论里找到支持自己论点的证据。。
    levn
        92
    levn  
       2014-08-15 08:21:49 +08:00
    再不学算法就老了
    zzNucker
        93
    zzNucker  
       2014-08-15 08:43:58 +08:00
    跪下来,这种排序都答不出来的居然还有人出来洗白。
    lliioogg
        94
    lliioogg  
       2014-08-15 08:44:55 +08:00
    我艹我居然也不会
    belin520
        95
    belin520  
       2014-08-15 09:00:46 +08:00
    @zzNucker 我前端,如果在面试上,可能我也答不出来,但是我不怀疑自己的实力,起码够用。
    missdeer
        96
    missdeer  
       2014-08-15 09:13:53 +08:00
    我想说我翻过算法书好几遍(至少排序算法部分),但现在仍然忘了。
    sgissb1
        97
    sgissb1  
       2014-08-15 09:22:05 +08:00
    如果工作经验不多的,让他写代码倒是不错。

    如果有一定经验的,就别写代码了。只要能够把什么是插入排序讲清楚就行了。因为写代码会涉及到面试时紧张与否等问题。

    不过挺好奇卤煮招什么条件的人,和面试了什么条件的。
    pljhonglu
        98
    pljhonglu  
       2014-08-15 09:32:35 +08:00
    排序算法大学里学过也写过,但是工作从来就没用过。。。我觉得面试还是针对项目来讨论比较靠谱。如果是毕业生的话问问算法数据结构还可以。
    codingpp
        99
    codingpp  
       2014-08-15 09:39:37 +08:00
    排序算法在工作里还真用过
    因为不仅仅是排序,还要在排序的过程中干其他的事情
    当时用的快排
    bombless
        100
    bombless  
       2014-08-15 09:43:28 +08:00
    平时用冒泡,背过快排,其他的都不会ww
    不知道po主是怎么介绍插入的。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5805 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 02:38 · PVG 10:38 · LAX 18:38 · JFK 21:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.