Frontend - Junior

0/10 preguntas respondidas 0%
Información del candidato
Formatos aceptados: PDF, DOC, DOCX. Máximo 5MB

Preguntas de conocimiento

Pregunta 1 de 10: ¿Cuál es la diferencia principal entre `<section>`, `<article>` y `<div>` en HTML5?
Pregunta 2 de 10: Para un blog post que muestra autor, fecha y comentarios, ¿qué combinación de elementos semánticos es más apropiada?
Pregunta 3 de 10: Observa este CSS: `.container { display: flex; justify-content: center; } .child { align-self: center; }` — El hijo NO se centra verticalmente. ¿Por qué?
Pregunta 4 de 10: ¿Cuál es la diferencia entre `rem`, `em` y `px` en CSS?
Pregunta 5 de 10: ¿Qué imprime este código? `for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, 100); }`
Pregunta 6 de 10: ¿Qué es event delegation y cuándo es útil?
Pregunta 7 de 10: ¿Cuáles son las meta tags esenciales para SEO y redes sociales?
Pregunta 8 de 10: En una interfaz, el botón "Eliminar" tiene el mismo estilo, tamaño y color que el botón "Guardar". ¿Qué principio de UI/UX se está violando?
Pregunta 9 de 10: ¿Cuál es la diferencia entre `dependencies` y `devDependencies` en package.json, y qué hace `package-lock.json`?
Pregunta 10 de 10: ¿Qué es two-way data binding y cómo se implementa en Angular y Vue?

Desafío de código

Crea un componente de tarjeta de producto responsive usando HTML semántico y CSS puro (sin frameworks CSS). El componente debe seguir un enfoque mobile-first y ser completamente funcional en diferentes tamaños de pantalla.

Requisitos

  1. Usar HTML semántico apropiado (article, figure, heading, etc.)
  2. Diseño mobile-first con al menos un breakpoint para desktop
  3. Estados hover y focus claramente visibles para accesibilidad
  4. Incluir imagen del producto, nombre, precio y botón de acción
  5. No usar frameworks CSS (Bootstrap, Tailwind, etc.) — solo CSS vanilla

Ejemplos

Entrada: { product: { name: "Auriculares Bluetooth", price: 49.99, image: "headphones.jpg" } }
Salida: Tarjeta responsive que muestra la imagen, nombre, precio formateado y un botón "Añadir al carrito" con estados hover/focus visibles

Tecnologías aceptadas

  • HTML5
  • CSS3
  • JavaScript vanilla
  • TypeScript

Envío de solución

Plataformas soportadas: GitHub, GitLab, Bitbucket Introduce una URL válida de repositorio (https://github.com, gitlab.com o bitbucket.org seguido de usuario/repositorio)