1 line
35 KiB
HTML
1 line
35 KiB
HTML
<!doctype html><html lang="en" itemscope itemtype="https://schema.org/Article"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>GUIA DE PREGUNTAS PARA ENTREVISTAS DE TRABAJO ★ Front-end Job Interview Questions</title><meta name="description" content="A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore."><meta name="keywords" content="front-end, interview questions, css questions, js questions, html questions, performance questions, interview test"><meta name="author" content="Front-end Job Interview Questions"><meta itemprop="author" content="Front-end Job Interview Questions"><meta itemprop="name" content="GUIA DE PREGUNTAS PARA ENTREVISTAS DE TRABAJO ★ Front-end Job Interview Questions"><meta itemprop="description" content="A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore."><meta itemprop="image" content="https://h5bp.github.io/Front-end-Developer-Interview-Questions/assets/images/og-image.png"><meta property="og:title" content="GUIA DE PREGUNTAS PARA ENTREVISTAS DE TRABAJO ★ Front-end Job Interview Questions"><meta property="og:description" content="A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore."><meta property="og:url" content="https://h5bp.github.io/Front-end-Developer-Interview-Questions/translations/spanish/"><meta property="og:site_name" content="Front-end Job Interview Questions"><meta property="og:image" content="https://h5bp.github.io/Front-end-Developer-Interview-Questions/assets/images/og-image.png"><meta property="og:image:secure_url" content="/assets/images/og-image.png"><meta property="og:type" content="website"><meta property="og:locale" content="en_US"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="GUIA DE PREGUNTAS PARA ENTREVISTAS DE TRABAJO ★ Front-end Job Interview Questions"><meta name="twitter:description" content="A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore."><meta name="twitter:site" content="@h5bp"><meta name="twitter:image" content="https://h5bp.github.io/Front-end-Developer-Interview-Questions/assets/images/og-image.png"><meta name="twitter:creator" content="@h5bp"><link type="image/png" rel="apple-touch-icon" href="/assets/images/apple-touch-icon.png"><link type="image/png" sizes="32x32" rel="icon" href="/assets/images/favicon-32x32.png"><link type="image/png" sizes="16x16" rel="icon" href="/assets/images/favicon-32x32.png"><link type="image/png" color="#181818" rel="mask-icon" href="/assets/images/favicon-96x96.png"><meta name="mobile-web-app-capable" content="yes"><meta name="robots" content="index,follow"><style>code[class*=language-],pre[class*=language-]{color:#c5c8c6;text-shadow:0 1px rgba(0,0,0,.3);font-family:Inconsolata,Monaco,Consolas,'Courier New',Courier,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#1d1f21}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#7c7c7c}.token.punctuation{color:#c5c8c6}.namespace{opacity:.7}.token.keyword,.token.property,.token.tag{color:#96cbfe}.token.class-name{color:#ffffb6;text-decoration:underline}.token.boolean,.token.constant{color:#9c9}.token.deleted,.token.symbol{color:#f92672}.token.number{color:#ff73fd}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a8ff60}.token.variable{color:#c6c5fe}.token.operator{color:#ededed}.token.entity{color:#ffffb6}.token.url{color:#96cbfe}.language-css .token.string,.style .token.string{color:#87c38a}.token.atrule,.token.attr-value{color:#f9ee98}.token.function{color:#dad085}.token.regex{color:#e9c062}.token.important{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}:root{--font-family-heading:sans-serif;--font-family-body:Georgia,serif;--font-family-code:Menlo,Monaco,'Courier New',monospace;--color-primary:#835EFF;--color-secondary:#FF008D;--color-safe:#8338EC;--color-gradient:linear-gradient(to right, var(--color-primary), var(--color-secondary));--color-highlight:var(--color-primary);--color-gray-opacity:rgba(39,39,39,0.04);--color-heading:#23231A;--color-text:#23231A;--background-default:#F9F9F9;--border-radius-default:5px;--box-shadow-default:0 2rem 4rem rgba(0,0,0,.15);--transition-duration:0.27s}*{margin:0;padding:0;box-sizing:border-box;outline-color:var(--color-primary)}::selection{background:var(--color-primary);color:var(--background-default)}::-moz-selection{background:var(--color-primary);color:var(--background-default)}.nav{padding:1rem 0;margin-bottom:1rem}.navigation{list-style:none;display:flex;font-size:1rem}.navigation-item-emoji{margin-right:.8rem}.navigation-item-emoji a{text-decoration:none;display:inline-block;vertical-align:middle}.navigation-item:not(:last-of-type){margin-right:.8rem}.topbar{width:100%;height:.18rem;background:var(--color-gradient)}.skip-link{position:absolute;top:0;left:0;padding:.5rem 1rem;background-color:var(--color-primary);color:#fff;text-decoration:none;transform:translateY(-100%)}.skip-link:focus{transform:none}.header{margin-bottom:2rem}.header-big-title{font-size:6.9rem;line-height:1.06;margin:2.1rem 0;color:var(--color-primary);word-break:break-word}@supports (mix-blend-mode:lighten){.header-big-title{display:inline-block;position:relative;color:#000;background:#fff;mix-blend-mode:multiply}.header-big-title::before{content:'';display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/assets/images/gradient.svg);pointer-events:none}.header-big-title::before{mix-blend-mode:screen}}.header-heading{font-size:2.3rem;text-transform:uppercase}.header-big-description{font-size:1.8rem;line-height:1.4;padding:1rem 0}.header-description{padding-top:1rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-family-body);font-weight:400;font-size:1.2rem;line-height:1.5;color:var(--color-text)}section+section{padding-top:2rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);color:var(--color-heading);font-style:normal;line-height:1.2;font-weight:600}section+section{padding-top:2rem}a{color:inherit;text-decoration:none;color:var(--color-secondary);transition:color ease-out var(--transition-duration)}a:focus:not(.skip-link),a:hover:not(.skip-link){color:var(--color-primary)}a[rel~=external]{text-decoration:overline}ul:not(.navigation):not(.inline-list){list-style:none}ul:not(.navigation):not(.inline-list) li::before{content:"\25A0";color:var(--color-primary);font-weight:700;display:inline-block;width:1em;margin-left:-1em}li{margin-bottom:.6rem}b,strong{font-weight:600}time{display:inline-block;color:var(--color-gray-70)}[tabindex='-1']{outline:0}img,svg{vertical-align:middle}img{display:block;max-width:100%;border-radius:var(--border-radius-default)}code{font-family:var(--font-family-code);color:var(--color-code);font-style:normal;font-size:1rem}blockquote:not([class]){padding-left:1rem;margin-left:-1rem;border-left:2px solid var(--color-primary);color:var(--color-gray-70);font-style:italic}code[class*=language-],pre[class*=language-]{font-size:.9rem;font-style:normal}p+pre[class*=language-]{margin-bottom:1.8rem}mark{color:var(--color-highlight);background-color:transparent}dt{font-weight:700}dd+dt{padding-top:.5rem}abbr[title],acronym[title]{text-decoration:overline;background:var(--color-gray-opacity);border:1px solid var(--color-gray-opacity);cursor:help}.container{max-width:54rem;padding:3rem 4rem 4rem;margin-right:auto;margin-left:auto}.content li:not(:last-of-type){margin-bottom:.5rem}.content h2{max-width:33rem}.content>:not(:last-child){margin-bottom:2rem}.content :not(hr)+h2,.content :not(hr)+h3{padding-top:1rem}.content ol:not(.inline-list),.content ul:not(.inline-list){padding-left:1.2rem}.content-simple li:not(:last-of-type){margin-bottom:.5rem}.content-edit{text-align:right;margin-top:2rem}.inline-list{padding:0;list-style:none}.inline-list li{padding:0;display:inline-block;vertical-align:middle;text-align:center}.inline-list li::before{content:'';margin-left:0}.inline-list li img{display:block;margin:auto;margin-bottom:.6rem}.inline-list li a{display:inline-block;vertical-align:middle;margin:0 .15rem}.avatar{max-width:12rem}.footer{padding-top:3rem}.footer-text{font-size:.8rem}</style></head><body><div class="topbar"></div><div class="container"><a class="skip-link" href="#main-content">Skip to main content</a><nav class="nav"><ul class="navigation"><li class="navigation-item"><span class="navigation-anchor">Questions:</span></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/coding-questions/" title="Coding Questions">Coding</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/css-questions/" title="CSS Questions">CSS</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/fun-questions/" title="Fun Questions">Fun</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/general-questions/" title="General Questions">General</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/html-questions/" title="HTML Questions">HTML</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/javascript-questions/" title="JavaScript Questions">JavaScript</a></li><li class="navigation-item"><a rel="external noreferrer noopener" target="_blank" class="navigation-anchor" href="https://scottaohara.github.io/accessibility_interview_questions/" title="Accessibility Questions (external link)">A11y</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/network-questions/" title="Network Questions">Network</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/performance-questions/" title="Perfomance Questions">Perfomance</a></li><li class="navigation-item"><a class="navigation-anchor" href="/questions/testing-questions/" title="Testing Questions">Testing</a></li><li class="navigation-item">|</li><li class="navigation-item-emoji"><a class="navigation-anchor" href="/" title="Home">🏠</a></li><li class="navigation-item-emoji"><a class="navigation-anchor" href="/translations" title="Translations">🌐</a></li></ul></nav><main id="main-content" tabindex="-1"><header class="header"><h1 class="header-big-title">GUIA DE PREGUNTAS PARA ENTREVISTAS DE TRABAJO</h1></header><div class="content"><h1>GUIA DE PREGUNTAS PARA ENTREVISTAS DE TRABAJO</h1><p>Este repositorio contiene preguntas de entrevistas a programadores front-end, que pueden ser usadas para revisar a candidatos potenciales. Bajo ningún concepto se recomienda usar todas las preguntas aquí expuestas con el mismo candidato (eso llevaría horas). Escoger algunos elementos de esta lista debería ayudarle a revisar las habilidades que requiere.</p><p><strong>Nota:</strong> Tenga en mente que muchas de estas preguntas son abiertas y pueden llevar a interesantes discusiones que le pueden decir más sobre las capacidades de la persona que una simple respuesta.</p><h2 id="%C3%ADndice"><a class="header-anchor" href="#%C3%ADndice" aria-hidden="true"></a> Índice</h2><ol><li><a href="#general">Preguntas generales</a></li><li><a href="#html">Preguntas específicas de HTML</a></li><li><a href="#css">Preguntas específicas de CSS</a></li><li><a href="#js">Preguntas específicas de JavaScript</a></li><li><a href="#testing">Preguntas sobre pruebas de código</a></li><li><a href="#performance">Preguntas sobre rendimiento</a></li><li><a href="#network">Preguntas sobre conectividad</a></li><li><a href="#codigojs">Preguntas de código</a></li><li><a href="#divertidas">Preguntas divertidas</a></li></ol><h2 id="contribuyendo"><a class="header-anchor" href="#contribuyendo" aria-hidden="true"></a> Contribuyendo</h2><ol><li><a href="#contribuyentes">Contribuyentes</a></li><li><a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/CONTRIBUTING.md">Cómo contribuir</a></li><li><a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/LICENSE.md">Licencia</a></li></ol><h4><a name="general">Preguntas generales:</a></h4><ul><li>¿Qué has aprendido en esta semana?</li><li>¿Qué es lo que te interesa de la programación?</li><li>¿Podría describir algún problema técnico que haya resuelto recientemente?</li><li>¿Cuáles son las consideraciones del área de interfaces, rendimiento, posicionamiento, mantenimiento o seguridad que toma en cuenta al desarrollar sitios o aplicaciones web?</li><li>Hable acerca de su ambiente de desarrollo preferido.</li><li>¿Qué sistemas de control de versiones ha usado?</li><li>¿Puede describir el proceso que sigue cuando crea una página web?</li><li>Si tuviera cinco hojas de estilo distintas, ¿cómo las integraría a su página web?</li><li>¿Puede describir la diferencia entre “Progressive Enhancement” y “Graceful Degradation”?</li><li>¿Cómo optimizaría los recursos de un sitio web?</li><li>¿Cuántos recursos se pueden descargar simultáneamente de un mismo dominio?</li><li>¿Cuáles son las excepciones?</li><li>Mencione tres formas para disminuir el tiempo de carga de una página (tiempo real o percibido).</li><li>Si se ha unido a un proyecto y los desarrolladores usan tabs y usted usa espacios, ¿qué hace?</li><li>Describa como elaboraría una página con una galería sencilla.</li><li>Si pudiera elegir una tecnología para dominar este año, ¿cuál sería?</li><li>Explique la importancia de estándares y los grupos que los definen.</li><li>¿Sabe que es el <em>Flash Of Unstyled Content</em>?, ¿cómo lo evita?</li><li>Explique qué son las <em>Aplicaciones de internet enriquecidas y accesibles</em> y los lectores de pantalla, además de cómo hacer una página web accesible</li><li>Explique las ventajas y desventajas de usar animaciones en CSS contrario a usar animaciones hechas con JavaScript.</li><li>¿Qué significa <em>CORS</em> y a qué problema está relacionado?</li></ul><h4><a name="html">Preguntas específicas de HTML:</a></h4><ul><li>¿Qué función cumple el <code>doctype</code> y cuántos tipos puede nombrar?</li><li>¿Cuál es la diferencia entre el modo convencional y el “<em>quirks mode</em>”?</li><li>¿Cuál es la diferencia entre HTML y XHTML?</li><li>¿Hay algún problema al servir las páginas usando: <code>application/xhtml+xml</code>?</li><li>¿Cómo presentaría una página con contenido en varios lenguajes?</li><li>¿Qué consideraciones se deben tener cuando se diseñan/desarrollan sitios multi-lenguajes?</li><li>¿Para qué son buenos los atributos <code>data-</code>?</li><li>¿Puede usar sintaxis de XHTML en HTML5?</li><li>¿Cómo usa XML en HTML5?</li><li>Si consideramos HTML5 como una plataforma web abierta, ¿cuáles son los componentes que constituyen HTML5?</li><li>Describa la diferencia entre <code>cookies</code>, <code>sessionStorage</code> y <code>localStorage</code>.</li><li>Describa la diferencia entre <code><script></code>, <code><script async></code> y <code><script defer></code>.</li><li>Generalmente, ¿por qué es una buena idea agregar la etiqueta <code><link></code> dentro de la etiqueta <code><head></code> y la etiqueta <code><script></code> justo antes de cerrar la etiqueta <code><body></code>. ¿Conoces algún caso excepcional?</li><li>¿Qué es el renderizado progresivo?</li><li>¿Haz usado algún motor para creado de plantillas HTML?</li></ul><h4><a name="css">Preguntas específicas de CSS:</a></h4><ul><li>¿Cuál es la diferencia entre clases e identificadores en CSS?</li><li>¿Cuál es la diferencia entre normalizar y anular el CSS?, ¿cuál usarías y por qué?</li><li>Describa qué son los “floats” y su funcionamiento.</li><li>Describa el <code>z-index</code> y como se decide el contexto de apilado de elementos.</li><li>Describa el contexto de formato de bloques (<em>BFC</em>) y como funciona.</li><li>¿Cuáles son las técnicas para usar la propiedad <code>clear</code> y cuál funciona para cuál contexto?</li><li>Explique ¿qué son los sprites en CSS y cómo los implementarías en una página?</li><li>¿Cuál es su técnica favorita para reemplazar imágenes y cuando usa cada una?</li><li>¿Cómo intentaría resolver problemas de estilo para navegadores específicos?</li><li>¿Cuál es su enfoque al desarrollar páginas que dan soporte a navegadores con capacidades limitadas?</li><li>¿Qué técnicas o procesos usas?</li><li>¿Cuáles son las distintas formas para esconder contenido, pero mantenerlo disponible únicamente para lectores de pantalla?</li><li>¿Ha usado algún sistema para cuadrículas (grids) y cuál prefiere?</li><li>¿Ha usado o implementado “media queries” o reglas específicas para dispositivos móviles?</li><li>¿Está familiarizado con aplicar estilos a SVGs?</li><li>¿Cómo optimiza sus páginas para la impresión?</li><li>¿Cuáles son algunos de los “trucos” para escribir CSS eficiente?</li><li>Menciona las ventajas y desventajas de usar preprocesadores de CSS</li><li>Menciona lo que te agrada y desagrada de los preprocesadores que usas.</li><li>¿Cómo implementaría un diseño que usa fuentes que no son web-safe?</li><li>¿Puede explicar cómo determina un navegador qué elementos coinciden con un selector de CSS?</li><li>Describa los pseudo-elementos y discuta sus usos.</li><li>¿Puede explicar cómo entiende el <code>box model</code> (modelo de cajas) y como podría hacer que un navegador renderize su esquema usando diferentes modelos de cajas?</li><li>¿Qué sucede al usar <code>* {box-sizing: border-box;}</code>. ¿Qué desventajas supone su uso?</li><li>Por favor enliste todos los valores para la propiedad <code>display</code> que pueda recordar</li><li>¿Cuál es la diferencia entre <code>inline</code> y <code>inline-block</code>?</li><li>¿Cuál es la diferencia entre las posiciones <code>relative</code>, <code>fixed</code>, <code>absolute</code> y <code>static</code> para un elemento dado?</li><li>La <em>C</em> en CSS significa <em>cascading</em> (en cascada). ¿Cómo se determina la prioridad al asignar los estilos? ¿Cómo podemos aprovechar ese sistema?</li><li>¿Cuáles frameworks de CSS has usado en desarrollo y producción? ¿Cómo los mejoraría?</li><li>¿Qué sabe sobre CSS Flexbox y cuáles son sus ventajas?</li><li>¿En que difiere el diseño responsivo del diseño adaptativo?</li><li>¿Has trabajado con tecnología retina?, ¿qué técnicas usaste?</li><li>¿Hay alguna razón por la cual preferirías usar <code>translate()</code> en vez de el posicionamiento absoluto? ¿Alguna razón para hacer lo contrario?</li></ul><h4><a name="js">Preguntas específicas de JavaScript:</a></h4><ul><li>Explique “<em>event delegation</em>”.</li><li>Explique cómo funciona <code>this</code> en JavaScript.</li><li>Explique cómo funciona la herencia de prototipos (prototypal inheritance) en JavaScript.</li><li>¿Qué opina de AMD en comparación con CommonJS?</li><li>Explique por qué <code>function foo(){ }();</code> no funciona como un IIFE.</li><li>¿Qué se necesita cambiar para que funcione como una IIFE?</li><li>¿Cuál es la diferencia entre variables <code>null</code>, <code>undefined</code> y <code>undeclared</code>?</li><li>¿Cómo comprobarías que una variable refiere a alguno de esos valores?</li><li>¿Qué es un “<em>closure</em>” y cuando, o por qué usaría uno?</li><li>¿Puede hablar de un uso típico para una función anónima?</li><li>¿Cómo organiza su código, patrón módulo, herencia clásica?</li><li>¿Cuál es la diferencia entre objetos huésped (host objects) y objetos nativos?</li><li>¿Cuál es la diferencia entre: <code>function Person(){}</code>, <code>var person = Person()</code> y <code>var person = new Person()</code>?</li><li>¿Cuál es la diferencia entre <code>.call</code> y <code>.apply</code>?</li><li>¿Puede explicar el uso de <code>Function.prototype.bind</code>?</li><li>¿Cuándo usarías <code>document.write()</code>?</li><li>¿Cuál es la diferencia entre detección de capacidades, inferencia de capacidades y usar la cadena del user agent?.</li><li>Explique AJAX con tanto detalle como pueda.</li><li>Explique cómo funciona JSONP (y cómo no es AJAX realmente)</li><li>¿Ha utilizado alguna vez templates en JavaScript?<ul><li>De ser así, ¿qué bibliotecas ha usado?</li></ul></li><li>¿Puede explicar en qué consiste el “<em>hoisting</em>”?</li><li>¿Puede hablar sobre “<em>event bubbling</em>”?</li><li>¿Cuál es la diferencia entre un “<em>atributo</em>” y una “<em>propiedad</em>”?</li><li>¿Por qué es una mala idea extender objetos nativos de JavaScript?</li><li>¿Cuál es la diferencia entre el evento “<em>document load</em>” y el evento “<em>document ready</em>"?</li><li>¿Cuál es la diferencia entre <code>==</code> y <code>===</code>?</li><li>Explique la política de mismo origen (same-origin policy) y sus repercusiones en JavaScript.</li><li>Haga que este código funcione:</li></ul><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">3</span><span class="token punctuation">,</span><span class="token number">4</span><span class="token punctuation">,</span><span class="token number">5</span><span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">duplicator</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// [1,2,3,4,5,1,2,3,4,5]</span></div></code></pre><ul><li>¿Por qué reciben el nombre de sentencias ternarias? ¿Qué significa la palabra “<em>ternaria</em>”?</li><li>¿Qué es <code>"use strict";</code>? ¿Cuáles son las ventajas y desventajas de usarlo?</li><li>Haga un ciclo <code>for</code> de <code>100</code> iteraciones que imprima <strong>“fizz”</strong> en los múltiplos de <code>3</code>, <strong>“buzz”</strong> en los múltiplos de <code>5</code> y <strong>“fizzbuzz”</strong> en los múltiplos de <code>3</code> y <code>5</code></li><li>De manera general, ¿por qué es una buena idea no usar el “ámbito” (scope) global de un sitio web?</li><li>¿Por qué usaría el evento <code>load</code>?, ¿usarlo representa alguna ventaja?, ¿conoce alternativas y el por qué usaría dichas alternativas?</li><li>Explique en qué consiste una aplicación de una sola página y como hacer una que bajo los términos del posicionamiento en los buscadores.</li><li>¿Qué tanto sabes acerca de las promesas en javascript? ¿Conoce alternativas a ellas?</li><li>Mencione las ventajas y desventajas de usar promesas en vez de callbacks.</li><li>Menciona las ventajas y desventajas de escribir Javascript a través de otro lenguaje que compile y su resultado sea Javascript.</li><li>¿Qué herramientas y técnicas usa para depurar código Javascript?</li><li>¿Qué código utiliza para iterar sobre propiedades de un objeto y sobre arreglos?</li><li>Explique la diferencia entre objetos mutables y objetos inmutables.</li><li>Mencione un ejemplo de un objeto inmutable en javascript.</li><li>Mencione las ventajas y desventajas de la inmutabilidad.</li><li>¿Cómo puede usar la inmutabilidad en su código?</li><li>Explique la diferencia entre funciones síncronas y asíncronas.</li><li>¿Qué es el <code>event loop</code>?</li><li>¿Cuál es la diferencia entre la pila de llamadas y la cola de tareas?</li></ul><h4><a name="codigojs">Preguntas sobre pruebas de código:</a></h4><ul><li>Menciona ventajas y desventajas de realizar pruebas en el código</li><li>¿Qué herramientas usarías para probar la funcionalidad de tu código?</li><li>¿Cuál es la diferencia entre una prueba unitaria y una prueba de funcionalidad?</li><li>¿Cuál es el propósito de usar herramientas para verificar los estilos usados en el código?</li></ul><h4><a name="performance">Preguntas sobre rendimiento:</a></h4><ul><li>¿Qué herramientas usarías para detectar un error en el rendimiento de tu código?</li><li>¿De qué formas podrías mejorar el rendimiento del scrolling en tu sitio web?</li><li>Menciona las diferencias entre los términos <code>layout</code>, <code>painting</code> y <code>compositing</code>.</li></ul><h4><a name="network">Preguntas sobre conectividad:</a></h4><ul><li>Tradicionalmente, ¿Por qué es mejor servir los recursos estáticos del sitio desde múltiples dominios?</li><li>Intenta explicar el proceso desde el momento en el cual ingresas una URL en el navegador hasta que termina de cargar la página en tu pantalla.</li><li>¿Cuáles son las diferencias entre <code>Long-polling</code>, <code>websockets</code> y <code>server-sent events</code>?</li><li>Explique las siguientes cabeceras de respuesta y envío.</li><li><code>Expires</code>, <code>Date</code>, <code>Age</code> y <code>If-Modified-</code></li><li><code>Do Not Track</code></li><li><code>Cache-Control</code></li><li><code>Transfer-Encoding</code></li><li><code>Etag</code></li><li><code>X-Frame-Options</code></li><li>¿Qué son las acciones <code>HTTP</code>? explique las acciones HTTP que conozca.</li></ul><h4><a name="codigojs">Preguntas de código:</a></h4><p><em>Pregunta: ¿Cuál es el valor de <code>foo</code>?</em></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token number">10</span> <span class="token operator">+</span> <span class="token string">'20'</span><span class="token punctuation">;</span></div></code></pre><p><em>Pregunta: ¿Cómo harías funcionar esto?</em></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><span class="token function">add</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 7</span></div><div class="highlight-line"><span class="token function">add</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 7</span></div></code></pre><p><em>Pregunta: ¿Cuál es el resultado de la siguiente sentencia?</em></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><span class="token string">"i'm a lasagna hog"</span><span class="token punctuation">.</span><span class="token function">split</span><span class="token punctuation">(</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">reverse</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">join</span><span class="token punctuation">(</span><span class="token string">""</span><span class="token punctuation">)</span><span class="token punctuation">;</span></div></code></pre><p><em>Pregunta: ¿Cuál es el valor de <code>window.foo</code>?</em></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><span class="token punctuation">(</span> window<span class="token punctuation">.</span>foo <span class="token operator">||</span> <span class="token punctuation">(</span> window<span class="token punctuation">.</span>foo <span class="token operator">=</span> <span class="token string">"bar"</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span><span class="token punctuation">;</span></div></code></pre><p><em>Pregunta: ¿Cuál es el resultado de los dos <em>alerts</em>?</em></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token string">"Hello"</span><span class="token punctuation">;</span></div><div class="highlight-line"><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></div><div class="highlight-line"> <span class="token keyword">var</span> bar <span class="token operator">=</span> <span class="token string">" World"</span><span class="token punctuation">;</span></div><div class="highlight-line"> <span class="token function">alert</span><span class="token punctuation">(</span>foo <span class="token operator">+</span> bar<span class="token punctuation">)</span><span class="token punctuation">;</span></div><div class="highlight-line"><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></div><div class="highlight-line"><span class="token function">alert</span><span class="token punctuation">(</span>foo <span class="token operator">+</span> bar<span class="token punctuation">)</span><span class="token punctuation">;</span></div></code></pre><p><em>Pregunta: ¿Cuál es el valor de <code>foo.length</code>?</em></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span></div><div class="highlight-line">foo<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span></div><div class="highlight-line">foo<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">)</span><span class="token punctuation">;</span></div></code></pre><p><em>Pregunta: ¿Cuál es el valor de <code>foo.x</code>?</em></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line"><span class="token keyword">var</span> foo <span class="token operator">=</span> <span class="token punctuation">{</span>n<span class="token punctuation">:</span> <span class="token number">1</span><span class="token punctuation">}</span><span class="token punctuation">;</span></div><div class="highlight-line"><span class="token keyword">var</span> bar <span class="token operator">=</span> foo<span class="token punctuation">;</span></div><div class="highlight-line">foo<span class="token punctuation">.</span>x <span class="token operator">=</span> foo <span class="token operator">=</span> <span class="token punctuation">{</span>n<span class="token punctuation">:</span> <span class="token number">2</span><span class="token punctuation">}</span><span class="token punctuation">;</span></div></code></pre><p><em>Pregunta: ¿Qué imprime el siguiente código?</em></p><pre class="language-javascript"><code class="language-javascript"><div class="highlight-line">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'one'</span><span class="token punctuation">)</span><span class="token punctuation">;</span></div><div class="highlight-line"><span class="token function">setTimeout</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></div><div class="highlight-line"> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'two'</span><span class="token punctuation">)</span><span class="token punctuation">;</span></div><div class="highlight-line"><span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span></div><div class="highlight-line">console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">'three'</span><span class="token punctuation">)</span><span class="token punctuation">;</span></div></code></pre><h4><a name="divertidas">Preguntas divertidas:</a></h4><ul><li>¿Qué es lo más genial que ha programado y qué es lo que más le enorgullece de ello?</li><li>¿Cuáles son sus partes favoritas de las herramientas de desarrollo que usa?</li><li>¿Tiene algún proyecto personal? ¿De qué tipo?</li><li>¿Cuál es su funcionalidad favorita de Internet Explorer?</li><li>¿Cómo te gusta tu café?</li></ul><h4><a name="contribuyentes">Contribuyentes</a></h4><p>Este documento se creó en 2009 como una colaboración de <a href="http://twitter.com/paul_irish">@paul_irish</a> <a href="http://twitter.com/bentruyman">@bentruyman</a> <a href="http://twitter.com/cowboy">@cowboy</a> <a href="http://twitter.com/ajpiano">@ajpiano</a> <a href="http://twitter.com/slexaxton">@SlexAxton</a> <a href="http://twitter.com/boazsender">@boazsender</a> <a href="http://twitter.com/miketaylr">@miketaylr</a> <a href="http://twitter.com/vladikoff">@vladikoff</a> <a href="http://twitter.com/gf3">@gf3</a> <a href="http://twitter.com/jon_neal">@jon_neal</a> <a href="http://twitter.com/sambreed">@sambreed</a> y <a href="http://twitter.com/iansym">@iansym</a>.</p><p>Ha recibido contribuciones de <a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/graphs/contributors">100 desarrolladores</a>.</p></div><div class="content-edit"><a rel="external noreferrer noopener" target="_blank" href="https://github.com/h5bp/Front-end-Developer-Interview-Questions/tree/master/src/translations/spanish/index">Edit this page</a></div></main><footer class="footer"><p class="footer-text">Copyright (c) 2012 - 2018. Contributors to <a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions">Front-end-Developer-Interview-Questions.</a><br>This project is maintained by <a href="https://github.com/cezaraugusto" target="_blank" rel="noreferrer noopener">Cezar Augusto</a>, <a href="https://github.com/roblarsen" target="_blank" rel="noreferrer noopener">Rob Larsen</a> and <a href="https://github.com/vvscode" target="_blank" rel="noreferrer noopener">Vasiliy Vanchuk</a> .<br>Curious about the project? <a href="/about/">Read more about here</a>.</p></footer></div><script>console.log("%cA black belt is a white belt that didn't quit.","color: #fff; font-size: 80px; text-shadow: 1px 1px 1px #000; font-family: serif;");</script></body></html> |