Aquí hay unas cuantas que recuerdo de mis escapadas a las entrevistas:
- Diseño de instagram o algún tipo de feed de contenido. Esta es realmente SUPER común, debo haberla recibido 3 o 4 veces en varias empresas. Es bastante común y es probablemente lo que los entrevistadores que son demasiado perezosos para llegar a una mejor pregunta preguntarán.
- Diseño de tipo de cabeza / autocompletar. También he recibido ésta múltiples veces, a veces con ligeras variaciones. Por lo general se basa en una estructura de datos Trie. Esta es una gran práctica!
- Diseñar un bus de mensajería (apache kafka/zeromq/rabbitmq). Usted podría conseguir algo como esto si usted está entrevistando para un papel de software orientado a la infraestructura. Esta es una gran pregunta que puede dar lugar a muchas áreas de enfoque diferentes y sub-preguntas.
- Diseñar una caché LRU. Por lo general, se reduce a la implementación de una lista doblemente enlazada para obtener la eliminación en tiempo constante de los elementos utilizados menos recientemente cuando la caché está llena.
- Diseñar una caché distribuida. Una vez más, podría ser para un papel que es infra-orientado. También se puede tomar en muchas direcciones diferentes.
- Diseñar tablas de base de datos/almacén de datos. Esto podría ser para un rol más orientado a la ingeniería de datos, pero también es común para los SWE dado que un buen diseño de datos es tremendamente importante.
Aquí hay algunos que NO he visto personalmente, a pesar de ser generalmente aceptados como comunes:
- Diseñar un acortador de URL
- Diseñar una tienda web/sitio de comercio electrónico
¡Espero que esto ayude! Estoy dispuesto a apostar que los 4-5 primeros cubrirán la MAYORÍA de sus entrevistas de diseño de sistemas, y para los que no cubren, el conocimiento que se obtiene de su estudio debe transferir bien a las diferentes variaciones de las preguntas.