chanpin9

最近的面试有感, 很想知道 V 站的大佬们如何通过那些大公司的代码面试的?

  •  
  •   chanpin9 · Nov 11, 2018 · 11146 views
    This topic created in 2756 days ago, the information mentioned may be changed or developed.

    最近面试一个某国外共享办公室的全栈工作, 第一次代码面试因为网络没有成功,第二次给了上次一样的题目, 但是我给了个上次没有完的一样解法, 结果被面试那个吐槽了没有上网找找题目找找最优的解法,我只能在心底默默的 fuck。

    作为一个有近 5,6 年以上经验的后端开发, 自己独立开发过 N 多项目也帮公司重构和开发了不少项目, 最近几年面的所有需要代码测试的面试, 无论困难还是简单的基本上没一个面试能通过的, 各位大佬都是刷题通过这些面试的吗? 还是真的面试题目你们真的都会?

    86 replies    2018-11-14 02:40:27 +08:00
    devotenimabi
        1
    devotenimabi  
       Nov 11, 2018 via Android
    真正的大佬 肯定是 acm noip 出身的。写这些面试题还不是砍瓜切菜
    外国公司面算法的比较多 你面试的是 wework 么
    takato
        2
    takato  
       Nov 11, 2018
    答案就是他们真的都会。。。
    init6reboot
        3
    init6reboot  
       Nov 11, 2018 via Android
    我一直想问,刷题的意思是不是背答案?还是找感觉
    cloverii
        4
    cloverii  
       Nov 11, 2018 via Android
    回楼上,你备战高考刷题就是背答案?
    chanpin9
        5
    chanpin9  
    OP
       Nov 11, 2018
    @devotenimabi 是的,这次不是算法,这次只是一道简单地题目,看来我和这些外国公司真的是没什么缘分
    @takato 真的吗? 以前一直觉得这些题目对我开发项目没什么帮助, 毕业后从来都不削去看这种题, 看来通不过还是有原因的
    @init6reboot 我认知中刷题就是背背答案吧,像以前考试一样, 不知道有没有大佬现身说说
    raynor2011
        6
    raynor2011  
       Nov 11, 2018
    @chanpin9 考试都是背答案?当然是要去理解啊,兄弟
    nicktogo
        7
    nicktogo  
       Nov 11, 2018 via iPhone
    你去一亩三分地看看国外面经,可以有一个大概的了解,刷题与大佬之间的关系,不是正相关,但也不是毫不相关。
    ppyybb
        8
    ppyybb  
       Nov 11, 2018 via iPhone
    你说下题目和你的解法吧……
    blindpirate
        9
    blindpirate  
       Nov 11, 2018
    没错,真的都会。
    takato
        10
    takato  
       Nov 11, 2018
    @nicktogo 有人算过这俩个之间的皮尔森相关系数吗?
    WEIHUANJIHE
        11
    WEIHUANJIHE  
       Nov 11, 2018
    wework ?
    ppyybb
        12
    ppyybb  
       Nov 11, 2018 via iPhone
    @takato 以前看到过一个调查,acmer 在 Google 工作的职场发展情况,貌似结论是超过一定阈值之后成反比,给出的原因是 相当一部分天才 不喜欢软件工程中的无聊的事情(包括架构,管理,代码规范),所以觉得工作很无聊,而程序员的职场发展技术超过一定阈值后重要程度是减小的,而且工作中的很多事情对于智力的要求没有那么高。

    具体细节记不清了,可能出错……
    takato
        13
    takato  
       Nov 11, 2018
    @ppyybb 有论文吗?还是媒体文章?媒体文章就算了= =基本上是为了维护某种正确
    tvallday
        14
    tvallday  
       Nov 11, 2018 via iPhone
    无论面试还是工作。提高成功率和准确率的最有效办法还是熟练。编程其实就是一个体力活。
    takato
        15
    takato  
       Nov 11, 2018
    @ppyybb 对于倒 U 曲线表示一定程度的认同,但是对于如此主观的归因无法采信。
    ppyybb
        16
    ppyybb  
       Nov 11, 2018 via iPhone
    @takato 好像访问了 Google 的某个 vp (或者其它高管),paper 我就不知道了,感觉这个研究方向有点无聊和 trivial 了

    另外一个印象就是采访了一个 Google 的 wf 前几名的大神,他说过软件工程不够 smart,很 boring 这样的话
    tedd
        17
    tedd  
       Nov 11, 2018
    you're not alone, 我和你情况一样...
    chanpin9
        18
    chanpin9  
    OP
       Nov 11, 2018
    @nicktogo 不错的网站以后如果有面试可以看看, 其实我就想知道大部分人怎么通过这样的代码测试, 如果只是单纯靠刷题就可以进这些公司, 那我就不用投这些公司了, 也不用浪费双方时间。
    @ppyybb 就是一个数组求和的题目, 我用了双循环, 面试的人希望一个循环完成, 最终结果是我没有实现
    chanpin9
        19
    chanpin9  
    OP
       Nov 11, 2018
    @WEIHUANJIHE 是的
    @tvallday 这么多年了百万行代码还是敲过的, 工作上的编程无论什么都还可以应付, 但是面试吧, 只要不是面这种算法题, 还是能通过, 所以一直都是在创业公司混。
    @tedd 哈哈 ,同道中人, 也面的是同家公司?
    mortonnex
        20
    mortonnex  
       Nov 11, 2018 via iPhone
    @chanpin9 没猜错的话,你应该先排序。然后首尾两个指针。
    takato
        21
    takato  
       Nov 11, 2018
    @ppyybb 然后你就相信了= =? 2333333。。
    ppyybb
        22
    ppyybb  
       Nov 11, 2018 via iPhone
    @chanpin9 其实现在外企像 Google,fb,amazon,hulu 这些肯定会问算法的....你工作多少年都会问的,homebrew 的作者因为反转二叉树写不出来被 Google 拒绝了啊

    确实大厂都会问算法题的,只是国内算法题相对简单不少,占比也少些而已。通过的方法就是刷题,因为如果面的还是开发的工作,那么代码能力就是一个刚需要求,这个其它方式不太好考察(除非出 homework 给面试者做,我们以前就留过一些,但是这样双方成本都挺高,不可能人人都这样)

    另外很多大厂的出来自己其实也不会做这些题目了,要跳槽很多还是要去刷题的...
    ppyybb
        23
    ppyybb  
       Nov 11, 2018 via iPhone
    @takato 这种东西不存在信不信,只是他那么讲而已吧,我的观点是个人的差异(性格,兴趣)很大,统计指标意义很小
    chanpin9
        24
    chanpin9  
    OP
       Nov 11, 2018
    @mortonnex 不是, 题目是给定了一个升序的数组,比如数组[2,3,4,6] ,相加结果是 7, 求获取数组内哪两个数相加=7, 返回这两个数所在的位置, 这个代码测试用的 ruby, 我用了一个 ruby 内循环函数
    takato
        25
    takato  
       Nov 11, 2018
    @ppyybb 对啊,所以怎么说是随便怎么说的,并不代表他真的这么想,老兄。。。这是套话。。。
    ppyybb
        26
    ppyybb  
       Nov 11, 2018 via iPhone
    @takato 你是说那个打比赛的人说的话吗?还是高管说的话?
    如果是前者的话,我认为他这样想没有问题,因为我确实知道一些人就是这样想的,软件工程里面很多东西的有趣程度和对智力的要求也小于算法竞赛。

    如果是后者,也许是媒体搞得大新闻,或者他想借此达到某些目的,但是我记得当时他有个 Google 内部的数据支撑?(不确定)。
    不管怎么说,这个东西统计意义不大。
    takato
        27
    takato  
       Nov 11, 2018
    @ppyybb 劈柴:我们没搞特制化搜索;哦不对,我们搞了;哦,我们现在都不清楚到底要不要搞了= =

    这些都是一个人说的话哦。前后间隔还很短。。。
    chanpin9
        28
    chanpin9  
    OP
       Nov 11, 2018
    @ppyybb 谢谢, 这么多年来失败项目做过不少, 吹牛能力也还算还可以,就是没刷过什么题,看来我确实和这些大厂无缘, 以前也看过 homebrew 作者被拒的新闻, 感觉很惋惜。
    ppyybb
        29
    ppyybb  
       Nov 11, 2018 via iPhone
    @takato 如果你认为倒 U 曲线是合理的,那你判断的理由是什么?
    takato
        30
    takato  
       Nov 11, 2018
    @ppyybb 所以只是我表达出你说的这一点是合理的,你没必要相信我说的呀:)
    我也可以完全认同你,但表达出不认同的语言。。明白了吗?取决于别的因素。
    ppyybb
        31
    ppyybb  
       Nov 11, 2018 via iPhone
    @takato 我的意思不是质疑你的前后逻辑.....
    我就是在问你这个问题....
    takato
        32
    takato  
       Nov 11, 2018
    @ppyybb 所以我选择不表态:)
    chanpin9
        33
    chanpin9  
    OP
       Nov 11, 2018
    @ppyybb @takato 毕竟 Google 这样的公司里面的单个项目拎出来都不小, 流程复杂了,在框框内开发些东西, 不要说天才,普通工程师也会觉得很无聊吧
    loy6491
        34
    loy6491  
       Nov 11, 2018 via iPhone   ❤️ 1
    不会算法,就自比 homebrew 作者? kSum 问题问第二次还答不好,真心自己的问题吧。
    takato
        35
    takato  
       Nov 11, 2018
    @chanpin9 是的,感觉你抓到点了,很多 coder 吐槽大公司的原因就是因为条框本身有限制“发散性创造”的可能,所以这些条框对他们来说并不“友好”
    laike9m
        36
    laike9m  
       Nov 11, 2018 via Android
    wework 到底怎么样?为什么感觉网上一堆人都去面试。以及一个做共享办公室的为啥需要这么多开发。。。
    chanpin9
        37
    chanpin9  
    OP
       Nov 11, 2018
    @loy6491 大哥, 你是从哪里看到我自比 homebrew 的作者了?
    BaffinLee
        38
    BaffinLee  
       Nov 11, 2018
    N sum 套两个循环,面试官也不知道该说什么好呀
    laike9m
        39
    laike9m  
       Nov 11, 2018 via Android
    @chanpin9 楼上说的没错吧,这题就是头尾指针,不难。这种属于知道了做法就很简单,但不知道却很难想出来的题目,我个人觉得不能很好地考察出面试者水平,只能考察出他刷没刷过题。
    laike9m
        40
    laike9m  
       Nov 11, 2018 via Android
    不过说实话,也没那么难想出来就是了,尤其是面试官已经提示你只用一次循环。
    chanpin9
        41
    chanpin9  
    OP
       Nov 11, 2018
    @laike9m 我看到的是薪资范围很不错,朝 10 晚 6 还不加班确实还是很诱人的,至于为什么需要这么多开发, 只有他们内部人来回答了
    ppyybb
        42
    ppyybb  
       Nov 11, 2018 via iPhone
    @takato 说实话你前一条回复把我绕进去了......
    我想了一下,你的意思似乎有几重?:
    1 我认可结论,但不认可归因,且我也不确定原因(那就是直觉),因此我不表态

    2 每个人说的话和想法都不一定一致,因此我这样说不代表我这样想,你不需要相信我说的

    3 2 的意思只是为了告诉你这个道理,但是我本次说的是真的,只是我不知道(不愿意)告诉你我的理由

    感觉我也晕了……,比刷几道难题还让我困惑
    chanpin9
        43
    chanpin9  
    OP
       Nov 11, 2018
    @BaffinLee 我是按照自己思路来的, 我想的是如果返回结果, 而他们想的是做完成做出一道漂亮的题, 这一点我确实满足不了他们
    @laike9m 哈哈, 确实是头尾指针的题, 我没看过这方面的东西也没认真去了解过, 所以当下他告诉我题型怎么去做, 我也实现不了
    @loy6491 看上面我也没对这次面试表达什么不满, 确实能力有限没做好, 只不过我以为面“全栈”会不一样, 早知道需要这样刷题才能过面试, 我应该直接不用投了,不用浪费双方时间
    jin5354
        44
    jin5354  
       Nov 12, 2018
    如果你不想刷题,觉得面算法题的公司都不考虑,那很多大公司都不用去了
    毕竟拿 offer 并不是说达到某条线就能进,而是要击败其他候选人,算法题就是很多公司都看中的智商水平证明,除非你其他方面强悍不要靠这个背书
    ericls
        45
    ericls  
       Nov 12, 2018 via iPhone
    这些公司都不值得去
    vegito2002
        46
    vegito2002  
       Nov 12, 2018
    打开 LeetCode, 如果你一天能完成五题, 包括看解答, 写分析, 那么你是一般北美求职选手的做题水平(撇开英语能力的话).
    如果你一天能刷五十题, 你就是大佬. 这种人真的有, 不是编的.
    chanpin9
        47
    chanpin9  
    OP
       Nov 12, 2018   ❤️ 1
    @jin5354 对的,以后找工作应该会直接跳过, 除非有闲的时间, 对我来说进大公司唯一理由就是没有进过和薪资有提高,对于一个在创业公司混了 n 久,自己也独立干过不少项目的人,其强悍的方面在面试是很难体现的。
    @vegito2002 -_-! 一天 50 道, 没有这个能力也有这个时间, 对我来说写代码不是为了刷题, 很大程度是为了实现脑中的想法和赚钱
    chanpin9
        48
    chanpin9  
    OP
       Nov 12, 2018
    @ericls 哈哈, 不值的
    vegito2002
        49
    vegito2002  
       Nov 12, 2018
    @chanpin9 一天五十道的人反而用的时间不多. 选适合自己的路就好.
    txy3000
        50
    txy3000  
       Nov 12, 2018
    大公司是为了迅速筛人,他们又不缺螺丝钉,审查一个人的能力是有成本的。homebrew 那是小概率事件,人家还不是去了 Apple,而且面试算法也就那么回事,你熟练就好了,跟智商关系不大。
    普通 DS 程序员想去大厂还不努力刷题,更待何时?都给了你标准化的考试,一个受这么多年应试教育的选手还怕这个?
    真正的大神,大厂在后面哭着喊着要,没准他们还看不上!
    我也是 DS,也刷题,leetcode 跟 V2EX 账号一样,欢迎交流。
    CSM
        51
    CSM  
       Nov 12, 2018 via Android
    老哥这是 Leetcode 第一道题啊。。
    tianrandai
        52
    tianrandai  
       Nov 12, 2018
    第二次给了一样的题目,还没有答出来,就说明两件事,1 能力未达到目前岗位要求,2 没有求知自学精神
    lumonix
        53
    lumonix  
       Nov 12, 2018
    @chanpin9
    如果说面试算法题的公司楼主都不想去了,那北美公司不管大中小基本都不可能了,除非是几个人 (n < 5)的公司,通过聊天问问项目是可能有 offer 了。但大量面算法通常限于 SDE1 或者 SDE2,如果楼主本身是高级工程师那是另一回事了(Senior 也是会考算法的,而且绝对是比你拿到的这道题更难;只是会有更多轮的系统设计)。

    “自己也独立干过不少项目的人,其强悍的方面在面试是很难体现的。”

    - 还是那句话,如果您不是 Senior/Staff/Principle,公司还是会更看重基础
    UIXX
        54
    UIXX  
       Nov 12, 2018   ❤️ 1
    我不同意刷题无用论,也不同意刷题万能论。但是刷题真的可以看出一个态度问题。
    1、公司对算法有要求,但你不屑于刷题
    2、公司想提高门槛较少招聘成本,但你不屑于刷题
    3、公司给了你一次查找答案的机会,但你不屑于刷题

    这有什么好说的呢?
    其实我觉得楼主不是能力不行,是缺少一种处事的变通跟灵活。
    为什么你会认为对方是一个单纯靠刷题就可以进的公司呢?大部分的算法只是第一步,但你连第一步都没踏进去。
    victor
        55
    victor  
       Nov 12, 2018
    面试的 WeWork
    findmyself
        56
    findmyself  
       Nov 12, 2018
    哈哈哈,wework 上周也喊我面试了(但我已入职其他公司了就没面),那 hr 说 80%的人会挂在代码测试上
    mortonnex
        57
    mortonnex  
       Nov 12, 2018
    @CSM
    @loy6491
    @txy3000
    @chanpin9

    leetcode 第一题都难倒题主了...我甚至不知道说什么好
    楼主其实可以找找自己身上的原因的
    ianva
        58
    ianva  
       Nov 12, 2018
    2-sum ...,楼主要反省
    zhengxiaowai
        59
    zhengxiaowai  
       Nov 12, 2018
    leetcode 刷吧,刷的不是题,是解题思路。。。
    ourzhang
        60
    ourzhang  
       Nov 12, 2018   ❤️ 1
    只能刷,除非你的智商很高,脑活跃很强,还在状态。要不然很多算法你找不到最优解。最优解很多都是一步一步进化出来的或者哪个人灵光一闪。

    你在面试中去解决这种问题很难的。
    1069401249
        61
    1069401249  
       Nov 12, 2018
    自己做题还能想出好的解法,要你当场写的话有点烦躁
    Variazioni
        62
    Variazioni  
       Nov 12, 2018
    还是刷题靠谱一些啊。。。
    tt67wq
        63
    tt67wq  
       Nov 12, 2018
    刷点题目还是有必要的,虽然自己觉得没用,但是别人看中啊
    misaka19000
        64
    misaka19000  
       Nov 12, 2018 via Android
    @mortonnex +1 这么简单的题目都做不出来,感觉面试者的水平很高的概率太低了
    MrJeff
        65
    MrJeff  
       Nov 12, 2018
    第一次没啥说的,第二次确实是态度问题了
    holy_sin
        66
    holy_sin  
       Nov 12, 2018
    唯手熟尔 共勉
    nekoneko
        67
    nekoneko  
       Nov 12, 2018
    @chanpin9 这是 leetcode 上的第二道题吧,去看看官方解答
    libook
        68
    libook  
       Nov 12, 2018
    个人觉得 54 楼话糙理不糙,比较精确指出了原因,简单来讲,公司对于人才的要求和你不匹配,但你觉得你“作为一个有近 5,6 年以上经验的后端开发, 自己独立开发过 N 多项目也帮公司重构和开发了不少项目”应该被所有公司选中。

    既然面试官已经吐槽你“没有上网找找题目找找最优的解法”就说明人家要的不是多年的工作经验或者长长的项目履历,人家要的就是你能不能把工作做到极致。

    每个岗位要求员工具备的知识、经验、能力、性格、职业规划、为人处世等等方面是不同的,而且不同的岗位在其实际情况下对上述几项的侧重都是不同的。据说有的公司在看简历前会先从中拿一份扔掉,因为他们不希望招到运气差的人;虽然我本人不相信运气这种东西,但是这就是这家公司的价值观,你若不认同这一点的话,即便进入了这家公司你也会很快离职。

    你的描述充分说明你的优势在于经验和系统架构,劣势在于算法和搜索,那么求职的时候就侧重找那些招聘要求和你的优势匹配、不关心你的劣势方面的公司,招聘和求职是双向选择。
    CRVV
        69
    CRVV  
       Nov 12, 2018
    对于楼主的情况来说,明显是招聘方占理

    这道题的最简单的解法是写两个循环,毫无技术含量。显然存在更好的算法,而且更好的算法也不难
    如果一个应聘的人只会这个解法,那我觉得这是一个初学编程的人,不是一个有五六年工作经验的人

    如果像另一个帖子一样说让手写 SHA1 算法,应聘的人写不出来,那当然是应聘方占理了
    chanpin9
        70
    chanpin9  
    OP
       Nov 12, 2018
    @txy3000 哈哈, 同是屌丝, 如果以后还去面试的话, 一起刷题
    @CSM 谢谢提醒,没有刷过 leetcode, 有机会会去看一下的
    @tianrandai 第二点有点不同意, 前后端都能开发的人, 自学能力还是有的
    chanpin9
        71
    chanpin9  
    OP
       Nov 12, 2018
    @timle1029 独立干过很多项目是指我的一些没有成功的创业小项目,我这几年进入的公司, 确实都是只是只是问问项目进去的。
    @UIXX 我没有说刷题无用, 只是刷题对现在的我来说无用, 我不刷题的原因在 47 也说明, 确实这家公司不刷题连第一步都进不去不是吗? 吐槽归吐槽,我也没觉得公司把我刷掉有什么问题,确实没有通过。
    @victor 对的
    @findmyself 其实我也是入职了其它公司, 不过在入职前约好的, 就面一下。 他们要求 4+的经验, 看来国内大部分开发估计也和我差不多不大刷题吧,连 LeetCode 第一题都不会。
    chanpin9
        72
    chanpin9  
    OP
       Nov 12, 2018
    @mortonnex 我身上有太多问题, 确实没刷过 LeetCode
    chanpin9
        73
    chanpin9  
    OP
       Nov 12, 2018
    @ianva 工作面不上而已, 不用反省这么严重, 找自己适合的公司待就好了
    feverzsj
        74
    feverzsj  
       Nov 12, 2018
    又不是面试当场让你写,这还能写不出?
    chanpin9
        75
    chanpin9  
    OP
       Nov 12, 2018
    @zhengxiaowai 下次有机会面试大公司前, 一定多刷刷
    @ourzhang 是的, 没有刷题经验,一下想最优解, 确实会很迷茫, 况且还有个人在旁边看着你
    chanpin9
        76
    chanpin9  
    OP
       Nov 12, 2018
    @1069401249 是的,我写代码最怕有人在旁边看你写
    chanpin9
        77
    chanpin9  
    OP
       Nov 12, 2018
    @tt67wq 刷题对现在的我来说没什么用而已, 刷题对大部分人还是有用的, 至少进大公司也是一个敲门砖
    chanpin9
        78
    chanpin9  
    OP
       Nov 12, 2018
    @misaka19000 哈哈,一直觉得我态度很好了, 只是出来吐个槽而已
    @MrJeff 一两行代码就能出一个人水平?
    @holy_sin 哈哈, 共勉
    chanpin9
        79
    chanpin9  
    OP
       Nov 12, 2018
    @libook 优势确实在那个方面, 劣势也不在这两个方面, 算法不好也不是那么差, 更多算法都是关注我自己开发的项目中算法,“没有上网找找题目找找最优的解法” 是我根本没有想去找,我认为这个应该会换题了。虽然我工作没有做到过极致过, 但是自问及格还是有的。
    chanpin9
        80
    chanpin9  
    OP
       Nov 12, 2018
    @CRVV 我重申一下我没觉得应聘方有什么问题,我只是觉得 5,6 年的水平很难提现在两行代码中, 吐槽一下而已
    chanpin9
        81
    chanpin9  
    OP
       Nov 12, 2018
    @feverzsj 哈哈, 是当场写
    feverzsj
        82
    feverzsj  
       Nov 12, 2018
    不想面试写代码的,可以在简历里注明。但问题是现在很多大点的公司,其实招聘的最终负责人是 hr,hr 不懂技术,但为了对上面有交代,就必须让技术面试官准备笔试,而技术面试官又得不到好处,最后就是以应付交差为主,能当场写对的,总比写不出的好吧,这样最后如果不满意辞退了,有笔试记录为准,hr 和面试官都不用背锅
    lumonix
        83
    lumonix  
       Nov 13, 2018
    @chanpin9 说得直白点就是,楼主你工作几年积累下来的经验 wework 压根就不关心,因为他们要找干活的而不是设计构架的,所以我相信就算你真的去了没多久也会厌烦的。

    总的来说我觉得还是 recruiter 的锅,没有让你面一个合适你的职位
    drackzy
        84
    drackzy  
       Nov 13, 2018
    他家后端貌似是 Ruby 去不了也没啥,ruby 后端没有什么人了
    libook
        85
    libook  
       Nov 13, 2018
    @chanpin9 公司有自己对招聘岗位的要求,和你不匹配,你就吐槽这家公司,会不会显得不够大度。。。
    他们不选你不是因为你不好,可能只是因为不适合。
    chanpin9
        86
    chanpin9  
    OP
       Nov 14, 2018 via iPhone
    @feverzsj 对的,每家大公司基本流程吧
    @timle1029 其实去大公司还是小公司久了都会厌烦
    @drackzy 哈哈,这倒不知道了,我没什么关系了
    @libook 哈哈,我本来就不算大度,我没说这公司做的不好,况且我也不吐槽这一家公司,我吐槽是这一类公司而已,面完了我还不兴我吐个槽
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   850 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 112ms · UTC 21:30 · PVG 05:30 · LAX 14:30 · JFK 17:30
    ♥ Do have faith in what you're doing.