Develop test plan and TDD for word search
UberSoftware Engineer · Technical ScreenLast updated
This question evaluates a candidate's competency in designing comprehensive test plans and test-driven development workflows for grid-based word search algorithms, covering edge-case identification, input normalization, path validity, and performance/stress considerations within software testing and algorithmic reasoning.
Design a comprehensive test plan and test-driven development workflow for the two word-search functions above. Enumerate concrete test cases: empty grid; empty word; single-letter grid/word matches and mismatches; straight-line matches in all eight directions; attempts requiring direction changes (should fail under fixed-direction); diagonal-only matches; boundary-crossing attempts; words with repeated letters that tempt revisits; multiple valid starting positions; grids with no occurrence; large inputs for performance and stack-depth concerns; and invalid/normalization inputs if applicable. Describe how you would structure unit, property-based, and stress tests, and define pass/fail criteria.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.