You are on page 1of 2

Technical Assessment

Welcome to the Leadr programming test!

Thanks for taking the time to complete it. This is an important part of our
hiring process because it's the best chance for us to evaluate your coding
expertise and style. We take the test very seriously, so please make sure that
your code is easy to read and of such quality that you'd show it off on your
resume.

Feel free to make assumptions as long as you explain them (and they're good,
of course). These are inherently small problems, but treat them as if they
were production code and in all cases make good engineering decisions
about performance, memory usage, and your time. Using references for
libraries or math is allowed, but getting help on the meat of the problems is
not.

There is no hard time limit, though we expect you to finish in about a week.
Please use Javascript/Node, which is what we use for our servers and
application.

Organize your test as you see fit, but we'd like to see your result as a web app,
designed for multiple users to access simultaneously. This can be as simple as
a React page per question, with the input specified on the query string, and
plain text output (you can use HTML line breaks for easier browser
readability). Attach a README.md file to the application with any additional
instructions, assumptions, or other helpful information. Finally, once you've
completed all the problems submit the test folder as a compressed archive
without any intermediate or output files like executables.

Good luck!

v1
Technical Assessment

Write a function which will find all the words on a generalized Boggle™
board. The function should take as input the board dimensions, the board,
and a dictionary of valid words and it should output the list of all found words
to the calling function.

If you've never heard of Boggle then see http://en.wikipedia.org/wiki/Boggle


for a better description. A 3x3 boggle board that looks like this:

yox
rba
ved

Has exactly the following words on it (according to my program):

bred, yore, byre, abed, oread, bore, orby, robed, broad, byroad, robe
bored, derby, bade, aero, read, orbed, verb, aery, bead, bread, very, road

Note that it doesn't have “robbed” or “robber” because that would require
reusing some letters to form the word. And it doesn’t have “board” or “dove”
because that would require using letters which aren’t neighbors.

You can pull in a dictionary of english words from an external source, such as
https://github.com/dwyl/english-words/blob/71fd8028395eb61be17e47f70dde
0ae6994d9b72/words_dictionary.json​ or any other dictionary list.

v1

You might also like