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.
- 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.)
- Can you site 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?
- (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 CSS specificity?
- Are you familiar with CSS modules?
- What is your favorite React.js feature and why?
- What is graceful degradation and prograssive 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 site 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 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 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)
Some other repositories can be found with interview questions: