{"id":2982,"date":"2022-11-04T09:51:26","date_gmt":"2022-11-04T14:51:26","guid":{"rendered":"https:\/\/talently.tech\/blog\/?p=2982"},"modified":"2023-10-24T08:41:52","modified_gmt":"2023-10-24T13:41:52","slug":"entrevista-de-system-design","status":"publish","type":"post","link":"https:\/\/talently.tech\/blog\/entrevista-de-system-design\/","title":{"rendered":"\u00bfC\u00f3mo es una entrevista de System Design? Gu\u00eda para developers"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Una entrevista de System Design puede parecer intimidante, pero si tienes a mano un mapa para navegarla, seguramente te sentir\u00e1s m\u00e1s c\u00f3modo y tranquilo.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Probablemente, en tu carrera como desarrollador, te relaciones con el dise\u00f1o de sistemas de varias maneras: en una primera etapa, te permitir\u00e1 abordar los problemas de desarrollo con m\u00e1s confianza y aplicar los principios de dise\u00f1o a tu trabajo diario. A medida que avances, tengas m\u00e1s experiencia y seniority, <strong>el dise\u00f1o de sistema se convertir\u00e1 en una parte central de tus procesos de entrevista<\/strong> y, dependiendo del rol, tambi\u00e9n en una parte fundamental de tu trabajo diario.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En este art\u00edculo, aprender\u00e1s las claves para pasar con \u00e9xito tu entrevista de dise\u00f1o de sistemas: <strong>cu\u00e1les son conceptos fundamentales y qu\u00e9 hacer y qu\u00e9 no hacer durante una entrevista<\/strong>. Te daremos todos los tips para que puedas avanzar en la <\/span><a href=\"https:\/\/talently.tech\/blog\/nuevo-trabajo-como-programador\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">b\u00fasqueda de un nuevo trabajo como programador<\/span><\/a><span style=\"font-weight: 400;\">. \u00a1Comencemos!<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">\u00bfQu\u00e9 es una entrevista de System Design?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">En una entrevista de dise\u00f1o de sistemas, los entrevistadores te pedir\u00e1n que dise\u00f1es una aplicaci\u00f3n a escala web. \u00a1Pero cuidado! <\/span><b>No se trata solo de mostrar tus conocimientos sobre sistemas y arquitectura<\/b><span style=\"font-weight: 400;\">, sino tambi\u00e9n de c\u00f3mo intercambias con tu entrevistador para construir juntos una soluci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Las entrevistas sobre dise\u00f1o de sistema ser\u00e1n diferentes seg\u00fan el rol y el seniority que vayas a desempe\u00f1ar, pero te recomendamos seguir esta estructura para encarar bien el problema y manejar el tiempo de forma eficiente:<\/span><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-2983 size-large\" src=\"https:\/\/talently.tech\/blog\/wp-content\/uploads\/2022\/11\/entrevista-system-1024x594.jpeg\" alt=\"entrevista de system design\" width=\"1024\" height=\"594\" srcset=\"https:\/\/d2a5isokysfowx.cloudfront.net\/wp-content\/uploads\/2022\/11\/entrevista-system-1024x594.jpeg 1024w, https:\/\/d2a5isokysfowx.cloudfront.net\/wp-content\/uploads\/2022\/11\/entrevista-system-300x174.jpeg 300w, https:\/\/d2a5isokysfowx.cloudfront.net\/wp-content\/uploads\/2022\/11\/entrevista-system-768x446.jpeg 768w, https:\/\/d2a5isokysfowx.cloudfront.net\/wp-content\/uploads\/2022\/11\/entrevista-system-1536x892.jpeg 1536w, https:\/\/d2a5isokysfowx.cloudfront.net\/wp-content\/uploads\/2022\/11\/entrevista-system.jpeg 1921w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h3><span style=\"font-weight: 400;\">\u00bfC\u00f3mo es una pregunta de System Design?<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Puedes darte cuenta de que el desaf\u00edo que recibiste en la entrevista es una pregunta sobre dise\u00f1o de sistemas de una manera bastante simple: el entrevistador comenzar\u00e1 con una descripci\u00f3n general de alto nivel de una aplicaci\u00f3n o servicio. Es probable que te consulten si est\u00e1s familiarizado con el tema y, luego te pidan que lo dise\u00f1es.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Veamos algunos ejemplos de preguntas:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00bfC\u00f3mo dise\u00f1ar\u00edas Instagram\/Youtube\/WhatsApp?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00bfPor qu\u00e9 crees que el marco X encaja mejor que el marco Y en esta aplicaci\u00f3n?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Queremos dise\u00f1ar un servicio de an\u00e1lisis de datos que haga X\u2026<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00bfC\u00f3mo crear\u00edas el sistema de suministro de noticias para Facebook?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00bfC\u00f3mo dise\u00f1ar\u00edas un servicio global de transmisi\u00f3n de video?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Dise\u00f1a un servicio de acortamiento de URL (TinyURL)<\/span><\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">\u00bfC\u00f3mo superar una entrevista de System Design?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Tienes que recordar que en este tipo de entrevistas se evaluar\u00e1 tanto lo que sabes sobre conceptos t\u00e9cnicos, compensaciones, mantenibilidad e identificaci\u00f3n de cuellos de botella como la manera en que te comunicas con tu entrevistador.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La regla es sencilla: si eres capaz de trabajar con tu entrevistador para resolver el problema y de mostrar con claridad tus ideas, podr\u00e1s construir soluciones de forma colaborativa junto a tu futuro equipo.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Pasos para superar una entrevista de System Design<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Conozcamos los 4 pasos que te ayudar\u00e1n a crackear tu entrevista:<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">1. Comprende el problema y establece el alcance del dise\u00f1o<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Es tu momento de hacer las preguntas aclaratorias que te ayuden a comprender el desaf\u00edo: qui\u00e9nes son los usuarios, qu\u00e9 necesitan y cu\u00e1les son las entradas y salidas del sistema. Preguntar sobre estos puntos te permitir\u00e1 enfocarte y dimensionar el alcance del dise\u00f1o.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Muchas veces, el planteamiento del problema es poco preciso a prop\u00f3sito porque buscan que seas t\u00fa quien solicite los requisitos. Las entrevistas de este tipo son b\u00e1sicamente una conversaci\u00f3n abierta que no tiene una soluci\u00f3n correcta, por lo que es bueno comenzar con algunas suposiciones b\u00e1sicas. Imaginemos que, en vez de pedirte que dise\u00f1es Google Analytics, te plantean un desaf\u00edo que comienza as\u00ed:\u00a0 &#8220;Quisi\u00e9ramos crear un servicio de an\u00e1lisis que pueda hacer lo siguiente&#8230;&#8221;.\u00a0<\/span><\/p>\n<p><b>\u00bfQu\u00e9 preguntas esperan escuchar de tu parte en una entrevista de System Design? Veamos algunos ejemplos:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00bfCu\u00e1les son los casos de uso? \u00bfQui\u00e9nes usar\u00e1n el servicio?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00bfPor cu\u00e1nto tiempo necesitamos almacenar los datos? (te ayudar\u00e1 a identificar el almac\u00e9n de datos: en memoria o en disco, NoSQL o SQL, en columnas o series temporales, etc.)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00bfCu\u00e1l es la escala de las m\u00e9tricas que buscamos obtener?\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00bfEs necesario que haya un cliente web?\u00a0<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400;\">2. Haz una propuesta de dise\u00f1o de alto nivel\u00a0<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Es clave que confirmes si tu enfoque satisface las necesidades y restricciones antes de saltar a la implementaci\u00f3n. Conversa con tu entrevistador de la misma forma que lo har\u00edas con los miembros de tu equipo frente a un problema real.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Puedes comenzar con un dise\u00f1o de alto nivel siguiendo estos pasos:<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Identifica los componentes para resolver el problema real: \u00bfCu\u00e1les son? \u00bfC\u00f3mo se relacionan?\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Divide tu sistema completo en 6 \u00f3 7 componentes principales.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Analiza el rol y la responsabilidad de cada uno y c\u00f3mo va a interactuar o comunicarse entre s\u00ed.\u00a0<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400;\">3. Profundiza el dise\u00f1o<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Cuando confirmes que est\u00e1s en el camino correcto, entra en detalles:\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Discute el frontend, el backend, las redes, el almacenamiento en cach\u00e9, el equilibrio de carga, la cola, la base de datos, las llamadas a API externas, la interacci\u00f3n del usuario, los procesos fuera de l\u00ednea, etc.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Comenta con tu entrevistador qu\u00e9 tecnolog\u00edas o bases de datos puede usar en su sistema.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Como no siempre hay una respuesta \u00fanica, deber\u00e1s poder justificar cada decisi\u00f3n que tomes.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">4. Identifica los puntos de mejora<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Puedes terminar tu entrevista haciendo un resumen de tu dise\u00f1o, identificando los cuellos de botella y los posibles puntos de mejora.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Por ejemplo, qu\u00e9 tipo de fallas puede haber en tu sistema y cu\u00e1les ser\u00edan las posibles soluciones. \u00bfHay alguna copia de seguridad de los datos en caso de que el servidor falle y se pierda todo? Si alg\u00fan componente falla, \u00bfcu\u00e1l es la soluci\u00f3n para ejecutar el sistema sin problemas?<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Claves para afrontar tu entrevista de dise\u00f1o de sistemas<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Ya tienes en claro cu\u00e1les son los pasos a seguir durante una entrevista de System Design. Ahora, toma nota de algunos consejos indispensables adicionales:\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Conversa con tu entrevistador: <\/b><span style=\"font-weight: 400;\">piensa que es un miembro del equipo que lideras con quien tienes que alcanzar una posible soluci\u00f3n.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Expresa tus pensamientos de manera clara: <\/b><span style=\"font-weight: 400;\">t\u00f3mate el tiempo para explicar tus ideas y enfoques. La comunicaci\u00f3n es una de las habilidades blandas que se eval\u00faan en estas instancias. Si puedes explic\u00e1rselo al entrevistador, tambi\u00e9n puedes hacerlo en tu equipo.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Justifica tus decisiones: <\/b><span style=\"font-weight: 400;\">el razonamiento cr\u00edtico y la argumentaci\u00f3n son claves para un dise\u00f1o de software exitoso. En ocasiones, es m\u00e1s importante la argumentaci\u00f3n sobre tu decisi\u00f3n que la elecci\u00f3n en s\u00ed.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Usa enfoques conocidos:<\/b><span style=\"font-weight: 400;\"> si te enfrentas a un problema, piensa en enfoques est\u00e1ndar para ofrecer soluciones. No te enredes con enfoques que no conoces demasiado.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Mantente actualizado sobre las soluciones actuales: <\/b><span style=\"font-weight: 400;\">debes tener en cuenta si en el mercado se est\u00e1n adoptando ciertas pr\u00e1cticas de dise\u00f1o o de productos con m\u00e1s frecuencia que otras.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>S\u00e9 flexible:<\/b><span style=\"font-weight: 400;\"> puede que necesites cambiar tus objetivos a medida que cambien los requisitos. Si notas que el entrevistador est\u00e1 muy interesado en saber algo particular del sistema, comienza por esa parte aunque no sea la que m\u00e1s importe a ti.<\/span><\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">Errores a evitar durante tu entrevista de System Design<\/span><\/h2>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Memorizar la resoluci\u00f3n de un ejercicio.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Apresurarse y entrar en detalles antes de tiempo.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">No mantener las cosas simples.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Estar cerrado a soluciones alternativas.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Los candidatos que superan las entrevistas de system design, no siempre tienen a\u00f1os de experiencia trabajando en sistemas a gran escala. Estamos hablando de una disciplina que existe hace unos quince a\u00f1os y, como todo en la ingenier\u00eda de software, est\u00e1 evolucionando r\u00e1pidamente.\u00a0<\/span><\/p>\n<h2>\u00bfC\u00f3mo superar tus entrevistas t\u00e9cnicas con Talently?<\/h2>\n<p>La clave para superar las entrevistas t\u00e9cnicas es prepararse adecuadamente y aplicar los conocimientos de manera pr\u00e1ctica. La pr\u00e1ctica constante, la lectura y la preparaci\u00f3n con profesionales expertos en System Design son fundamentales. Afortunadamente, en Talently comprendemos tus necesidades como programador y tus aspiraciones para el futuro.<\/p>\n<p>Por eso, te ofrecemos <strong>Talently Match<\/strong>, <strong>una plataforma completamente gratuita<\/strong> que te ayuda a conectar con empresas que est\u00e1n buscando talento como el tuyo. Adem\u00e1s, puedes reforzar tus habilidades t\u00e9cnicas con nuestros cursos online y prepararte para tus entrevistas t\u00e9cnicas de manera efectiva.<\/p>\n<p>Si cuentas con m\u00e1s de 2 a\u00f1os de experiencia como programador, no esperes m\u00e1s. \u00a1Reg\u00edstrate hoy en Talently Match y da el siguiente paso en tu carrera profesional!<span style=\"font-weight: 400; font-size: 16px;\">\u00a0<\/span><strong style=\"font-size: 16px;\">\u00a1<a href=\"https:\/\/everest.talently.tech\/register\/?fn=1?utm_source=Blog&amp;utm_medium=organico&amp;utm_campaign=blog-go&amp;utm_content=Intereses&amp;utm_term=branding\" target=\"_blank\" rel=\"noopener\">Reg\u00edstrate hoy en Talently<\/a>!\u00a0<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una entrevista de System Design puede parecer intimidante, pero si tienes a mano un mapa para navegarla, seguramente te sentir\u00e1s m\u00e1s c\u00f3modo y tranquilo.\u00a0 Probablemente, en tu carrera como desarrollador, te relaciones con el dise\u00f1o de sistemas de varias maneras: en una primera etapa, te permitir\u00e1 abordar los problemas de desarrollo con m\u00e1s confianza y [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2985,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[32],"tags":[],"class_list":["post-2982","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-preguntas-para-entrevistas-de-trabajo"],"acf":[],"_links":{"self":[{"href":"https:\/\/talently.tech\/blog\/wp-json\/wp\/v2\/posts\/2982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/talently.tech\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/talently.tech\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/talently.tech\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/talently.tech\/blog\/wp-json\/wp\/v2\/comments?post=2982"}],"version-history":[{"count":0,"href":"https:\/\/talently.tech\/blog\/wp-json\/wp\/v2\/posts\/2982\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/talently.tech\/blog\/wp-json\/wp\/v2\/media\/2985"}],"wp:attachment":[{"href":"https:\/\/talently.tech\/blog\/wp-json\/wp\/v2\/media?parent=2982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/talently.tech\/blog\/wp-json\/wp\/v2\/categories?post=2982"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/talently.tech\/blog\/wp-json\/wp\/v2\/tags?post=2982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}