📍 Interview Guide for Developers
‣
How to ace your interview
- Tell a story. Concentrate on delivering a concise and engaging story of your past experience. Read the room if you’re going on too long.
- Focus on challenges. When describing your past work, bring up the challenges you faced and decisions you made to resolve them. This is the stuff interviewers want to hear about.
- Not sure? Think — then talk it out. If you're faced with a difficult question, take a moment to think, and then share your thought process. Interviewers are far more interested in your ability to think critically than getting a correct solution right away.
- Words first, action second. Before coding your solution to a coding challenge, state your approach out loud. That’ll show the interviewer you think before you act, which may help you catch edge cases. Never start coding before planning out your approach. Take your time, use pencil and paper, and ask the interviewer questions about edge cases. They’ll appreciate it.
- "I don't know" is a valid answer. If you don't really know how to answer a question, don't try to guess. Better to be honest — and move on to questions you feel more comfortable answering.
‣
Sample questions for practice
Practice answering these real questions from past mission interviews with developers:
‣
- What was the most challenging thing to implement in your last product?
- What’s your favorite part of development?
- How do you approach a new feature?
- Tell us about an initiative you took on that wasn’t mandated to you, but something you independently chose to spearhead.
- Give an example of a project you worked on with other people. What did the division of labor look like?
- Have you ever had a hard time explaining something to a teammate? How did you go about it? What was the outcome?
‣
‣
- What are common performance issues in React applications?
- How the UI was implemented?
- What are some important points when creating a reusable component in React?
- What are some techniques to optimize the performance of React applications?
- What is the virtual DOM in React?
- When would you use a state management tool (i.e Redux/Mobx/Context)? When wouldn’t you?
- What is hoisting in Javascript? How does it behave for var, let, and const?
- How would you handle asynchronous calls in React? How would you handle errors?
- How does React's virtual DOM work, and how does it improve performance?
‣
- Flatten a JS object like { country: "US", location: { city: "Logan", state: "Utah" } } → { country: "US", "location.city": "Logan", "location.state": "Utah" }.
- How would you explain the benefits of using a ReactJS over vanilla JavaScript to a non-engineer?
- Implement the Promise class from scratch.
This shows how comfortable you are with the JS language and recursion.
This shows XXX
Way trickier than it looks.
‣
- Tell me an example of where functional and iterative approaches differ. Explain the differences and the pros of each approach.
- Differentiate between throttling and debouncing.
- Declarative vs Imperative — which one is better and why?
‣
- Can you describe a product you worked on that you’re proud of?
- Why did you make the choices you made?
- Which tools or third party packages were used and why? How did you choose them?
- How was state management implemented?
- What challenges were presented during development? How did you solve them?
‣
Best questions to ask your interviewer
Always prepare questions for the end of the interview. The interviewer can learn a lot from what questions you choose to ask. Take a look at our best questions to ask your interviewer:
- What phase of development is the product in?
- What’s the biggest challenge with your product?
- What keeps you up at night?