# 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?