Note: This document is a work in progress. You can help improve it.
Technical interviews is a skill that requires practice. We have gathered some sample questions that we have heard are used or have been used by community members in hiring. These are not the only questions out there, but the types of questions that might be.
When using these questions try to avoid using
canned answers. Also, it's usually not about giving the correct answer, but more along the lines of giving a
good answer. A
good answer is an answer that shows the employers what you know, no more no less, and you can talk about technology and tech ideas. Its all about finding out what you know, what you don't know and how you work.
Tools and preferences on tech:
- What are your favorite tools? designing, prototyping, coding
- How do you keep up with tech?
- If you had to pick a new fresh (full or just front end) stack today, what would you pick? Why?
- What is the last thing you built? What was the last feature you added?
- What are your problem-solving steps?
- How do you solve a problem that you have already tried and failed to solve?
- What is your source control strategy?
- How would you validate your solution?
- How would you rapid prototype an idea?
- Someone found a bug in your code. How would you fix a bug in your code?
What are your thoughts on:
- What do you think the future of programming and the web is?
- What is your most controversial technical opinion?
- What 3 things do you look for in a company before you take the job?
- Google, Apple or Microsoft -- rank from most to least favorite. explain - that order
- What do you think the future of programming, design and the web is?
- What advice would you give to an entry-level dev?
- What book do you think everyone on the team should read?
- If you could master one technology this year, what would it be?
- How do you organize your code? (module pattern, classical inheritance?)
- What is your favorite feature in Internet Explorer?
- What is currently your favorite Github repo?
- Pretending I know nothing, Explain to me how does the internet work?
- What was the last new tech-related skill that you learned? Why? How?
- Explain to me how to use a seat belt.
- What do you do when someone disagrees with your idea?
Tech Specific Questions
These are a healthy mix of technical level questions, spanning from entry to senior. So you probably won't know all the answers. Moreover, that is okay. Use these as a guide to see what kinds of things software developers should expect to hear during interviews. When learning the answers, it's essential to not only know what is going on but also to create some code sample to explore the concepts.
For example, for
- Explain == vs. ===, create a small script that demonstrates to yourself, that you know they are mean, and not just pulling up textbook answers.
General Technical Knowledge
- What is your least/most favorite language that you use? Why?
- How would you improve (a technology you have used a lot)?
- Describe or give an example of asynchronous programming?
- What is your best definition of Object Oriented Programming? of Functional programming? Of Procedural Programming?
- What is a RESTful API?
- What is an idempotent operation?
- Tell me about your experience with testing?
- What is caching? What are some of your caching strategies?
- Have you ever encountered a scalability issue? How did you solve that?
- Compare and contract Inheritance and Composition?
- What is tail recursion? Why is it useful?
- Explain MVC vs. MVVM vs. MVP?
- How much do you know about concurrency and programming?
- What is the difference between a div and a span?
- What is your favorite HTML tag?
- What goes in the head of your HTML?
- What is
<!DOCTYPE html>do? Is it needed?
- What are the purpose of the meta tags in the head of an HTML file?
- What is the difference between an inline and a block element? Give an example of each.
- What is the purpose of alt text in an image tag?
- What heading types are supported in HTML?
- How do you create a link that opens in a new browser tab?
- What does it mean to write semantic HTML?
- What are the types of lists that are available in HTML?
- Semantically, what is the best way to set up navigation menu content?
- What is the basic structure of an HTML file?
- What is your working definition of the box model?
- What is Flexbox? Contract that to CSS Grid.
- What is your CSS framework of choice and why?
- Have you ever used a grid system, and if so, what do you prefer?
- What does specificity mean in the regards to CSS?
- What is the box model and what are its elements?
- When would you use a class selector and when would you use an id selector?
- How is z-index used?
- What is a pseudo-element?
- What is a pseudo-class?
- What are the three ways to add styles to an HTML file? Why would you use each of the three methods?
- Have you ever worked with a CSS library for styles or grids? How did you implement it and why did you use it? (Bootstrap, FontAwesome, Animate.css, Semantic UI, etc.)
- What are some default styles that come along with HTML? (Pick a tag and explain.)
- How do you make a website responsive with CSS?
- Compare and contrast CSS Grid, Flexbox, and Bootstrap.
- What is the difference between absolute and relative positioning?
- Explain == vs. ===, which one should you use?
- What is the difference between
var? Which one should you use?
- What is a ternary? What is short-circuiting?
- What is your JS Framework of choice and why?
- explain the arrow function vs. the function declaration
- Explain async/await
- What is an event? What events have you used, that is not
- Explain event delegation
- What is a closure, and how/why would you use one?
- What is the event loop?
- What is React?
- How would you set up a React app? (basic structure and boilerplate)
- What are the two types of components you can create in React? Why would you choose one over the other?
- What is the virtual DOM? Is it a good thing?
- What are hooks?
- What is JSX? Why can't the browser read JSX? How do you get it to read it?
- Explain props.
- Explain state.
- Compare and contrast a stateless component and a stateful component.
- Explain the component lifecycle.
- What is an event in React?
- What is redux and why would you use it?
- What are the four components of redux?
- What is React Router and when would you use it?
- Describe UI vs. UX
- Name 3 ways to decrease page load (perceived or actual load time).
- Material vs. Flat design
- What is A/B testing?
- How do you test your design?
- How do you create a color scheme?
- What is the best UX you have ever seen?
Back End (C#)
- What is .NET Core vs .NET Framework?
- What is static typing?
- What is LINQ?
- What is a ternary? What is short-circuiting?
- What is Dependency Injection? Why should you use it?
- Explain async/await
- Have you ever used Generics?
- What are Interfaces? Also, abstract classes?
- What are Extension methods?
- What are delegates? Funcs? Actions?
- Describe boxing and unboxing. Provide an example.
- Explain Foreign Keys
- What are Joins?
- What is a transactional query and when would I use it?
- Compare and contrast Relational and NoSQL and give use cases for both
- Ever used NoSQL database?
- Any sharding experience?
- What exposure have you had with PaaS (Azure, AWS, Google Apps)?
- What is docker?
- What is kubernetes?
- Have you ever used a CI server?
- Talk to me about Horizontal vs. Vertical Scaling solutions
- What is Blue-green deployment?