INTERVIEW QUESTIONS

Based on the Kate Matsudaira's epic list of interview questions.

= 116 items (filtered by ) /
  • Abstraction & Design
    • Have you ever seen OO go bad?
      What happened? What elements of OO design are most prone to abuse and misuse? What are some ways to prevent these mishaps?
      • Implement a stock ticker.
        How do you handle displaying all of the data quickly to the end user? // Since most people are familiar with stocks I generally have them articulate the requirements and functionality first. The crux of this problem is thinking about the different granularities in which they can view a stock price – real time, hourly, daily, yearly, etc. and modeling their data to support fast querying for those graphs.

        There are all different types of tests – unit tests, smoke tests, acceptance tests, integration tests, etc.Have you ever done TDD?You have just been put in charge of a big legacy piece of software with some serious maintenance issues.Explain a feature or product.What is the role of QA in previous roles?When do you know your code is ready for prime time (shipping to production)?When do you consider a product to be finished?Focus on QualityHow do you design, develop and debug applications?Are you familiar with the concept of convention over configuration?What is the advantages of best practices like continuous integration, automated testing, and code reviews?Given the following variables: time, budget, customer happiness and best practices which are most important in a project?What does refactoring mean to you?What is an example of a sandbox?How would you describe the software lifecycle at your last position?Software EngineeringWhat is the purpose of post mortems, and why are they useful?Tell me a story about the “best” outage you have ever been a part of.operations and best practicesTell me about a situation when you aren’t able to complete you work.Tell me about a time when you had to go above and beyond the call of duty to complete your work.Have you ever had a bug in your code that showed up in production?Can you describe a stressful situation from a previous role.Have you ever had someone let you down at work?Have you ever had to be on-call?Reliability & OperationsWhat are some ways to scale a read-heavy application?A website with 3 app servers and one database is slow, what are some ways to troubleshoot this system?What are different cache eviction strategies?If you had to implement a cache (feel free to pick a type of cache, such as an image cache, or type of data) how would you do it?What is a cache?What is the difference between stateless and stateful systems?What are some alternate ways to store data besides using a relational database?What is the difference between a 2-tier system and 3-tier system?System Design & ThinkingA member of your team comes running up and says that your website is under a Denial of Service (DoS) attack.How does TCP handle congestion?Describe what happens when I type “google.com” into a browser and hit return.A customer complains your website is slow.What are some common networking protocols and what makes them special?NetworkingFor more SQL questions, check out Jitbit’s guide here.Describe a schema and ask the candidate to query the table in lots of different ways.Write a query to delete duplicate rows from a table.What is the difference between GROUP BY and ORDER BY?What are some different kinds of joins?You know that data is in a particular table but you don’t know what the schema is for that table.What is a primary key?SQL Queries (querying for data)Have you ever had to design a data model from scratch?Design a data schema for [insert example here].Data Modeling & Data SchemasImagine your database is having performance issues, what are some things you might consider to speed it up?How can you prevent your DBA (or anyone else really) from obtaining a list of your customers’ passwords?Database AdministrationHow do you view all the processes running on a Linux system?How do you copy a file from one system to another?What is a shell What kind of shell do you use?How would you find all the *.plist files in a directory via the command line?Write a regular expression which matches a email address // You can use url, phone number, etc.Design an API to provide product data from a supplier to an ecommerce website.Command Line & Scripting(There are a ton more of these types of questions online if you want to find more of them.If you had a product catalog of 1 million items how much space would you need to store all of them?Convert a binary (or hex, or any other base of your choosing) string to an integer.How much space would you need to store 1 billion phone numbers?Bits & BytesWrite the code that would do the checking on the document.What are some ways you could come up with alternative words to suggest?Implement a spell checker.Find the first non-repeated character in a string.Implement a hash table.What are different ways of managing collisions?How do hash tables work?What are some examples of real life hash tables?Data Structures: Hash TablesDesign a queue using stacks as the underlying data structure (solution).Design and implement a stack.Data Structures: Queues & StacksGive at least two ways to represent a graph in memory.Write a function to determine if a graph contains a cycle.Given two binary trees write a function that will compare the two and see if they are equal – both in terms of data and structure.How do you find the 7th element in a binary search tree?Now modify your solutions to handle trees with weighted edges and/or loops and print out the path from start to finish.Given a tree write breadth first search and depth first search, and explain the run time and space requirements.Convert a binary search tree into an ordered array.Data Structures: Trees & GraphsHere are some other problem solving questions too, if you need additional examples.We want to open up another office in a different state.Imagine that you have a large dataset on disk (or in the cloud like S3), and you have limited memory on your servers but you want to sort and manipulate the data.How many degrees are there in the angle between the hour and minute hands of a clock when the time 4:15?Count the 2’s between 0 and N.Given a dollar value come up with all the different ways to make change given the standard coin denominations (solution).If there are N different teams, and over time they are all going to merge into one giant team.Problem Solving (like algorithms, only more general)Given an array of integers write a program that will determine if any two numbers add up to a specified number N.Create an algorithm that will output the results of rolling a die (1-6) using a function that simulates a coin toss (1 or 2).Imagine that you want to return a random number from a really long linked list of numbers.Given an array what is the longest contiguous increasing subsequence of elements?Now assume you want the jobs to finish at the same time, what is the optimal number of servers and how would you distribute the jobs across them to achieve this goal?How would you divide them across N servers?Given a list of numbers, assume each number represents the amount of time it takes to execute a task.Now imagine that the string has repeating characters.How do you find all the permutations of a string?Given two different lists of objects, come up with an efficient solution to find the intersection of the two lists.Now find any given number in the list.Given a list of numbers that is a circular list, such that iterating through the list would return the first number after you reached the end.How would the performance of your algorithm change if there were lots of duplicates in the array?You are given a sorted array and you want to find the number N.Write a function that takes two strings as arguments and returns a string containing only the characters found in both strings.Describe the algorithm for a depth-first graph traversal.Algorithms (different approaches and performance)Imagine you were tasked with designing a text editor (or instant messaging program).You are tasked with designing software that runs and controls elevators.Implement a stock ticker.Implement a game of tic-tac-toe.Have you ever seen OO go bad?Abstraction & DesignInterview Questions