写点什么

Reddit 是如何面试工程师的

  • 2017-08-21
  • 本文字数:1452 字

    阅读完需:约 5 分钟

在 Reddit 负责招聘的 Elena Sparger 在官方博客上介绍了 Reddit 的技术招聘流程,并给出了一些有益的建议。

Reddit 的招聘流程其实没有那么复杂,从简历筛选到入职一共也就五个步骤:筛选简历、技术电面、现场面试、发录用通知书、入职报到。

技术电面

在简历通过筛选之后,就开始技术电面。电面只是作为一般性的能力测评,考察候选人的基本技术能力,比如对 Web 和 Web 安全问题的了解。这一轮的面试带有“半 QA 半 Dev”的风格,你可能不会知道每一个问题的答案,不过没有关系。这轮面试的目的是划清候选人的技术知识边界,看看他们是否与职位要求的技能相匹配。候选人在回答问题时最好可以解释一下自己是如何知道这个答案的,以及为什么要选择这个答案。

贴士:在接受电话面试的时候,最好先准备好一台已经联网的电脑,并保持手机信号畅通。

现场面试

Reddit 的现场面试分为六轮,其中三轮与开发技术相关,三轮与 QA 相关,整个过程可能持续五个小时左右。

现场面试会被安排在一个房间里进行,里面有一个白板,在面试过程中可以使用这个白板。候选人可以带自己的电脑来,也可以使用 Reddit 提供的电脑。之所以需要一台电脑,是因为 Reddit 想看到候选人真正的编码能力。Reddit 在着装要求上没有硬性规定,所以候选人可以穿自己觉得舒服的衣服前往面试。

现场技术面试

现场技术面试主要涉及以下两个方面的内容。

  • 代码和算法。这一部分主要考察候选人的一般性软件工程概念和专业领域的知识(比如前端、后端、机器学习,等等)。
  • 系统设计。这一部分不涉及代码,主要是系统设计方面的问题。比如“如何构建具有 X 功能的服务”或者“如何对已有的服务进行伸缩”。这个时候可以利用房间里的白板与面试官展开讨论。

在回答技术问题的同时,不要忽略了与面试官之间交流的重要性。面试的目的并不完全是考擦候选人是否知道问题的答案,同时也会考察候选人的团队协作能力。人不是万能的,如果候选人不知道如何回答一个问题,可以适当地求助面试官。

  • 仔细听取面试官的意见。有些问题面试官已经问过别人几百遍了,他们可能知道很多解决方案。
  • 对于给出的解决方案,总结其优缺点。产生想法比是否能够真正实现更加重要。
  • 欲速则不达。不要急着写代码,先把问题想清楚了再动手。

现场 QA 面试

相比技术面试,QA 面试会相对轻松一些,而且通常是由其他团队的人来主导面试,旨在考察候选人技术之外的能力。

  • 候选人 AMA(Ask Me Anything)。面试官可能会问候选人任何问题,旨在更好地了解候选人。候选人也可以问 Reddit 任何问题,加深对 Reddit 的了解。

贴士:准备好与公司有关的问题,比如文化、规章制度、日常生活,等等。

  • 跨职能面试。这一部分主要考察候选人的跨团队职能工作能力。除非候选人是面试基础设施团队,否则大部分情况下都需要与产品团队打交道。候选人需要具备良好的沟通能力和解决冲突的能力。主导这一部分面试的可能会是 Reddit 的某个产品经理,候选人可以抓住这个机会向面试官提问有关 Reddit 产品线的问题。

贴士:可以事先准备一些曾经经历过的场景,那些有助于展示候选人沟通能力的事情。

  • 招聘经理面试。到了这一轮,表示面试已经接近尾声了。招聘经理从更高的层次以及候选人所经历过的项目来评估候选人与职位的匹配情况。此时,候选人可以问一些有关 Reddit 项目的情况、公司的架构,以及团队的路线图。

面试过后

面试过后就是等待,一周内会出结果。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-08-21 19:003170
用户头像

发布了 322 篇内容, 共 159.0 次阅读, 收获喜欢 148 次。

关注

评论

发布
暂无评论
发现更多内容

​区块链技术的重要性

CECBC

重学 Java 设计模式:实战访问者模式「模拟家长与校长,对学生和老师的不同视角信息的访问场景」

小傅哥

设计模式 小傅哥 重构 代码优化 访问者模式

Linux 进程必知必会

苹果看辽宁体育

Linux 操作系统

一文看懂 OAuth2

Geek_z9ygea

Java 大前端 Web oauth2.0

开发者必备——IDEA配置清单

Noneplus

配置 IDEA

还在划水?这个SQL你能写出来吗?

书旅

php MySQL SQL语法 sql查询

性能碾压 POI !利用模板语法快速生成 Excel 报表

葡萄城技术团队

表格控件 GCExcel 服务器端开发

工厂方法模式

Leetao

Python 设计模式 工厂方法模式

30 张图带你分分钟看懂进程和线程基础知识全家桶

爱嘤嘤嘤斯坦

Java 线程 进程 进程线程区别

Java集合总结,从源码到并发一路狂飙

给你买橘子

Java 编程 算法 集合

推荐一款Python开源库,技术人必备的造数据神器!

狂师

Python 开源 自动化 开发工具 开发数据

Python中的@staticmethod和@classmethod的区别

BigYoung

Python classmethod staticmethod

一些思考

张健

SpringBoot入门:00 - 初始化项目

封不羁

Spring Boot java 14

浅析 VO、DTO、DO、PO 的概念、区别和用处!

Java小咖秀

学习 设计模式 模型 经验分享

关于计划的思考

zhongzhq

图片处理不用愁,给你十个小帮手

阿宝哥

Java 开源 大前端 工具 图片

JVM中栈的frames详解

程序那些事

JVM 堆栈 性能调优 JIT GC

Redis进阶篇三——主从复制

多选参数

redis redis高可用 redis6.0.0 Redis项目

字节跳动面试经验分享,已拿 Offer!

伍陆柒

Java 面试 大厂

漫画 | 架构设计中的那些事

码农神说

架构设计 架构师 漫画编程

信创舆情一线--《关键信息基础设施安全保护条例》纳入2020年立法计划

统小信uos

信息安全

Tomcat8.5源码构建

知春秋

tomcat tomcat构建 tomcat源码解读 tomcat剖析

不是完成你学习的 KPI ,而是要形成指导你行动的 OKR

非著名程序员

学习 程序员 提升认知 知识管理

Node.js与二进制数据流

自然醒

Java node.js 大前端 二进制

带你解析MySQL binlog

Simon

MySQL Binlog

mac vmware centos7 设置静态IP

愤毛阿青

network vmware Centos 7

Python类中的__new__和__init__的区别

BigYoung

Python __init__ __new__

Rust是如何保障内存安全的

博文视点Broadview

读书笔记 rust

猿灯塔:spring Boot Starter开发及源码刨析(二)

猿灯塔

Java 猿灯塔 源码刨析

数据结构与算法知识点总结

烟雨濛濛

Reddit是如何面试工程师的_语言 & 开发_薛命灯_InfoQ精选文章