Tech interviews aren’t just for companies to evaluate you — they’re also an opportunity for you to get to know the culture and style of a company. By asking relevant questions, you can show that you’re a discerning candidate and distinguish yourself from the pack.

Typically, near the end of a technical round, there’ll be some time for you to ask questions about the company’s culture, technology, or management processes. Here’s a list of questions you can ask at your next interview. You should choose a few appropriate questions based on what matters most to you and be prepared to ask them!

...more
• ## Finding The Smallest Interval Of K Sorted Lists

Given K sorted lists of integers, return the smallest interval (inclusive) that contains at least one element from each list. If there are multiple intervals of the same size, return the one that starts at the smallest number.

...more
• ## 9 Tips to Ace Your Coding Interview

We’ve talked a lot about different interview problems and algorithms, but being comfortable in an interview setting is a skill in and of itself.

Besides coming up with the right solution, there are a few additional things you want to do in every coding interview.

...more
• ## The Daily Coding Problem Book Is Now Available!

It’s finally here!

...more
• ## How to Make a Huge Binary Tree Fast

This interesting interview problem was asked by Jane Street.

Generate a finite, but an arbitrarily large binary tree quickly in O(1).

That is, generate() should return a tree whose size is unbounded but finite.

...more
• ## A Neat Bitwise Trick For Swapping Even and Odd Bits

Here’s a problem that was asked by Cisco.

Given an unsigned 8-bit integer, swap its even and odd bits. The 1st and 2nd bit should be swapped, the 3rd and 4th bit should be swapped, and so on.

For example, 10101010 should be 01010101.

...more
• ## How to Solve the Anagram Indices Problem

Given a word and a string S, find all starting indices in S which are anagrams of word.

For example, given that word is “ab”, and S is “abxaba”, return 0, 3, and 4.

...more
• ## Lockable Binary Trees

Implement locking in a binary tree. A binary tree node can be locked or unlocked only if all of its descendants or ancestors are not locked.

...more
• ## How to Find the Longest Increasing Subsequence

This problem was asked by Microsoft.

Given an array of numbers, find the length of the longest increasing subsequence in the array. The subsequence does not necessarily have to be contiguous.

For example, given the array [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15], the longest increasing subsequence has length 6: it is 0, 2, 6, 9, 11, 15.

...more