Software Craftsperson - ROR
Interview Date
April 2025
Result
Not Specified
Difficulty
Medium-Hard
Rounds
4 rounds
Drive Type
Full-Time
Topics asked
Detailed experience
College: Not Specified
Interview Date: April 2025
Interview Type: Full-Time
Result: Not Specified
Difficulty: Medium-Hard
Rounds: 4 rounds
Topics Asked: Test-Driven Development (TDD), Clean Code, Ruby on Rails, Database Indexing, Request Optimization, Production Bug Resolution, SOLID Principles, Webpage Performance, Pair Programming, GraphQL vs. REST APIs, Polymorphic Associations
This candidate, a software developer with 2+ years of experience, applied for a Software Craftsperson (Ruby on Rails) role.
Round 0: Short Assignment. The task was to develop a "String Calculator TDD Kata". The candidate focused on understanding the TDD approach, creating a GitHub repository with small, frequent commits, and optimizing the code with passing test cases.
Round 0.5: Phone Screening. This was a call with the People Success Team to assess the candidate's understanding of the role and initial qualifications. Prerequisites for the subsequent technical round included having an IDE set up on the laptop, the short assessment ready on screen, and a stable Wi-Fi connection with the video turned on.
Round 1: Technical Round (1 hour). The interview began with a friendly chat and introductions. The interviewer then delved into the candidate's resume and past projects, asking questions specifically related to Ruby on Rails, such as how feedback loops were implemented/designed and details about recent projects. Further technical questions covered database indexing and their differences, approaches to optimizing requests, strategies for resolving production bugs and preventing their recurrence, defining clean code (with the candidate suggesting SOLID principles), and diagnosing slow webpage loading times (distinguishing between API response issues and other factors). Following this, the candidate was asked to share their screen and implement a further task within the "String Calculator" assignment. Although the candidate coded a solution using TDD, they struggled with optimizing the code. This led to a pair programming session where the interviewer guided the candidate through line-by-line changes. The result for this round was communicated within 3 hours.
Round 2: Craft Round (1 hour). This round also started with introductions and a discussion about the candidate's recent project, specifically a remediation feature built using both GraphQL (legacy) and REST APIs (v2). This discussion naturally led to a comparison between GraphQL and REST APIs, where the candidate found it challenging to strongly defend REST as superior. The conversation then moved to Polymorphic Associations, with the interviewer asking for a brief explanation, usage examples, and follow-up questions.