Thank you for your interest in working at Knock! To help us better understand your experience, knowledge, and problem solving methods we have a short list of questions we would love to have you answer.
In answering the code questions, please submit code as if you intended to ship it to production. The details matter. Tests are expected, as is well written, simple idiomatic code. You may structure the project however you like.
When answering the questions please use JavaScript. You may use whatever libraries you like. Please email cody@knock.com a link to your answers, some applicants have found gist.github.com useful for sharing solutions. Please feel free to reach out with any questions you may have.
We believe this should take less than 2 hours to complete, but understand you may have other commitments and time constraints. Please let me know (roughly) when we should expect your answers (e.g. "over the weekend"). Let me know if you need more time.
It may take us 2 to 3 days to review your answers. They’re passed to one of our engineering teams to review.
-
What's something you have built or done that you are most proud of and why? It doesn't need to be professionally and a short paragraph is fine.
-
What is a tech problem or area that you are excited about? If you could drop everything and spend your time solving or working in this space what would it be?
-
Why Knock?
-
Write a function that takes two strings:
a
andb
of varying lengths and merges them into a single string, appending any remaining characters to the end and returns it. For example you have two stringsabc
andstuvwx
. Alternating between the two you should returnasbtcuvwx
. -
At Knock we deal with data vendors all across the country. Please write a function that can take varying JSON data input sources representing a property on a MLS (multiple listing service) and send them to our fictional CRM endpoint. You should make an http post call to the CRM endpoint in the function for a customer with the id
762910
. The function should take in one of the MLS JSON input sources at a time. Keep in mind that the data sources will grow with each new city we add so try and think through the implications of this. The CRM endpoint is not real so you will need to mock out the test calls.