V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
felix021
V2EX  ›  推广

程序员面试指北:面试官视角

  •  
  •   felix021 · 2020-02-15 20:55:28 +08:00 · 5233 次点击
    这是一个创建于 1745 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公众号原文: https://mp.weixin.qq.com/s/Byvu-w7kyby-L7FBCE24Uw

    结构化面试

    在字节跳动,我学到了如何使用结构化面试法来考查应聘者的技能。

    所谓结构化,指的是将各种知识技能做好划分,例如编程语言,操作系统,数据库,网络,算法,工程 /架构设计,并通过几个面试官之间的多轮交叉面试来考查掌握程度。

    这样的面试方法,可以避免某个面试官考察太偏,并充分挖掘候选人的亮点。

    技能

    在具体的面试中,每一个方向都会由浅入深去考查。

    以编程语言为例,比如某个应聘者常用语言是 Python,我会先考查一些语言的基础特性,例如什么是 magic function,__repr__ 和 __str__ 的区别等。

    确认候选人对语言的使用掌握符合预期后,再考查候选人对 python 底层实现的理解,例如展开聊聊 python 的 gc 相关知识。

    更进一步,可以结合一些具体的应用场景来考查候选人对语言的综合应用能力,例如使用 Python 的多线程,需要考虑什么,如何提高某些任务中的效率等。

    算法

    值得一提的是算法 /数据结构,这是字节跳动面试的一大特点,也是网上各面经都会提(tu)到(cao)的。

    通常来说每一轮面试都会要求候选人完成一道算法题,现场面试就直接在纸上写,远程面试则是在在线共享编辑的 IDE 环境里完成。

    可能早期常有面试官让候选人手写红黑树,以至于"手写红黑树"已经成为一个内部梗。

    实际上难度没有太夸张,通常来说 15 分钟内完成 Leetcode Medium 级别的题目,就能满足面试要求了(划重点)。

    我更倾向于考查操作基础数据结构的题目,关注点放在对代码的掌控力,而不是某个具体的算法。

    不过,对于有 ACM 经历的同学,面试官可能会尝试用 Hard 级别题目来 challenge。比如我内推的某同学被问了 manacher's algorithm,可能是和面试官八字不合。

    但也不用太担心,毕竟不是谁都像他一样拿了 ACM 金牌。

    沟通

    候选人的沟通能力也是考查的重点。

    例如,在面试中的工程设计题通常是开放式问题,题面往往不是精确的,问题的规模,可能存在的问题,或者可以忽略的一些细节,都可以在前期的沟通中确认,然后再开始设计。

    还有,在面试过程中的知识盲点,要注意避免不懂装懂的强行作答,但利用已有知识做出的合理推测则是加分项。两种行为的边界可能有点模糊,这就考验候选人的沟通技巧了。

    总结

    我想要招什么样的候选人?概括而言就是:聪明,勤奋,有潜力。

    更具体的,大佬早就讲过了,推荐阅读字节跳动创始人张一鸣的演讲《我面了两千个年轻人,发现混得好的都有这 5 种特质》: https://www.toutiao.com/i6681549238490366472

    硬广

    最后,我目前在字节跳动的网盟广告业务线(穿山甲),由于业务持续高速发展,长期缺人、不限 HC,欢迎踊跃投递:

    后端开发(上海): https://job.toutiao.com/s/sBAvKe

    后端开发(北京): https://job.toutiao.com/s/sBMyxk

    广告策略研发(上海): https://job.toutiao.com/s/sBDMAK

    测试开发(上海): https://job.toutiao.com/s/sBUKuh

    其他地区、职能线: https://job.toutiao.com/s/sB9Jqk

    28 条回复    2020-02-17 21:40:36 +08:00
    liprais
        1
    liprais  
       2020-02-15 20:57:36 +08:00 via iPhone   ❤️ 1
    头条那水平,还是快算了
    felix021
        2
    felix021  
    OP
       2020-02-15 21:19:42 +08:00
    @liprais 不好意思,我不太能理解你这个回复想表达什么意思。

    至于头条的水平,可以多说两句,抖音年初已经突破了 4 亿日活,在这个层面上,可以说和阿里腾讯没有太大差距,但是毕竟年轻,少了一些积累。

    而在招聘标准上,我感觉头条的要求确实高于腾讯阿里百度等。这个判断,一是我在百度实习过,也曾拿过腾讯的实习 offer 和阿里的正式 offer,二是在头条也筛了很多其他厂的简历、面了不少,由此做出的综合判断。

    此外,现阶段还在市面上疯狂招人的厂毕竟不多了,头条算一个,因为业务在高速增长,非常缺人,希望能通过这个分享找到更多潜在的候选人,也能提供一些建议。
    huntcool001
        3
    huntcool001  
       2020-02-15 21:42:43 +08:00
    还是开门见山好,一来就放出公众号链接~
    felix021
        4
    felix021  
    OP
       2020-02-15 22:02:11 +08:00
    @huntcool001 重点是文末的 JD 链接:D
    hologolang
        5
    hologolang  
       2020-02-15 22:06:49 +08:00
    卧槽 manacher's algorithm
    alphatoad
        6
    alphatoad  
       2020-02-15 22:16:39 +08:00
    北美应届生只问算法
    指望一个刚从 academia 出来的人掌握很多 industry related skills 是不现实的,我这么认为
    google54321
        7
    google54321  
       2020-02-15 22:17:27 +08:00
    头条还是不错的
    felix021
        8
    felix021  
    OP
       2020-02-15 22:36:24 +08:00
    @alphatoad 嗯,在具体面试中,对于没有实习经历的应届生,通常对工程经验要求会比较简单,但是对基础的掌握要求就会更高。
    felix021
        9
    felix021  
    OP
       2020-02-15 22:40:34 +08:00
    @hologolang 我也觉得面试的时候问这种题目不太合适,ACM 经历的一般我就问个 DP 了
    alphatoad
        10
    alphatoad  
       2020-02-15 22:41:12 +08:00
    @felix021 内推是直接用链接投吗?
    felix021
        11
    felix021  
    OP
       2020-02-15 22:45:36 +08:00   ❤️ 1
    @alphatoad 对,这就是我的内推链接
    alphatoad
        12
    alphatoad  
       2020-02-15 23:54:51 +08:00
    @felix021 已投 谢谢
    felix021
        13
    felix021  
    OP
       2020-02-16 01:50:46 +08:00
    @alphatoad 客气了,赚了你的简历推荐费 0.42 元,期待拿到 offer 早日入职啊 (入职奖才是大头)
    alphatoad
        14
    alphatoad  
       2020-02-16 03:15:39 +08:00 via iPhone
    @felix021 哪里哪里,早就听说字节 bar 高,想看看
    Procumbens
        15
    Procumbens  
       2020-02-16 03:23:48 +08:00
    15 分钟 LeetCode Medium 已经是北美大厂的要求了
    luckyrayyy
        16
    luckyrayyy  
       2020-02-16 03:42:53 +08:00 via iPhone
    15 分钟能给出完全正确的解嘛?经常被边界条件困扰的人表示很头疼……
    tyrantZhao
        17
    tyrantZhao  
       2020-02-16 09:19:27 +08:00
    能够 bug free,我觉得超级牛逼了,要不就是之前刷过,要不就是太聪明。字节这选人的方法真的迷
    felix021
        18
    felix021  
    OP
       2020-02-16 10:39:53 +08:00
    @luckyrayyy 可以有点小错,在提示下能够快速修复也算 OK
    felix021
        19
    felix021  
    OP
       2020-02-16 10:40:39 +08:00
    @tyrantZhao 同上。聪明和勤奋,总得占一样吧。
    felix021
        20
    felix021  
    OP
       2020-02-16 10:41:31 +08:00
    @alphatoad 简历过啦,等 HR 小姐姐联系安排面试,应该今天就会联系你。
    alphatoad
        21
    alphatoad  
       2020-02-16 14:54:32 +08:00 via iPhone
    @felix021 今天不是周日吗……?
    felix021
        22
    felix021  
    OP
       2020-02-16 16:41:30 +08:00
    @alphatoad 对,字节是大小周,这周周日是工作日
    tyrantZhao
        23
    tyrantZhao  
       2020-02-16 17:00:45 +08:00
    @felix021 聪明我知道,勤奋怎么理解呢?难道刷题才能体现勤奋吗?
    felix021
        24
    felix021  
    OP
       2020-02-16 17:04:38 +08:00
    @tyrantZhao 没有说刷题 [才] 能体现,但是刷了题确实可以体现。如果其他方面确实很突出,在这块是可以适当放宽。此外,有些题目并不是算法、数据库,完全考的是对代码的掌控力(例如 leetcode 110 ),这种题目如果也写不出来,那真的不是字节想要的程序员。
    mornlight
        25
    mornlight  
       2020-02-17 00:24:34 +08:00 via iPhone
    这种内推广告就挺好的,花了些心思和时间。
    头条工程师 OKR 里会有内推相关目标吗,感觉到哪里都能看到…
    felix021
        26
    felix021  
    OP
       2020-02-17 19:51:12 +08:00
    @mornlight okr 倒是没有,但实在是太缺人了
    mornlight
        27
    mornlight  
       2020-02-17 20:20:16 +08:00
    @felix021 #26 感觉你们现在 Java 需求比 Golang 多,Golang 选手不敢去了
    felix021
        28
    felix021  
    OP
       2020-02-17 21:40:36 +08:00
    @mornlight 怎么会,golang 是 大头,内部的 rpc 框架都是 go 的,你可以搜一下《今日头条 Go 建千亿级微服务的实践》
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1004 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:38 · PVG 05:38 · LAX 13:38 · JFK 16:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.