Sunteți pe pagina 1din 3

1. Qu significa la palabra clave static, y dnde 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 mtodos static tambin son compartidos a nivel de clase las clases static son clases internas que no estn atadas a su clase contenedora static tambin puede usarse en un bloque de cdigo de una clase para especificar cdigo que se ejecutar cuando la mquina virtual se inicia por primera vez, antes de que se creen instancias de la clase.

2. Cmo tratara con problemas de dependencia?


Esta pregunta es ambigua a propsito. Puede referirse a resolver problemas de inyeccin de dependencias (Guice es una herramienta estndar que ayuda con esto). Tambin puede referirse a proyectar dependencias usando librerias externas, de terceras personas. Herramientas como Maven y Gradle ayudan a administrarlas. Debera considerar aprender ms sobre Maven para preparar esta pregunta.

3. Quiere crear una clase simple que slo tenga tres variables miembro. Dgame cmo hara esto.
Este problema parece fcil a simple vista, y crear una clase sencilla se explica en clases como Programacin Orientada a Objetos. Pero un programador experimentado reconocer que es necesario saber cmo sobrescribir correctamente los mtodos hashCode() y equals() (usando, por ejemplo, EqualsBuilder y HashCodeBuilder, en la libera Apache Commons). Puede encontrar temas ms avanzados como estos en el curso Programacin Orientada a Objetos II (Spring MVC).

4. Qu hace la palabra clave synchronized? Dgame cmo usarla para establecer una nica variable sin condiciones.
synchronized le dice a un mtodo 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 fenmeno JVM que significa que en tiempo de ejecucin no se tiene conocimiento de los tipos de objetos genricos, como List<Integer> (el compilador ve a todos los objetos Lista teniendo el mismo tipo, List<Object>).

6. Cundo 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 implementacin, de forma que no hay que hacer a las variables miembro pblicas (lo que hara a tu clase peligrosamente frgil).

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 implementacin Hashtable es una versin 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 iteracin de los objetos que fueron insertados (otros no proporcionan un orden de iteracin fijo)

8. Cules son las diferencias entre interfaces, clases abstractas, clases e instancias?

Las interfaces son bsicamente una lista de mtodos sin cdigo ni variables miembro que deben ser implementados Las clases abstractas no pueden ser instanciadas, pero pueden contener variables, mtodos implementados o sin implementar.. Las clases contienen variables y slo mtodos implementados, y pueden ser instanciadas. Las instancias (u objetos) son ejemplos especficos de una clase en particular.

9. Si necesitara proporcionar una GUI para su programa Java, qu utilizara?


Hay muchas opciones, desde aplicaciones web a aplicaciones locales. Normalmente, los entrevistadores se refieren a Swing otras herramientas de interfaz grfica como esta.

10. Cmo prueba usted su cdigo?


Deber hablar de su experiencia usando liberas como JUnit, Mockito, y Selenium. Aunque no tenga un gran conocimiento sobre pruebas, ser capaza de hablar sobre estas libreras es un buen primer paso.

El Desarrollo Orientado a Pruebas (TDD) es muy popular en este momento, y sera muy bueno que hablara de cualquier experiencia que tenga relacionada con ello.

S-ar putea să vă placă și