Test cuestionario sobre programación orientada a objetos - the question form

Preguntas: 16 · 10 minutos
1. Necesitas agregar registro de eventos o almacenamiento en caché en torno a un servicio durante el tiempo de ejecución, sin crear muchas subclases ni cambiar la implementación del servicio. ¿Qué patrón es el más adecuado?
Singleton
Método fábrica
Método plantilla
Decorador
2. Un BankAccount nunca debe tener un saldo negativo. ¿Qué diseño protege más directamente este invariante de clase?
Permitir actualizaciones directas del saldo y comprobar el valor solo al mostrarlo
Almacenar el saldo en varios campos públicos para compararlo
Restringir las modificaciones no controladas y garantizar que todas las operaciones públicas preserven la regla
Dejar que el código que realiza la llamada decida si cada retiro es válido
3. Dos objetos Customer son instancias separadas, pero contienen el mismo número de cuenta y los mismos datos del cliente. ¿Qué afirmación distingue correctamente la identidad de la igualdad por valor?
Deben tener la misma identidad porque sus datos coinciden
Pueden ser iguales por valor y aun así tener identidades de objeto diferentes
Deben ser diferentes por valor porque se construyeron por separado
La identidad y la igualdad por valor siempre son intercambiables en la POO
4. ¿Qué descripción representa mejor la encapsulación en la programación orientada a objetos?
Definir varias clases con los mismos nombres de métodos
Conservar en un modelo solo las características esenciales de un concepto
Crear una clase nueva extendiendo una clase existente
Agrupar el estado con el comportamiento relacionado y, al mismo tiempo, controlar el acceso directo a ese estado
5. ¿Cuál es la responsabilidad principal de un constructor en una clase bien diseñada?
Establecer el estado inicial del objeto y sus dependencias requeridas
Elegir en tiempo de compilación qué método sobrescrito se ejecutará
Conceder a todas las demás clases acceso directo a los campos internos
Destruir el objeto cuando ya no tenga referencias
6. Un OrderService crea y utiliza directamente un SqlOrderRepository. ¿Qué cambio se ajusta mejor al principio de inversión de dependencias?
Hacer que OrderService dependa de una abstracción de repositorio inyectada
Trasladar todos los métodos de OrderService a SqlOrderRepository
Crear el repositorio en una variable global estática
Hacer que SqlOrderRepository herede de OrderService
7. Un programa envía la misma llamada draw() a objetos Circle, Rectangle y Triangle, y cada objeto responde de manera diferente. ¿Qué concepto ilustra esto?
Encapsulación
Polimorfismo
Composición de objetos
Encadenamiento de constructores
8. ¿Qué relación respalda con mayor solidez el uso adecuado de la herencia?
La clase nueva contiene una instancia de la clase existente
La clase nueva llama temporalmente a métodos de la clase existente
Las dos clases simplemente almacenan campos similares
La clase nueva es un tipo especializado que puede sustituir al tipo existente
9. Una clase base Bird exige que cada subtipo implemente fly(). Un subtipo Penguin solo puede implementarlo lanzando un error de operación no compatible. ¿Cuál es el mejor rediseño?
Trasladar el comportamiento de vuelo a una capacidad independiente implementada solo por las aves que vuelan
Hacer que Penguin sobrescriba todos los métodos de Bird
Agregar una comprobación de tipo antes de cada llamada a fly()
Mantener fly() en Bird y devolver false para los pingüinos
10. ¿Cuál es el propósito principal de la abstracción en el diseño orientado a objetos?
Garantizar que todas las clases hereden de otra clase
Exponer todos los campos que necesitan los objetos colaboradores
Modelar el comportamiento esencial y ocultar los detalles innecesarios de implementación
Convertir todos los métodos de instancia en métodos estáticos
11. Un OrderService llama a un proveedor de pagos externo. ¿Cómo puedes realizar pruebas unitarias del servicio de la manera más eficaz sin efectuar solicitudes de pago reales?
Copiar el código de producción del proveedor de pagos en la prueba
Realizar la solicitud de pago real y revertir inmediatamente la transacción
Inyectar una abstracción de pasarela de pagos y sustituirla por un doble de prueba controlado
Eliminar la llamada de pago de OrderService durante las pruebas
12. Un objeto Money debe ser inmutable. ¿Qué decisión de implementación respalda mejor ese objetivo?
Exponer su campo de cantidad para que el código que lo utiliza pueda actualizarlo directamente
Proporcionar métodos de asignación que rechacen silenciosamente algunos cambios
Mantener su estado como de solo lectura después de la construcción y devolver objetos nuevos para los valores modificados
Almacenar una única cantidad mutable compartida por todas las instancias de Money
13. Una interfaz MultiFunctionDevice exige print(), scan() y fax(), pero una impresora básica solo puede imprimir. ¿Qué rediseño se ajusta mejor al principio de segregación de interfaces?
Convertir los métodos de la impresora en campos públicos
Dividir la interfaz en capacidades más pequeñas de impresión, escaneo y envío de fax
Trasladar los tres métodos a una superclase abstracta común
Hacer que la impresora básica lance errores para scan() y fax()
14. Un Car necesita un Engine, pero se pueden instalar o reemplazar distintas implementaciones de motor. ¿Qué diseño representa mejor esta relación?
Hacer que Engine herede de Car
Almacenar todas las operaciones del motor como funciones globales
Duplicar el comportamiento del motor dentro de cada clase Car
Proporcionar a Car una referencia a Engine mediante composición
15. Una aplicación debe admitir nuevos formatos de exportación sin modificar repetidamente las clases de exportación que ya se probaron. ¿Qué diseño respalda mejor el principio abierto/cerrado?
Definir una abstracción de exportador y agregar una implementación nueva para cada formato
Colocar el algoritmo de cada formato en una única clase de exportador de gran tamaño
Agregar una sentencia condicional cada vez mayor para todos los formatos
Copiar el exportador existente y cambiar el nombre de sus métodos públicos
16. Una variable declarada como PaymentMethod hace referencia, en tiempo de ejecución, a un objeto CreditCardPayment. Cuando se llama a un método process() sobrescrito, se ejecuta la implementación para tarjetas de crédito. ¿Qué mecanismo seleccionó ese método?
Sobrecarga de métodos en tiempo de compilación
Despacho dinámico
Delegación de constructores
Ocultamiento de campos
Pruebas populares
Inventario de Personalidad Narcisista (NPI)
Se utiliza una medida de autorreporte para explorar la presencia de rasgos…
Iniciar el test
Escala Obsesivo-Compulsiva de Yale-Brown (Y-BOCS)
Se utiliza para estimar la gravedad de síntomas obsesivo-compulsivos, con é…
Iniciar el test
Cuestionario CRAFFT 2.1
Se utiliza como herramienta breve de tamizaje el Cuestionario CRAFFT 2.1 pa…
Iniciar el test
Cuestionario de Salud del Paciente (PHQ-9)
Se utiliza un instrumento breve como el Cuestionario de Salud del Paciente…
Iniciar el test
Inventario de Burnout de Maslach (MBI)
Esta prueba permite evaluar manifestaciones de desgaste laboral mediante au…
Iniciar el test
Cuestionario De Ansiedad En Adolescentes
En la evaluación clínica de adolescentes, el Cuestionario De Ansiedad En Ad…
Iniciar el test
Cuestionario de Creatividad Emocional (ECI)
Se utiliza el Cuestionario de Creatividad Emocional (ECI) para explorar la…
Iniciar el test
Cuestionario de Matutinidad-Vespertinidad (MEQ)
Se utiliza el Cuestionario de Matutinidad-Vespertinidad (MEQ) para estimar…
Iniciar el test
Escala De Sexismo Ambivalente (ASI)
Se utiliza la Escala De Sexismo Ambivalente (ASI) para evaluar actitudes y…
Iniciar el test
Escala De Misoginia Interiorizada (IMS)
Se utiliza la Escala De Misoginia Interiorizada (IMS) para explorar la pres…
Iniciar el test
Escala De Estrés Percibido (PSS-10)
Se utiliza la Escala De Estrés Percibido (PSS-10) para estimar el nivel de…
Iniciar el test
Escala De Conducta Impulsiva (SUPPS-P)
Se utiliza la Escala De Conducta Impulsiva (SUPPS-P) para una evaluación br…
Iniciar el test
Escala De Evaluación Del Síndrome De Abstinencia De Alcohol (CIWA-AR)
Se utiliza para valorar de forma breve la intensidad de signos y síntomas a…
Iniciar el test
Escala De Afecto Positivo Y Negativo (PANAS)
Se utiliza para estimar la intensidad de afecto positivo y afecto negativo…
Iniciar el test
Escala de la Tríada Luminosa (LTS)
Este instrumento de autoinforme permite explorar rasgos de orientación pros…
Iniciar el test
Escala De Ideación Suicida
Se utiliza para estimar la intensidad y las características de la ideación…
Iniciar el test
Escala Del Trastorno Dismórfico Corporal (BDD-D)
Se trata de un instrumento breve de tamizaje para explorar preocupaciones p…
Iniciar el test
Inventario de Ansiedad de Beck (BAI)
Se utiliza el Inventario de Ansiedad de Beck (BAI) como instrumento de auto…
Iniciar el test
Prueba Diferencial de Perfeccionismo
Este instrumento de autoinforme, la Prueba Diferencial de Perfeccionismo, s…
Iniciar el test
Escala De Locus De Control
Este instrumento permite explorar la percepción del grado de control person…
Iniciar el test
Nueva Escala de Apatía
Se utiliza la Nueva Escala de Apatía como instrumento de tamizaje para expl…
Iniciar el test
Cuestionario Perth de Alexitimia (PAQ)
Se utiliza el Cuestionario Perth de Alexitimia (PAQ) para evaluar dificulta…
Iniciar el test
Escala De Inteligencia Social
Se utiliza para explorar aspectos del funcionamiento interpersonal y la com…
Iniciar el test
Prueba de Miedo
Esta herramienta de evaluación psicológica permite explorar respuestas de t…
Iniciar el test
Nivel De Neuroticismo
Se utiliza para una estimación inicial de la tendencia a reacciones neuróti…
Iniciar el test
Cuestionario Breve de Indicadores de Agresividad
Se utiliza para obtener una estimación rápida de indicadores conductuales a…
Iniciar el test