Was asked in one of the onsite interviews recently, and apart from usual storage/FE/LB etc components I couldn't think of many other aspects that would be unique while designing a Translation service at scale (support for ~5-10K languages). think bing or google translator service. Any ideas? TC: 260K YOE: 12
I think we can think of a hierarchical design where we can collect and save words having same meaning in different languages for example in a distributed database using language name as key. Also, when we translate any phrase/line in language l1 to l2, we can asynchronously send them to a cache system and quickly look up / return top results. Reverse translation optimization may be another thing to consider for a similar treatment.
Did you just draw a box and write translation service?
โWas askedโ implies that the answer no longer matters.
Simple - write a service that calls Google translate API, done ๐คฃ
I was asked in my system design at amazon to design a map service and asked my interviewer why we wouldnโt just use google maps API. He looked at me confused then I realized what I said.