Along with deciphering if applicants have the right experience, hiring managers also have to determine if they fit well with the team culturally.
- Tell me something that's a challenge for you
- This is a spin on the traditional “what’s your biggest weakness” question, and should be answered carefully. A successful answer demonstrates both self-awareness (where you are challenged) and action (how you are taking steps to improve). A word of caution: don’t respond with a “knock-out” answer that would automatically disqualify you for the job. For example, don’t say you don’t like working in teams in an interview for a leadership position or where performing as part of a team is critical.
- What tech-related blogs, podcasts, newsletters, etc do you read?
- Describe a time when you were faced with a stressful situation that demonstrated your coping skills.
- Give me a specific example of a time when you used good judgment and logic in solving a problem.
- Give me an example of a time when you set a goal and were able to meet or achieve it.
- Tell me about a time when you had to go above and beyond the call of duty in order to get a job done.
- Tell me about a difficult decision you’ve made in the last year.
- Give me an example of a time when something you tried to accomplish and failed.
- Give me an example of when you showed initiative and took the lead.
- Give me an example of a time when you motivated others.
- Describe a time when you set your sights too high (or too low).
- Compare and contrast different sorting algorithms. What are each's pros and cons? Which one is best for a given situation?
- Given a linked list, where each node's value can itself be a linked list (a recursive linked list), write a function that flattens it.
- Given a binary tree, write a function that prints all of the paths from the root node to the leaf nodes. What is the functions run time and space requirement.
- Print each level of binary tree on a new level
High-tech companies like Google, Microsoft, and Amazon are using puzzle or brain teaser questions to determine someone's ability to solve problems, think creatively, and communicate complex information in a non-technical way. By asking these types of questions the interviewer may be able to better gauge the candidate's ability to make educated guesses, which is a critical skill for professionals in these lines of work.
Tip Always talk out loud when answering!
- How many ATM's are there in the United States?
- This is an actual interview question received from Apple
- How many golf balls can you fit in a school bus?
- This question gives you an opportunity to showcase your analytical skills. How would you estimate the size of the ball, the length and height of the bus, etc.? The experts say that the correct answer is about 500,000, assuming the bus is 50 balls high, 50 balls wide, and 200 balls long.
- Explain a database in three sentences to your 8-year-old nephew.
- This question lets you show the interviewer how you can explain something that is complicated in an easy-to-understand manner. Prove you can break information into digestible sound bites. For example, you could say something like, "a database is like a closet. Instead of clothes and toys, it's filled with information. People store information in a database like they store things in their closet."
- You are shrunk to the size of a nickel and thrown into a blender with a moving blade. How do you get out?
- This question tests your creativity. Can you show a solution that others may not have thought of? Answers for this one have ranged from use the measurement marks to climb out to risk riding out the air current.
- 25 racehorses, no stopwatch. 5 tracks. Figure out the top three fastest horses in the fewest number of races.
- Why are manhole covers round?
- If you were a pizza delivery man, how would you benefit from scissors?
- Apple
- How would you test an elevator?
- Microsoft
- How would you find the words that became obsolete in English language between 16th and 17th century? You may use a search engine.
- Uber
- How would you build FaceBook for blind people?
- Tell me about the bug that was the most frustrating for you to find a fix
- What's your favorite programming language and why?
- What's the worst feature of your favorite programming language?
- Tell me about a project that failed miserably
- What are some core benefits/features of object oriented programming?
- Select certain documents from a SQL database
- You are given a bunch of dominoes. Write a function that determines if any two of those dominoes add up to [6, 6] (e.g. [1,4] + [5, 2])
- What's the difference between
==
and===
- Explain what a closure is
- Write a function to tell me if a string is a palindrome
function checkPalindrom(str) {
return str == str.split('').reverse().join('');
}
// Faster solution
function fastestIsPalindrome(str) {
var len = Math.floor(str.length / 2);
for (var i = 0; i < len; i++)
if (str[i] !== str[str.length - i - 1])
return false;
return true;
}
-
Fix the following React code to find out where to send your resume
-
Practice question from: https://leetcode.com/problems/move-zeroes/
Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.
For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].
-
You must do this in-place without making a copy of the array.
-
Minimize the total number of operations.
// Solution WITHOUT creating a new array
var moveZeroes = function(nums) {
for (var i=0; i<nums.length; i++) {
if (nums[i] === 0) {
nums.splice(i, 1);
nums.push(0);
}
}
return nums;
};
moveZeroes([0, 1, 0, 3, 12]);
// Possible solution creating one new array
var moveZeroes = function(nums) {
var zeroes = [];
for (var i=0; i<nums.length; i++) {
if (nums[i] === 0) {
zeroes.push(0);
nums.splice(i, 1);
}
}
return nums.concat(zeroes);
};
moveZeroes([0, 1, 0, 3, 12]);
// Possible solution by creating new arrays
var moveZeroes = function(nums) {
var zeroes = [];
var numsWithOutZeroes = [];
for (var i=0; i<nums.length; i++) {
if (nums[i] === 0) {
zeroes.push(nums[i]);
} else {
numsWithOutZeroes.push(nums[i]);
}
}
return numsWithOutZeroes.concat(zeroes);
};
console.log(moveZeroes([0, 1, 0, 3, 12]));
Database table:
Name | Age | Salary | Dept |
---|---|---|---|
Alice | 22 | 100 | IT |
Bob | 33 | 150 | IT |
Charlie | 44 | 180 | Operations |
Dale | 50 | 200 | 200 |
What are the apparent problems that you can identify in the database table?
- Redundancy in Dept column. Department names should be moved to dictionary table and a relation between these two tables should be added.
- Column Age requires yearly updates. This information should be saved as birth year.
- Column names should be lower-case.
- Column Salary contains ambiguous data. Is this yearly salary in $1000? Column name should provide obvious answer.
- Table contains no surname column.
- Table contains no apparent primary key.
- Table contains no apparent primary key candidates.
- Design a RESTful JSON API for a Google query
- http://www.leetcode.com (data structures, algorithms, coding)
- http://www.careercup.com (Cracking the Coding Interview) – (system design/scalability)
- https://www.educative.io/collection/5642554087309312/5679846214598656
- https://github.com/h5bp/Front-end-Developer-Interview-Questions
- http://jobs.aol.com/articles/2010/09/22/brain-teaser-interview-questions/
- https://projecteuler.net/archives
- http://codepen.io/anon/pen/YwxgvW?editors=001
- https://www.interviewcake.com
- https://www.themuse.com/advice/13-crazy-interview-questions-that-awesome-companies-will-actually-ask-you
- http://www.glassdoor.com/Interview/Facebook-Interview-Questions-E40772.htm
- http://www.quintcareers.com/sample-behavioral/