# Caseflow Software Engineer Interview Questions ## Introduction * Go over interview format * Ask what they already know about the project * Tell candidate a bit more about the project (size, scope etc.) * Give candidate opportunity to introduce themself * How did they hear about the position/what made them interested? ## Technical Experience ### Languages/Frameworks * Tell me a little bit about your overall knowledge in software development (most experienced languages/frameworks)? * Ruby on Rails * explain OOP * differences between OOP & Functional programming * Javascript * React * explain aspects if applicable * Why React? * Benefits of component based architecture * Hooks * Redux * explain aspects if applicable * Actions, Reducers, Store * Immutability * Git, Github * Additional questions for Senior candidates * Third party integrations (servers, containers) * Development pipeline (CI/CD, jenkins etc.) * Using DataDog, New Relic, Metabase, Sentry * If asked, are you comfortable learning new frameworks? ### Tests * Would you consider test writing an important aspect of development (if so why)? * Tell me about your experience with test writing * RSpec * Jest * TDD * Unit * Integration * Functional * End-to-end testing ### Agile * Tell me about your experience developing in an agile environment * What do you like/not like about it? ## Professional Experience * Tell me about the most recent project you've worked on * What did you like about it? * What didn't you like about it? * What was the most challenging aspect? * What was the development lifecycle that was used (ticket breakdown/estimation, code reviews, integration software etc.)? * What types of things do you look for when reviewing others code? * Tell me about a specific software problem you've encountered and how you dealt with it (new feature, production incident etc.)? ## Culture Fit Questions * As an engineer, what would you say you bring to a team? * Describe your ideal team environment? * How do you deal with taking criticism? * We're remote working so communication is very important to our team. Do you find that you have a good ability to communicate with your peers in an open and productive way? ## Interviewee questions * What questions do you have about the project?