<aside> 💡 This is a template for a technical live interview.

📖 Read more about how to create a Job Kit with the CTO of Plaid & CPO of Segment! 💼 Technical take-home assessment template ℹ️ Create a more real-world and efficient interview process with Hatchways

</aside>

Intro

This question is designed to let a full-stack or backend engineer quickly write some working code. From there, depending on their area of expertise, there are a number of further challenges that would allow you to go deeper into an area of their strength.

Problem Statement

We'd like to build a simple chat application today, with both a client and a server. You can use the frontend and backend language of your choice. Our first goal is to get an MVP running as quickly as possible using. From there, we'll hopefully have enough time to start digging deeper into a few more challenges.

Feel free to use any language of your choice and ask as many questions as you'd like. I'll be pair programming with you — you can think of me as another engineer on the team who is happy to give opinions/thoughts/guidance. You're also welcome to use Google or other tools you'd normally use — obviously, use your judgment and don't Google things like "how to solve chat/server interview question".

We'd like for you to talk through things as you solve the problem. This is important to us as it helps us a ton to understand your thinking and how you'd communicate with a coworker on the job. We want to understand your processes for debugging, problem solving, asking for help, etc.!

What happens next?

Timing: The first working version of the chat client/server should be completed within 30 minutes. Once the MVP is done, encourage them to test it as if they were about to send a PR. Have them spend another 10-15 minutes getting the code tested.

From there, ask them which direction they'd like to take things deeper. The typical directions are:

Skills

Refer back to this rubric when evaluating a candidate to help determine if the signals gathered from the interview match your job requirements.

Correctness


Comfort with tools


Clarity and Simplicity