Respuestas modelo
Consulta aquí las respuestas correctas y explicaciones de las autoevaluaciones y los tests del manual. Ideal para repasar antes de un test o aclarar dudas.
3.08 · Debugging Profesional y Git Avanzado
16 preguntas con respuesta en este tema.
🎯 Autoevaluación (3)
¿Qué es un breakpoint en un debugger?
- A. Un error de compilación
- B. Un punto donde la ejecución se detiene para inspeccionar variables ✓ CORRECTA
- C. Un tipo de variable
- D. Una función
Breakpoint: marca una línea donde el debugger pausa. Permite ver el estado del programa en ese momento.
¿Qué hace `git rebase`?
- A. Borra la rama
- B. Reaplica los commits de una rama sobre otra base ✓ CORRECTA
- C. Fusiona dos ramas
- D. Crea un nuevo repositorio
rebase mueve los commits de una rama al final de otra, reescribiendo el historial. Útil para mantener historia limpia.
¿Cuál es la diferencia entre `git merge` y `git rebase`?
- A. Son idénticos
- B. merge preserva historia con merge commit, rebase la reescribe linealmente ✓ CORRECTA
- C. merge es más rápido
- D. rebase borra commits
merge: une ramas preservando el grafo. rebase: reaplica commits sobre otra rama, historia lineal.
📝 Test · Sección A · Opción múltiple (10)
¿Qué es un breakpoint?
- A. Un error de compilación
- B. Un punto donde el debugger pausa la ejecución ✓ CORRECTA
- C. Un tipo de variable
- D. Una clase
Breakpoint: marca una línea donde el debugger se detiene.
¿Qué es step-over en un debugger?
- A. Terminar
- B. Ejecutar la línea actual sin entrar en funciones ✓ CORRECTA
- C. Reiniciar
- D. Compilar
Step-over (F10): ejecuta la línea. Si es una función, la ejecuta completa sin entrar.
¿Qué es step-into?
- A. Saltar línea
- B. Entrar en la función llamada ✓ CORRECTA
- C. Terminar
- D. Compilar
Step-into (F11): entra dentro de la función llamada para debuggearla.
¿Qué hace watch en un debugger?
- A. Muestra el tiempo
- B. Monitorea el valor de una expresión/variable ✓ CORRECTA
- C. Compila
- D. Reinicia
Watch: agrega una expresión para ver su valor actual en cada pausa.
¿Qué es git stash?
- A. Borra cambios
- B. Guarda cambios sin commitear para cambiar de rama ✓ CORRECTA
- C. Hace commit
- D. Sube al remoto
git stash: guarda cambios sin commitear, limpia el working dir. Útil para cambiar de rama sin perder trabajo.
¿Qué es git rebase -i?
- A. Borra commits
- B. Rebase interactivo: reordenar, fusionar, editar commits ✓ CORRECTA
- C. Sube
- D. Hace merge
rebase -i: editor interactivo para reescribir historial (squash, reword, reorder).
¿Diferencia entre merge y rebase?
- A. Son iguales
- B. merge preserva, rebase reescribe ✓ CORRECTA
- C. merge es para borrar
- D. rebase es más lento
merge: une preservando grafo. rebase: reescribe historial linealmente.
¿Qué es un commit hook en Git?
- A. Un bug
- B. Script que se ejecuta en eventos de Git (pre-commit, post-commit) ✓ CORRECTA
- C. Un merge
- D. Un branch
Hooks: scripts en .git/hooks/ ejecutados en eventos. Útiles para tests, linter, formato.
¿Para qué sirve git tag?
- A. Borrar commits
- B. Marcar commits importantes (releases) ✓ CORRECTA
- C. Hacer merge
- D. Crear ramas
Tags: marcan versiones (v1.0, v2.0). Lightweight o annotated.
¿Qué es git bisect?
- A. Crear commit
- B. Búsqueda binaria en historial para encontrar el commit que introdujo un bug ✓ CORRECTA
- C. Borrar
- D. Compilar
git bisect: encuentra el commit culpable de un bug con búsqueda binaria.
✍️ Test · Sección B · Preguntas abiertas (3)
Explica tu flujo de trabajo cuando encuentras un bug. ¿Qué herramientas usas?
1. Reproducir el bug. 2. Buscar la causa con debugger (breakpoints, watch). 3. Hipótesis y verificación. 4. Fix mínimo. 5. Test que cubra el bug. 6. Code review. Herramientas: debugger, logs, print statements, git bisect para encontrar el commit culpable.
¿Qué es git bisect y cuándo lo usarías?
Búsqueda binaria en el historial de git para encontrar el commit que introdujo un bug. Útil cuando tienes un test que falla, sabes que antes funcionaba, y tienes muchos commits. Marcas uno bueno y uno malo, git bisect va dividiendo.
¿Por qué es importante un buen mensaje de commit en lugar de "fix" o "wip"?
Un buen mensaje explica qué cambió y por qué. Facilita code review, encontrar bugs (git blame), revertir cambios, entender la historia del proyecto. "fix" o "wip" no dicen nada, obligan a leer el diff completo.
📝 ¿Listo para evaluarte?
Regístrate o inicia sesión para tomar la autoevaluación o el test de este tema y registrar tu puntaje.