CETIS 109
NAVA DEL ANGEL JOSÉ DE JESÚS
LEONARDO DANIEL MOCTEZUMA RUIZ
“CUESTIONARIO 40 PREGUNTAS”
DESARROLLA SOFTWARE UTILIZANDO PROGRAMACION
ORIENTADA A OBJETOS
3° “AM”
PROFA.MARGARITA ROMERO ALVARADO
1- ¿Cuál es la descripción que crees que define mejor el
concepto 'clase' en la programación orientada a objetos?
a) Es un concepto similar al de 'array'
b) Es un tipo particular de variable
c) Es un modelo o plantilla a partir de la cual creamos objetos
d) Es una categoria de datos ordenada secuencialmente
2- ¿Qué elementos crees que definen a un objeto?
e) Sus cardinalidad y su tipo
f) Sus atributos y sus métodos
g) La forma en que establece comunicación e intercambia mensajes
h) Su interfaz y los eventos asociados
3- ¿Qué código de los siguientes tiene que ver con la
herencia?
i) public class Componente extends Producto
j) public class Componente inherit Producto
k) public class Componente implements Producto
l) public class Componente belong to Producto
4- ¿Qué significa instanciar una clase?
m) Duplicar una clase
n) Eliminar una clase
o) Crear un objeto a partir de la clase
p) Conectar dos clases entre sí
5- En Java, ¿a qué nos estamos refiriendo si hablamos de
'Swing'?
q) Una función utilizada para intercambiar valores
r) Es el sobrenombre de la versión 1.3 del JDK
s) Un framework específico para Android
t) Una librería para construir interfaces gráficas
6- ¿Qué es Eclipse?
u) Una libreria de Java
v) Una versión de Java especial para servidores
w) Un IDE para desarrollar aplicaciones
x) Ninguna de las anteriores
7- ¿Qué es el bytecode en Java?
y) El formato de intercambio de datos
z) El formato que obtenemos tras compilar un fuente .java
aa)Un tipo de variable
bb) Un depurador de código
8- ¿Qué código asociarías a una Interfaz en Java?
cc)public class Componente interface Product
dd) Componente cp = new Componente (interfaz)
ee)public class Componente implements Printable
ff) Componente cp = new Componente.interfaz
9- ¿Qué significa sobrecargar (overload) un método?
gg) Editarlo para modificar su comportamiento
hh) Cambiarle el nombre dejándolo con la misma funcionalidad
ii) Crear un método con el mismo nombre pero diferentes argumentos
jj) Añadirle funcionalidades a un método
10- ¿Qué es una excepción?
kk)Un error que lanza un método cuando algo va mal
ll) Un objeto que no puede ser instanciado
mm) Un bucle que no finaliza
nn) Un tipo de evento muy utilizado al crear interfaces
11-¿Qué es JVM?
oo) Java V Mobile: la versión 5 de Java para dispositivos
móviles
pp) Java Virtual Machine: la máquina virtual Java que traduce el
bytecode para que se ejecute en la platorma donde está implementada
qq) Java Virtual Memory: el gestor de memoria virtual de Java
que permite liberar memoria RAM, moviendo objetos Java a una zona
de disco duro
12-De qué forma marcamos una línea en Java como comentario?
rr) Comenzando la línea con "//"
ss) Encerrando la línea entre "<--" y "!-->"
tt) Comenzando la línea con "**"
uu) Encerrando la línea entre "/" y "/"
13-¿Qué opción define mejor el concepto de ‘herencia’ en Java?
vv) Propiedad que permite crear múltiples objetos a partir de una sola
clase
ww) Es la compatibilidad que presenta Java entre versiones: se
pueden ejecutar aplicaciones creadas en una versión antigua en una
más moderna
xx) Permite crear una clase (subclase) basada en otra clase
(superclase)
14-¿Cuáles son las características de la POO?
yy)♥Abstraccion
zz)Encapsulamiento
15.- ¿’Cuales son las 2 condiciones que debe llevar el DO While en
programación?
aaa) -Si, cuando se cumple la condición y sirve para finalizar el
programa, el no cunado no se cumple la condición
bbb) ♥- puede llevar dos condiciones y cuidar que existan 2 de
rompimiento o terminación de ciclo
16.-¿Que es la POO?
ccc) ♥-Una nueva forma de programar que trata de encontrar
solución a estos problemas introduce nuevos conceptos, que superan
y amplian conceptos antiguos ya conocidos
- Una forma de programación diseñada para hacer el trabajo de el
programador mas fácilmente
17.-¿Que es Abstraccion como característica de poo?
ddd) ♥-Denota las caracteristcas esenciales de un objeto, donde se
capturan sus comportamientos. Cada objeto en el sistema sirve como
modelo de un’’agente’’ abstracto que puede realizar trabajo, informar y
cambiar su estado y ‘’comunicarse’’ con otros objetos en el sistema
sin revelar como se implementan estas características
eee) -La que controla procesos, las funciones o los métodos pueden
también ser abstraídos y cuanbdo lo están, una variedad de técnicas
son requeridas para ampliar una abstracción
18.-¿El elemento fundamental de la OOP es:?
fff) -Esta definición especifica varias propiedades importantes de los
objetos. En primer lugar un objeto no es un dato simple, sino que
contiene en su interior cierto numero de componentes bien
estructurados.}
ggg) ♥-Como su nombre lo indica, el objeto Podemos definir un
objeto como un conjunto complejo de datos y programas que poseen
estructura y forman parte de una organización
19.-¿En que año se popularizo este programa?
hhh) -En la década de los 80’s
iii) ♥-Principios de la década de 1990
20.-¿En que técnicas esta basada la programación orientada a objetos?
jjj) -Tecnicas de programación, como la de programar con finciones como
el IF, Esle IF etc…
kkk) ♥-Varias técnicas, incluyendo herencia, modularidad,
polimorfismo y encapsulamiento
10 preguntas de Abiertas
1. ¿Qué significa la palabra clave static, y dónde puede ser usada?
static puede ser usada de 4 formas:
 las variables static son compartidas por la clase, no por una
