程序员面试指北:面试官视角 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
felix021
V2EX    推广

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

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

    公众号原文: 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
    F281M6Dh8DXpD1g2
        1
    F281M6Dh8DXpD1g2  
       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 分钟能给出完全正确的解嘛?经常被边界条件困扰的人表示很头疼……
    geminikingfall
        17
    geminikingfall  
       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 对,字节是大小周,这周周日是工作日
    geminikingfall
        23
    geminikingfall  
       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     Solana     3270 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 11:33 PVG 19:33 LAX 04:33 JFK 07:33
    Do have faith in what you're doing.
    ubao 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