Objective: This assessment is designed to evaluate your capabilities in front-end and back-end development and to prepare you for a live system design interview.
Part 1: Coding Challenge - Build a Simplified Code Collaboration Tool
Overview:
Develop a basic version of a code collaboration tool similar to sharepad.io
. This exercise focuses on integrating simple front-end and back-end functionalities without real-time collaboration features. You are allowed to use open-source libraries to complete this test :)
Requirements:
-
Code Editor:
- Implement a simple code editor for writing and editing code. Syntax highlighting is optional but recommended.
-
Compilation and Execution:
- Enable the application to compile and run code, supporting at least one programming language (e.g., Python or JavaScript).
-
Output Window:
- Show compilation errors or statuses and display outputs from code execution, including any runtime errors.
Time Frame: You will have one week to complete this assignment, but it is expected that you spend no more than 5 hours on the actual coding portion of the task.
Part 2: System Design Interview Preparation
Overview: You will participate in a live system design interview, where you will be asked to design a large-scale distributed system with a web front-end capable of managing substantial user traffic.
Preparation Tips:
-
Understand Basic Components:
- Familiarize yourself with key system design elements.
-
Scalability and Reliability:
- Consider how systems scale and various strategies to handle load increases.
-
High-Level Architecture:
- Be prepared to discuss the high-level architecture of complex system. Be able to explain your choices and alternatives.
-
Problem Solving:
- Practice structuring your thoughts and solutions clearly and logically. Be ready to discuss trade-offs and justify your design decisions during the interview.
Submission Guidelines:
- Submit your code for Part 1 via a GitHub repository link, including a README with setup and operation instructions.
Evaluation Criteria:
- Code clarity, organization, and quality.
- Functionality and correctness of implemented features.
This assessment reflects the kinds of challenges you might face as a full stack developer at Vention and helps prepare you for the technical discussions in your upcoming live interview. Good luck!