instancia concreta (no como las variables miembro normales)
 los métodos static también son compartidos a nivel de clase
 las clases static son clases internas que no están atadas a su clase
contenedora
 static también puede usarse en un bloque de código de una clase
para especificar código que se ejecutará cuando la máquina virtual
se inicia por primera vez, antes de que se creen instancias de la
clase.
2. ¿Cómo trataría con problemas de dependencia?
Esta pregunta es ambigua a propósito. Puede referirse a resolver
problemas de inyección de dependencias (Guice es una herramienta
estándar que ayuda con esto). También puede referirse a proyectar
dependencias – usando librerias externas, de terceras personas.
Herramientas como Maven y Gradle ayudan a administrarlas. Debería
considerar aprender más sobre Maven para preparar esta pregunta.
3. Quiere crear una clase simple que sólo tenga tres variables miembro.
Dígame cómo haría esto.
Este problema parece fácil a simple vista, y crear una clase sencilla se
explica en clases como Programación Orientada a Objetos.
Pero un programador experimentado reconocerá que es necesario saber
cómo sobrescribir correctamente los métodos hashCode() y equals()
(usando, por ejemplo, EqualsBuilder y HashCodeBuilder, en la libería
Apache Commons). Puede encontrar temas más avanzados como estos
en el curso Programación Orientada a Objetos II (Spring MVC).
4. ¿Qué hace la palabra clave synchronized? Dígame cómo usarla para
establecer una única variable sin condiciones.
synchronized le dice a un método que tiene que mantener el bloqueo del
objeto al ejecutar. Si se usa alrededor de un bloque, como synchronized
(obj) { … }, bloqueará el objeto obj antes de ejecutar ese bloque.
5. ¿Qué es el borrado de tipos?
El borrado de tipos es un fenómeno JVM que significa que en tiempo de
ejecución no se tiene conocimiento de los tipos de objetos genéricos,
como List<Integer> (el compilador ve a todos los objetos Lista teniendo
el mismo tipo, List<Object>).
6. ¿Cuándo y por qué son los getters y setters importantes?
Mientras que una clase avanzada Java puede tratar el tema, el concepto
principal que hay que saber para las entrevistas es que los setters y
getters pueden formar parte de interfaces y pueden esconder detalles de
la implementación, de forma que no hay que hacer a las variables
miembro públicas (lo que haría a tu clase peligrosamente frágil).
7. ¿Qué diferencias hay entre Map, Hashtable, HashMap, TreeMap,
ConocurrentHashMap, LinkedHashMap?
 Map es una interfaz con una correspondencia clave-valor
 HashMap es un Map que utiliza una hash table para su
implementación
 Hashtable es una versión sincronizada de HashMap
 TreeMap usa un árbol para implementar un Map.
 ConcurrentHashMap permite a varios hilos que lo accedan al
mismo tiempo y de forma segura
 LinkedHashMap conserva el orden de iteración de los objetos que
