
Derived from 1 submission for ALL. Format details may vary across different teams or locations.
{"overview": "Sensibull\u2019s hiring process for engineering roles emphasizes a strong foundation in system design, database queries, and real-world problem-solving. Candidates are expected to demonstrate depth in backend development, including API design, infrastructure management, and scalability considerations. The process is rigorous, with a focus on hands-on assignments and technical rounds that test both theoretical knowledge and practical implementation.", "by_role": {"SDE-2": "# Sensibull - SDE-2 Interview Briefing\n\n## Overview\nThe SDE-2 role at Sensibull targets mid-level engineers with 3-5 years of experience, focusing on backend development and system design. The process evaluates candidates' ability to handle complex assignments, design scalable systems, and demonstrate expertise in databases, APIs, and infrastructure.\n\n## Round Breakdown\n\n### Round 1: Technical Round\nFocus Areas:\n- Background and experience\n- Database knowledge (SQL, schema design, and query optimization)\n- System design and scalability\n- Tech stack familiarity (Go, frameworks, and tools)\n\nKey Questions Asked:\n1. Current Background and Experience:\n - Detailed discussion about the candidate's current role, responsibilities, and technologies used.\n\n2. Database Knowledge:\n - Self-Join Query: Candidate was asked to write and optimize a query involving a self-join.\n\n3. API Design:\n - Design an API for adding or managing user credentials.\n - Discuss complexities like concurrency control, versioning (at DB or row locks), and Redis locks at the user level.\n\n4. Infrastructure and Scaling:\n - Questions about infrastructure management (e.g., Terraform).\n - Who manages the infrastructure, and how scaling is handled.\n\n5. Tech Stack:\n - Deep dive into the Go language, frameworks used, and their role in the candidate's current projects.\n\n6. Notification System:\n - Design and implementation of a notification system.\n - Discussion on priority handling, channels (e.g., email, SMS), and fanning out notifications.\n\n### Round 2: Technical Assignment\nFocus Areas:\n- Implementation of advanced features like WebSockets and schedulers.\n- Problem-solving in a real-world scenario.\n\nKey Questions Asked:\n1. Complex Assignment:\n - A hands-on assignment involving WebSockets and scheduler implementations.\n - Candidates were expected to design and code a solution that addresses real-time communication and task scheduling.\n\n## Feedback Summary\n- The candidate was rejected after the second round due to the assignment not meeting the expectations. This highlights Sensibull\u2019s emphasis on practical implementation and problem-solving skills in their evaluation process."}}
The candidate was rejected after the second round due to the assignment not meeting the expectations.
The first round focused on the candidate's background, database knowledge, and system design. The candidate was asked about their current role, a query involving a self-join, and an API design problem involving credentials, concurrency, and versioning. They were also questioned about the infrastructure used (Terraform), who manages it, scaling, the tech stack (Go language, framework), and the notification system, including priority, channels, and fanning out.
Current background and database knowledge
A query involving self-join on the table
API design problem involving adding or using credentials for a user, including complexities in concurrency, versioning at DB or row locks, or Redis lock at user level
Infrastructure used (Terraform), who manages it, scaling
Tech stack: Go language, framework
Notification system, priority, channels, fanning out
The second round involved a complex assignment focused on websockets, scheduler, and other advanced topics.
A very complex assignment involving websockets, scheduler, etc.