A collection of problems and questions for the Hiring Process
The following snippet is the current email we send to candidates for the first time.
Hey <candidate's Name>,
I have a few questions for you, so we get to know you a bit more:
What’s your proudest achievement? It can be a personal project or
something you’ve worked on professionally. Just a short paragraph is fine,
but I’d love to know why you’re proud of it.
Tell me about a technical book or article you read recently, why you liked it,
and why I should read it.
Lastly, 2 small coding questions. For each of these, the solution should be
submitted in the form of a gist on gist.github.com. The implementation can be
done in any language, but it's important that the code is treated and designed
as if it was going to production.
The code you write should include everything you think is necessary to explain the solution:
* Class definitions
* Documentation
* Tests
1. Given an array of n integers where _n > 1_, `nums`, return an array `output` such that `output[i]`
is equal to the product of all the elements of nums except `nums[i]`.
Solve it **without division** and leave a comment with the time complexity of your algorithm.
For example, given `[1,2,3,4]`, return `[24,12,8,6]`.
2. Given a specific number (let's call it `n`) and an array of numbers
(let's call it `numbers`) write some code that returns a Boolean, indicating
if there is a pair of numbers in `numbers` that together add up to `n`.
e.g.: n = 12, numbers = [1,2,3,4,5,6,7,8,9] -> true (because 5 + 7 == 12)
e.g.2.: n = 20, numbers = [1,2,3,4,5,6] -> false
Optional/Experimental
The following problem is experimental, feel free to skip it if you want.
3. We say that an n-digit number is pandigital if it makes use of all the digits 1 to n exactly once; for example, the 5-digit number, 15234, is 1 through 5 pandigital. The product 7254 is unusual, as the identity, 39 × 186 = 7254, containing multiplicand, multiplier, and product is 1 through 9 pandigital. Find the sum of all products whose multiplicand/multiplier/product identity can be written as a 1 through 9 pandigital.
Best,