π Mock interview questions for junior developers
I sometimes run mock interviews for junior developers and here are some of the questions I ask. Some of these questions are more advanced than a junior level but I think it's always good to be exposed to unknown terms & concepts, even if it's to simply get comfortable with saying "I don't know" :).
They may not be asked in a real interview and may not be expected of you as a junior/grad but:
- We never know.
- The more you know, the better! :)
Some of these questions link to a README with an explanation.
I'll keep updating this list as I learn more myself and feel free to contribute and add extra questions by submitting a pull request. See the CONTRIBUTING guide for more detailed information.
π General
- What do you like about programming? (Passion indicator)
- Could you explain the concept of microservices?
- How do you go about learning something new?
- How do you stay up to date with technology and programming? (Interviewer wants to be comfortable that your skillset will continue to stay current in regards to the role. Do answer honestly including sources like blogs, forums, books or courses.)
- How do you feel about testing?
- Can you cite different types of testing.
- What is the next thing you'd like to learn?
- What have you built that you are most proud of? (Interviewer is looking to hear about your passion for programming and give you a chance to talk about specific technologies or methodologies you've used recently)
- Can you explain what it means when a framework uses a
convention over configuration
approach? - What is functional programming?
- What is object-oriented programming?
- What are two programming languages you know well? How are they similar? How are they different? What are some examples of times you would use each of them over the other? (Interviewer wants to know if you understand programming languages at a deep level, and if you are thoughtful about your choice of tools)
- (Roleplay) You've come across an error that doesn't have an obvious solution while writing a program, explain what steps you would take in trying to resolve it. (Interviewer wants to get an understanding of your problem solving approach, try to give more details than "google it" or "ask for help")
- Describe the agile approach to software development.
- What is the difference between function declaration and function definition ?
π¨ Front-end
- What is CSS specificity?
- Are you familiar with CSS modules?
- What is your favorite React.js feature and why?
- What is graceful degradation and progressive enhancement?
- What is your favorite front-end framework and why?
- Can you explain one new feature in ES6?
- Give me 3 ways to optimise the loading performance of a website.
- Can you explain how you organise your CSS for responsiveness?
- What is tree shaking?
- What is hoisting?
- Can you cite at least one way to improve a website for accessibility?
- Can you explain event delegation in JavaScript?
- Can you explain how the event loop works?
- What is the difference between == and === in JavaScript?
- What do people mean when they talk about Single Page Applications (SPAs)? And what are the benefits/downsides of this approach?
- What is the purpose of using a templating language like HAML?
- What is closure in JavaScript and what is its use ?
- What is the difference between
.map
and.forEach
? - Does JS pass by value or by reference?
- How do you create a DOM element in vanilla JS?
- Difference between GET and POST?
- Difference between inline, inline-block, block elements?
- What is the data structure of the DOM?
π© Back-end
- What is the difference between a document store and a relational database?
- What is the MVC (Model-View-Controller) architectural pattern?
- What is CORS (Cross-Origin Resource Sharing) and what is responsible for?
- What is a 500 HTTP error and what does it mean?
- What is the difference between
PUT
andPOST
on a REST interface? - What is the fastest way to iterate?
- What is premature optimization?
- How do you personally debug backend code?
β Good questions to ask
- What does a typical work week look like? (Gives you a quick sense of what to expect in terms of pace and responsibility)
- Will I have the opportunity for pair programming and working with seniors? If so, how often can I expect it?
- How long / time frame do you see me getting up to speed with your current codebase & workflow ?
- In your view, what would you consider as a successful new hire ?
- What ways would I be expected to contribute after 3 months / 6 months / 12 months ?
- (If not specified) What technology stack does this product use? (or at an agency, what tehcnology stacks are favoured)
- How often are deployments made to production? (This will give you a sense of how fast-moving the team is)
- Is there an allocated budget for learning materials or attending conferences? (Shows company priorities and employee value)
- Is there a formal performance review process and how often does it happen?
- Do we have monthly / weekly catchups? (If no catchups, suggest if you could have regular catch ups)
- How do you deal with "that person", the one you don't get along with?
See more here!
βοΈ General Techniques
- If you find yourself getting lost during coding exercises, try splitting your solution into two parts: Sketch out the solution in any way that makes sense to you (e.g. pseudo-code or natural language), then code that solution. This technique can let you focus on solving separately from coding and spread out the cognitive load.
π Practice
- Exercism
- CodeWars
- Project Euler
- CodeKata
- HackerRank
- CoderByte: Challenges
- RosettaCode
- FreeCodeCamp
- HackerEarth
- TopCoder
- LeetCode
- CodeChef
- IDeserve
- Google CodeJam
- CodeGolf
- IDeserve
- Rosalind
- Quizful
π Additional resources
Some other repositories can be found with interview questions:
- HTML5 Boilerplate: Front-end Developer Interview Questions
- Maxim Abramchuck: Awesome Interview Questions
- VVSCode: JS Interview Questions
- Yangshun: Front-end Interview Handbook
- Yangshun: Tech Interview Handbook
- Arialdo Martini: Back-end Developer Interview Questions
- Khan4019: Front-end Interview Questions
- JavaScript Scene: 10 Interview Questions Every JavaScript Developer Should Know
- Wwwebman: Front-end Interview Questions
- Kennymkchan: Interview Questions in JavaScript
- That JS Dude: Interview
- Interview Cake: JavaScript Interview Questions
- Perfection Kills: ES6 Quiz
- David Shariff: Quiz
- David Shariff: JS Quiz
- O2JS: JavaScript Interview Questions
- HackerRank: Cracking the Code Interview
- W3 Resource: JavaScript Exercises
- Jwasham: Coding Interview University