This question evaluates understanding of graph algorithms for shortest-path searches, techniques for efficient neighbor generation and caching (including LRU eviction and complexity trade-offs), and concurrency controls for mutable dictionaries.
You are given a start word and an end word of equal length, and a dictionary of valid words. In one move you may change exactly one letter to form a new word that must be in the dictionary. Find the minimal number of moves to transform the start into the end; return -1 if impossible. Implement an efficient solution. Follow-ups: (