# Desarrollo de CLI (Go) > Diseño de CLI, paquete flag, cobra/viper, estructuración de apps CLI, exit codes, stdin/stdout/stderr, patrones UX, testing de apps CLI - 20 preguntas de entrevista - Senior - [Preguntas de entrevista: Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista.md) ## 1. ¿Cuál es el rol principal del paquete flag en Go? **Respuesta** El paquete flag proporciona una API simple para parsear los argumentos de línea de comandos. Permite definir flags con tipos predefinidos (string, int, bool, etc.) y gestiona automáticamente el parsing y la validación. Este paquete forma parte de la biblioteca estándar y es adecuado para CLI simples. ## 2. ¿Cómo definir un flag string con el paquete flag y recuperar su valor? **Respuesta** La función flag.String retorna un puntero al valor del flag. Después de llamar a flag.Parse(), se puede acceder al valor desreferenciando el puntero. También es posible usar flag.StringVar para vincular directamente a una variable existente. ## 3. ¿Cuál es la diferencia entre flag.String y flag.StringVar? **Respuesta** flag.String aloja una nueva variable y retorna un puntero a ella, mientras que flag.StringVar vincula el flag a una variable existente pasada por dirección. StringVar es útil cuando la variable debe definirse a nivel de paquete o cuando se quiere evitar las desreferenciaciones. ## 17 preguntas más disponibles - ¿Qué código de salida usar cuando una aplicación CLI encuentra un error de argumentos inválidos? - ¿Cuál es la principal ventaja de Cobra frente al paquete flag estándar? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Go - [Fundamentos de Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-basics.md): 25 preguntas, Junior - [Estructuras de datos en Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-data-structures.md): 20 preguntas, Junior - [Interfaces en Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-interfaces.md): 18 preguntas, Junior - [Manejo de errores](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/error-handling.md): 20 preguntas, Junior - [Goroutines básicas](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/goroutines-basics.md): 20 preguntas, Junior - [Channels](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/channels.md): 22 preguntas, Junior - [Go Modules](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-modules.md): 18 preguntas, Mid-Level - [Servidor HTTP](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/http-server.md): 24 preguntas, Mid-Level - [Cliente HTTP](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/http-client.md): 18 preguntas, Mid-Level - [Codificación JSON](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/json-encoding.md): 20 preguntas, Mid-Level - [Database/SQL](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/database-sql.md): 22 preguntas, Mid-Level - [Paquete context](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/context-package.md): 20 preguntas, Mid-Level - [Testing](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/testing.md): 22 preguntas, Mid-Level - [Patrones de concurrencia](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/concurrency-patterns.md): 24 preguntas, Mid-Level - [Primitivas de sincronización](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/sync-primitives.md): 22 preguntas, Mid-Level - [Frameworks web de Go](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/go-web-frameworks.md): 20 preguntas, Mid-Level - [Diseño de API REST](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/rest-api-design.md): 20 preguntas, Mid-Level - [gRPC](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/grpc.md): 22 preguntas, Mid-Level - [Reflection](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/reflection.md): 20 preguntas, Senior - [Gestión de memoria](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/memory-management.md): 24 preguntas, Senior - [Optimización del rendimiento](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Generics](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/generics.md): 20 preguntas, Senior - [Go Design Patterns](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/design-patterns.md): 24 preguntas, Senior - [Microservices](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/microservices.md): 24 preguntas, Senior - [Seguridad y autenticación](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/security-authentication.md): 24 preguntas, Senior - [Docker & Containerization](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/docker-containerization.md): 20 preguntas, Senior - [Kubernetes Basics](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/kubernetes-basics.md): 22 preguntas, Senior - [Go Avanzado](https://sharpskill.dev/es/technologies/go/preguntas-entrevista/advanced-go.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/go/preguntas-entrevista/cli-development