fueron insertados (otros no proporcionan un orden de iteración
fijo)
8. ¿Cuáles son las diferencias entre interfaces, clases abstractas, clases e
instancias?
 Las interfaces son básicamente una lista de métodos sin código ni
variables miembro que deben ser implementados
 Las clases abstractas no pueden ser instanciadas, pero pueden
contener variables, métodos implementados o sin implementar..
 Las clases contienen variables y sólo métodos implementados, y
pueden ser instanciadas.
 Las instancias (u objetos) son ejemplos específicos de una clase en
particular.
9. Si necesitara proporcionar una GUI para su programa Java, ¿qué
utilizaría?
Hay muchas opciones, desde aplicaciones web a aplicaciones locales.
Normalmente, los entrevistadores se refieren a Swing ú otras
herramientas de interfaz gráfica como esta.
10. ¿Cómo prueba usted su código?
Deberá hablar de su experiencia usando liberías como JUnit, Mockito, y
Selenium. Aunque no tenga un gran conocimiento sobre pruebas, ser
capaza de hablar sobre estas librerías es un buen primer paso.
El Desarrollo Orientado a Pruebas (TDD) es muy popular en este
momento, y sería muy bueno que hablara de cualquier experiencia que
tenga relacionada con ello.
10 Preguntas de Verdadero y Falso
1.- las clases fileinputstream y fileoutputstream estan orientadas
a manejar ficheros binarios.
( v ) VERDADERO ( ) Falso
2.- las operaciones de lectura como de escritura son de la clase
java.net.
( ) Verdadero ( F) falso
3.- las clases fileinputstream y fileoutputstream pertenecen al
package java.lang
( ) Verdadero ( f ) falso
4.- en las clases de fileinputstream y fileoutputstream es
necesario importarlas
( v ) verdadero ( ) falso
5.- la clase fileinputstream abre un fichero binario en modo
lectura.
( v ) verdadero ( ) falso
6.- en la clase fileoutputstream abre un fichero boinario en modo
escritura jav.lang
( ) Verdadero ( F ) falso
7.- el método más relevante de la clase fileinputstream void close
(): cierra el flujo de lectura
( v ) verdadero ( ) falso
8.- int read (: lee un byte del fichero.
( ) verdadero ( f ) falso
9.- void close de la clase fileoutputstream cierra el flujo de
escritura.
( v ) verdadero ( ) falso
10.- void write escribe (int b) escribe un byte en el buffer.
( ) verdadero ( f ) falso

Cuestionario

  • 1.
    CETIS 109 NAVA DELANGEL JOSÉ DE JESÚS LEONARDO DANIEL MOCTEZUMA RUIZ “CUESTIONARIO 40 PREGUNTAS” DESARROLLA SOFTWARE UTILIZANDO PROGRAMACION ORIENTADA A OBJETOS 3° “AM” PROFA.MARGARITA ROMERO ALVARADO
  • 2.
    1- ¿Cuál esla descripción que crees que define mejor el concepto 'clase' en la programación orientada a objetos? a) Es un concepto similar al de 'array' b) Es un tipo particular de variable c) Es un modelo o plantilla a partir de la cual creamos objetos d) Es una categoria de datos ordenada secuencialmente 2- ¿Qué elementos crees que definen a un objeto? e) Sus cardinalidad y su tipo f) Sus atributos y sus métodos g) La forma en que establece comunicación e intercambia mensajes h) Su interfaz y los eventos asociados 3- ¿Qué código de los siguientes tiene que ver con la herencia? i) public class Componente extends Producto j) public class Componente inherit Producto k) public class Componente implements Producto l) public class Componente belong to Producto 4- ¿Qué significa instanciar una clase? m) Duplicar una clase n) Eliminar una clase o) Crear un objeto a partir de la clase p) Conectar dos clases entre sí 5- En Java, ¿a qué nos estamos refiriendo si hablamos de 'Swing'? q) Una función utilizada para intercambiar valores r) Es el sobrenombre de la versión 1.3 del JDK s) Un framework específico para Android t) Una librería para construir interfaces gráficas
  • 3.
    6- ¿Qué esEclipse? u) Una libreria de Java v) Una versión de Java especial para servidores w) Un IDE para desarrollar aplicaciones x) Ninguna de las anteriores 7- ¿Qué es el bytecode en Java? y) El formato de intercambio de datos z) El formato que obtenemos tras compilar un fuente .java aa)Un tipo de variable bb) Un depurador de código 8- ¿Qué código asociarías a una Interfaz en Java? cc)public class Componente interface Product dd) Componente cp = new Componente (interfaz) ee)public class Componente implements Printable ff) Componente cp = new Componente.interfaz 9- ¿Qué significa sobrecargar (overload) un método? gg) Editarlo para modificar su comportamiento hh) Cambiarle el nombre dejándolo con la misma funcionalidad ii) Crear un método con el mismo nombre pero diferentes argumentos jj) Añadirle funcionalidades a un método 10- ¿Qué es una excepción? kk)Un error que lanza un método cuando algo va mal ll) Un objeto que no puede ser instanciado mm) Un bucle que no finaliza nn) Un tipo de evento muy utilizado al crear interfaces
  • 4.
    11-¿Qué es JVM? oo)Java V Mobile: la versión 5 de Java para dispositivos móviles pp) Java Virtual Machine: la máquina virtual Java que traduce el bytecode para que se ejecute en la platorma donde está implementada qq) Java Virtual Memory: el gestor de memoria virtual de Java que permite liberar memoria RAM, moviendo objetos Java a una zona de disco duro 12-De qué forma marcamos una línea en Java como comentario? rr) Comenzando la línea con "//" ss) Encerrando la línea entre "<--" y "!-->" tt) Comenzando la línea con "**" uu) Encerrando la línea entre "/" y "/" 13-¿Qué opción define mejor el concepto de ‘herencia’ en Java? vv) Propiedad que permite crear múltiples objetos a partir de una sola clase ww) Es la compatibilidad que presenta Java entre versiones: se pueden ejecutar aplicaciones creadas en una versión antigua en una más moderna xx) Permite crear una clase (subclase) basada en otra clase (superclase) 14-¿Cuáles son las características de la POO? yy)♥Abstraccion zz)Encapsulamiento
  • 5.
    15.- ¿’Cuales sonlas 2 condiciones que debe llevar el DO While en programación? aaa) -Si, cuando se cumple la condición y sirve para finalizar el programa, el no cunado no se cumple la condición bbb) ♥- puede llevar dos condiciones y cuidar que existan 2 de rompimiento o terminación de ciclo 16.-¿Que es la POO? ccc) ♥-Una nueva forma de programar que trata de encontrar solución a estos problemas introduce nuevos conceptos, que superan y amplian conceptos antiguos ya conocidos - Una forma de programación diseñada para hacer el trabajo de el programador mas fácilmente 17.-¿Que es Abstraccion como característica de poo? ddd) ♥-Denota las caracteristcas esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un’’agente’’ abstracto que puede realizar trabajo, informar y cambiar su estado y ‘’comunicarse’’ con otros objetos en el sistema sin revelar como se implementan estas características eee) -La que controla procesos, las funciones o los métodos pueden también ser abstraídos y cuanbdo lo están, una variedad de técnicas son requeridas para ampliar una abstracción
  • 6.
    18.-¿El elemento fundamentalde la OOP es:? fff) -Esta definición especifica varias propiedades importantes de los objetos. En primer lugar un objeto no es un dato simple, sino que contiene en su interior cierto numero de componentes bien estructurados.} ggg) ♥-Como su nombre lo indica, el objeto Podemos definir un objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización 19.-¿En que año se popularizo este programa? hhh) -En la década de los 80’s iii) ♥-Principios de la década de 1990 20.-¿En que técnicas esta basada la programación orientada a objetos? jjj) -Tecnicas de programación, como la de programar con finciones como el IF, Esle IF etc… kkk) ♥-Varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento
  • 7.
    10 preguntas deAbiertas 1. ¿Qué significa la palabra clave static, y dónde puede ser usada? static puede ser usada de 4 formas:  las variables static son compartidas por la clase, no por una instancia concreta (no como las variables miembro normales)  los métodos static también son compartidos a nivel de clase  las clases static son clases internas que no están atadas a su clase contenedora  static también puede usarse en un bloque de código de una clase para especificar código que se ejecutará cuando la máquina virtual se inicia por primera vez, antes de que se creen instancias de la clase. 2. ¿Cómo trataría con problemas de dependencia? Esta pregunta es ambigua a propósito. Puede referirse a resolver problemas de inyección de dependencias (Guice es una herramienta estándar que ayuda con esto). También puede referirse a proyectar dependencias – usando librerias externas, de terceras personas. Herramientas como Maven y Gradle ayudan a administrarlas. Debería considerar aprender más sobre Maven para preparar esta pregunta. 3. Quiere crear una clase simple que sólo tenga tres variables miembro. Dígame cómo haría esto. Este problema parece fácil a simple vista, y crear una clase sencilla se explica en clases como Programación Orientada a Objetos.
  • 8.
    Pero un programadorexperimentado reconocerá que es necesario saber cómo sobrescribir correctamente los métodos hashCode() y equals() (usando, por ejemplo, EqualsBuilder y HashCodeBuilder, en la libería Apache Commons). Puede encontrar temas más avanzados como estos en el curso Programación Orientada a Objetos II (Spring MVC). 4. ¿Qué hace la palabra clave synchronized? Dígame cómo usarla para establecer una única variable sin condiciones. synchronized le dice a un método que tiene que mantener el bloqueo del objeto al ejecutar. Si se usa alrededor de un bloque, como synchronized (obj) { … }, bloqueará el objeto obj antes de ejecutar ese bloque. 5. ¿Qué es el borrado de tipos? El borrado de tipos es un fenómeno JVM que significa que en tiempo de ejecución no se tiene conocimiento de los tipos de objetos genéricos, como List<Integer> (el compilador ve a todos los objetos Lista teniendo el mismo tipo, List<Object>). 6. ¿Cuándo y por qué son los getters y setters importantes? Mientras que una clase avanzada Java puede tratar el tema, el concepto principal que hay que saber para las entrevistas es que los setters y getters pueden formar parte de interfaces y pueden esconder detalles de la implementación, de forma que no hay que hacer a las variables miembro públicas (lo que haría a tu clase peligrosamente frágil). 7. ¿Qué diferencias hay entre Map, Hashtable, HashMap, TreeMap, ConocurrentHashMap, LinkedHashMap?  Map es una interfaz con una correspondencia clave-valor  HashMap es un Map que utiliza una hash table para su implementación
  • 9.
     Hashtable esuna versión sincronizada de HashMap  TreeMap usa un árbol para implementar un Map.  ConcurrentHashMap permite a varios hilos que lo accedan al mismo tiempo y de forma segura  LinkedHashMap conserva el orden de iteración de los objetos que fueron insertados (otros no proporcionan un orden de iteración fijo) 8. ¿Cuáles son las diferencias entre interfaces, clases abstractas, clases e instancias?  Las interfaces son básicamente una lista de métodos sin código ni variables miembro que deben ser implementados  Las clases abstractas no pueden ser instanciadas, pero pueden contener variables, métodos implementados o sin implementar..  Las clases contienen variables y sólo métodos implementados, y pueden ser instanciadas.  Las instancias (u objetos) son ejemplos específicos de una clase en particular. 9. Si necesitara proporcionar una GUI para su programa Java, ¿qué utilizaría? Hay muchas opciones, desde aplicaciones web a aplicaciones locales. Normalmente, los entrevistadores se refieren a Swing ú otras herramientas de interfaz gráfica como esta. 10. ¿Cómo prueba usted su código? Deberá hablar de su experiencia usando liberías como JUnit, Mockito, y Selenium. Aunque no tenga un gran conocimiento sobre pruebas, ser capaza de hablar sobre estas librerías es un buen primer paso. El Desarrollo Orientado a Pruebas (TDD) es muy popular en este momento, y sería muy bueno que hablara de cualquier experiencia que tenga relacionada con ello.
  • 10.
    10 Preguntas deVerdadero y Falso 1.- las clases fileinputstream y fileoutputstream estan orientadas a manejar ficheros binarios. ( v ) VERDADERO ( ) Falso 2.- las operaciones de lectura como de escritura son de la clase java.net. ( ) Verdadero ( F) falso 3.- las clases fileinputstream y fileoutputstream pertenecen al package java.lang ( ) Verdadero ( f ) falso 4.- en las clases de fileinputstream y fileoutputstream es necesario importarlas ( v ) verdadero ( ) falso 5.- la clase fileinputstream abre un fichero binario en modo lectura. ( v ) verdadero ( ) falso 6.- en la clase fileoutputstream abre un fichero boinario en modo escritura jav.lang ( ) Verdadero ( F ) falso 7.- el método más relevante de la clase fileinputstream void close (): cierra el flujo de lectura ( v ) verdadero ( ) falso
  • 11.
    8.- int read(: lee un byte del fichero. ( ) verdadero ( f ) falso 9.- void close de la clase fileoutputstream cierra el flujo de escritura. ( v ) verdadero ( ) falso 10.- void write escribe (int b) escribe un byte en el buffer. ( ) verdadero ( f ) falso