Giter VIP home page Giter VIP logo

interview's Introduction

Take-home interview assignment

This is the home for CloudPilot AI take-home interview assignment. Each subfolder contains an individual assignment. During our interview process, we will give candidate 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.

Generally, we evaluate candidates based on the following skills:

  1. Learning ability.
  2. Depth of thinking on single-point issues.
  3. Depth of thinking on comprehensive architecture.
  4. Hands-on ability.
  5. Imagination and the ability to integrate online resources with your own thinking to design new things.

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 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 CloudPilot AI, to de/refine the problem, own the solution, deliver enlightenment.

Why we open source

  1. The main CloudPilot AI codebase is also open source. We believe in building in the public.
  2. Design good take-home assignments is no easy task. Open sourcing our assignments gives more chance for improvements.
  3. 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: Email us at [email protected] with your resume/portfolio/blog etc... (anything you feel proud)

Reference

Credits to Bytebase Interview Process

interview's People

Contributors

jwcesign avatar francis-jjk avatar ellioben avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.