Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bytebase/interview

Take-home interview assignment used in our interview process
https://github.com/bytebase/interview

interview interview-questions

Last synced: 14 days ago
JSON representation

Take-home interview assignment used in our interview process

Awesome Lists containing this project

README

        

# Take-home interview assignment

This is the home for [Bytebase](https://bytebase.com) take-home interview assignment. Each subfolder contains an individual assignment. During our interview process, we will give candidate one of these assignments and let her/him work on it for a week offline. Our followup technical interview will discuss the various aspects about the solution the candidate built.

# Why we choose this approach

We have conducted hundreds of technical interviews in our career, mostly in the form of whiteboard live coding. While we acknowledge the merits of live coding interview (we do find some candidates with principal eng title from BigCo can't pass trivial coding test), it has huge limitation. In particular, the skill the live coding evaluates is distantly far from the skill required in the daily work.

> **Whiteboard live coding requires to solve a very specific problem in a very constrained timeframe without external resources. It looks for very specific coding problem solving skill under intensive pressure.**.

One would argue that's the trait separating the best from the good. Probably true for drafting people for coding competitions, not so much for assembling a team to build a product. Think about how we build a feature normally, we research the domain from the open web, learn our competitors, discuss with our peers, design the UX and interaction, write code, release and refine. Coding is just part of the process, and most likely we would never encounter any coding question in our work (have you ever written dynamic programming algorithm besides interview?). Even encountered, those arcane coding questions are just one [stackoverflow](stackoverflow.com) away.

> **Daily work requires solving a semi-specific problem in a semi-constrained timeframe with abundant external resources. It looks for general product/engineering problem solving skill under an open-ended environment**.

Most problems do have a defined domain, but there remains many uncertainties, and some of those revealation may totally change the scope. We do have a deadline, but at least it's in days instead of in minutes. And more importantly, we are solving together with the open web, the people around us.

In whiteboard live coding, both the problem and solution are already pre-determinted. While in take-home assignment, we only define a broad scope and some requirements, it's up to the candidate to craft the solution. That's what we expect for peers at Bytebase, to de/refine the problem, own the solution, deliver enlightenment.

# Why we open source

1. The [main Bytebase codebase](https://github.com/bytebase/bytebase) is also open source. We believe in building in the public.
1. Design good take-home assignments is no easy task. Open sourcing our assignments gives more chance for improvements.
1. It's convenient for our candidate to checkout the problem.

# FAQ

_Q: Are you worrying about candidate preparing the problem in advance to gain an edge?_

A: Not at all. One can only prepare for couple weeks, but we are evaluating candidate's years of accumulation.

_Q: I have new ideas, suggestions._

A: Opening new issue, creating PR. We will respond in a timely fashion. Thanks in advance.

_Q: I want to apply._

A: Checkout https://bytebase.com/jobs and mail us at [email protected] with your resume/portfolio/blog etc... (anything you feel proud)