Gearing up for interviews? This repository aims to hold all the resources needed to crush your next interview!
At the time of creating this guide, I am a current student in the Front End program at the Turing School of Software and Design. In an effort to prepare for my first software job search, I've decided to make one giant resource for myself to get ready.
While this resource will constantly be expanding over the next couple of months, feel free to fork it and use it for your own upcoming interview prep, or Click ⭐ if you like the project!
- Behavioral Questions
- Technical Questions
- Front-end Specific Technical Questions
- Technical Challenges
- Coding Challenge Resources
- Algorithm Resources
- Big O Resources
- Future Goals
- Helpful Guides and Books
- Created By
- Resources
Many companies want to get to know YOU. Make sure that your answers reflect who you are as a person. If you are a career changer, sometimes it can help to share why you've made the switch to this new industry!
- Tell me about yourself
- This'll be your elevator pitch!
- What are your weaknesses? What are your strengths?
- For both of these, make sure to highlight how you work to overcome your weakness, or how your strength can play a part in the organization!
- Why do you want to be a software developer?
- Tell me about a challenging interaction with a teammate
- Tell me about a project you've completed that you're proud of
- Tell me about a problem you faced and how you solved it
- Tell me about a time you were under pressure- how did you handle it?
- What motivates you?
- What is the most helpful feedback you've ever received about yourself?
- Why should we hire you?
- How do you stay organized?
- Describe a time when you made a suggestion to improve something on a project that you were working on
- Give me an example of the project or initiative that you started on your own
- Describe a situation in which you met a major obstacle in order to complete a project. How did you deal with it?
- Has there been a time on a project when you disagreed with someone? What did you do about it?
- Describe a circumstance when you were not able to achieve a project goal that was set by your team. How did you work around that?
- Describe a situation in which you experienced difficulty in getting others to accept your ideas? What was your approach?
- How do you plan out a project?
- Tell me about a time when you worked with someone who was not completing his or her share of the work. How did you handle the situation?
- Describe a situation where you had to work in a team that didn’t get on very well. What happened? What did you do and what role did you take? How did the situation evolve?
- Describe a situation when you worked effectively under pressure
- Tell me how you solve a problem
- What is your approach to working on a team?
- What is something that your hobbies or interests tell me about you that your resume cannot?
- Sometimes it’s just not possible to get everything on your to-do list done. Tell me about a time your responsibilities got a little overwhelming. What did you do?
- Describe a time when you saw some problem and took the initiative to correct it rather than waiting for someone else to do it
- Tell me about a time you needed to get information from someone who wasn’t very responsive. What did you do?
- Imagine you're tasked with organizing a team bonding offsite activity. Some teammates have expressed concerns about the selected activity not being inclusive enough. What kind of actions can you take to ensure that every member of the team feels included, and how can you follow up with your teammates who have expressed concerns?
- How do you organize your workflow to complete web development projects?
- What makes Git advantageous (or any version control alternative )in web development applications?
- Tell me about (framework on your resume). Describe it to me like I am a new developer and I am interested in learning more about the technology.
- What is the importance of testing your code? Why do you value testing your code?
- Tell me about JSON format
- What is an API call? Why would we want to use an API?
Since I'm currently enrolled in a front-end program, I'll have a section dedicated to front-end specific technical questions. If you want to see more general technical questions, check out the Technical Questions section of the guide.
- What is OOP (object oriented programming)?
- What actions have you personally taken on recent projects to increase maintainability of your code?
- Which version control systems are you familiar with?
- What is an HTTP request?
- What is the lifecycle of an HTTP request?
- Can you describe your workflow when you create a web page?
- Explain what ARIA and screenreaders are, and how to make a website accessible.
- What resources do you use to learn about the latest in front end development and design?
- Why is testing important? What is TDD?
- What is a bundler?
- Tell me about the HTTP request methods
- What is the 'this' keyword in JavaScript?
- What is the difference between 'let', 'const', and 'var'?
- What is the difference between '==' and '==='?
- Can you explain what localStorage is? How do you access it?
- What are the data types in JavaScript?
- What are the different types of scope in JavaScript?
- What does HTML stand for?
- What is an HTML element? What is an HTML tag?
- What is semantic HTML? What are some examples of semantic elements?
- What are different types of lists in HTML?
- What is the difference between "class" and "id" attributes of HTML elements?
- Describe a basic HTML layout structure
- How do you handle events in HTML?
- What is the difference between a tag and an attribute?
- What is the difference between an inline and block element?
- What is flexbox?
- How would you center an object on a page?
- What does CSS stand for?
- What is Sass?
- Why is Sass useful?
- How does Sass get rendered to a webpage?
- What is React?
- Why would you use React over vanilla JS/HTML/CSS?
- What is JSX?
- What is a component? Tell me about the different types of components. When would you use one over the other?
- What is State?
- What are props?
- Why should we not update state directly?
- How do we bind methods or event handlers in JSX callbacks?
- What is the Virtual DOM?
- What does "Data down, action up" mean?
- What is a fragment?
Here are some short, simple technical challenges to get started. Consider talking through how you would approach these problems, and then try them for yourself in your console (you'll need to write test cases).
- Is Unique Implement an algorithm to determine if a string has all unique characters.
- URLify Write a method to replace all spaces in a string with "%20".
- Is Prime Write a method to determine if an int
n
is a Prime number. - There are
n
kids with candies. You are given an integer array candies, where eachcandies[i]
represents the number of candies theith
kid has, and an integerextraCandies
, denoting the number of extra candies that you have. Return a boolean array result of lengthn
, whereresult[i]
is true if, after giving theith
kid all theextraCandies
, they will have the greatest number of candies among all the kids, or false otherwise. - Given an array of integers
nums
and an integertarget
, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order.
There are plenty of coding challenge resources on the web that will help you work through problems that you might see in a technical interview challenge. Here are just a few!
- Leetcode
- Many interviews will have "leetcode-esque" type questions. It could be helpful to get used to seeing problems written out in this structure.
- Codewars
- Codesignal
- Similar to leetcode in structure, practice tests refresh every 24 hours. There is also an arcade mode where you can test your skills. -Codeforces
- Div 2 and Div 3 questions A,B should be reasonable (under contests => contest history)
- Requires command line processing -Kattis, Kattis
- Requires command line processing
- Problem Solving Techniques for Programming Problems and Interviews
- Project Euler -These can be quite mathy, but the first few 10 or so problems will be helpful if you can recognize the patterns
- Advent of Code - The first couple days of problems are really good practice and should be manageable to solve (you can look at previous year's problems too)
- CodingJS -Pretty straightforward problems that are broken down into data types, really helpful!
Having an understanding of algorithms and data structures could make your interviewing process much easier, and will help you in the long run during your programming career. Often programming challenges will be based upon a simple algorithm, and being able to recognize which algorithm can be used will save you time during your interview.
- Javascript Algorithms and Data Structures Repo
- Basic Algorithm Scripting - You will need to scroll down to find this section.
- Algorithms in JavaScript
Big O describes the performance or time complexity of a program (that is, the execution time required or space used to run your algorithm). Many technical questions will be bound by a certain limitations in regards to how quickly or efficiently your solution needs to run.
Coming soon...
Cassidoo's Getting a Gig Guide
Cracking the Coding Interview - 189 Programming Questions and Solutions by Gayle Laakmann McDowell
Cracking the Coding Interview - 189 Programming Questions and Solutions by Gayle Laakmann McDowell
Cassidy Williams Newsletter Interview Question Archives
8 Junior Developer Interview Questions to Practice
10 Behavioral Interview Questions for Software Engineers
45 Software developer behavioral questions for non-technical interviews
Front-End Developer Interview Questions
Front-end Developer Interview Questions and Answers
Turing FE/BE Interview Questions
Turing Behavioral Interview Questions