9.21.2008

Como entrevistar un recurso Java?

En STK, me pusieron a entrevistar gente (solo entreviste a 2)... como stk es..stk.. no habia nada preparado ni examen prehecho, y cada quien lo hacia como queria. El lider tecnico preguntaba lo que se le ocurria en el momento, y fui el unico que se le ocurrio googler "java interview" o algo asi. termine con los siguientes lnks
http://www.javainterview.com
http://www.roseindia.net/interviewquestions/jakartastrutsinterviewquestions.shtm
y ademas genera la siguiente entrevista:
Al lider tecnica le parecio muy perra, y la verdad termien con la sabiduria siguiente: El que sabe sabe, y el que no..pos no...

java

-Me puedes mencionar la firma del metodo Equals?

-Si yo sobreescribo (hago override) a Equals, que otro metodo deberia sobreescribir?

-Si quiero que una clase solo se avisible por clases en el mismo directorio, que tipo de modificador (access level, nivel de acceso) debo usar?

-Mencioname clases que hereden de Colection. Menciona alguna de sus diferencias.

-Mencioname la diferencia entre queue(Cola)->FIFO y stack(pila)->LIFO

-Que se recorre mas rapido ArrayList o LinkedList

- public class Constantes {


public Constantes() {

}

public static final String MEXICO = "mx";

}

public static void main(String[] args) {

Constantes cte = null;

System.out.println("" + cte.MEXICO );

}
que se imprime?

-Que interfaz debo implementar si mi objeto va a vivir en sesion o va a ser escrito a un archivo.
-cuando usas Set, que metodo necesito sobreescirbir para garantizar que mis objetos son unicos?


-Que ocurre con este codigo?
Iterator it = lista.iterator();
while( it.hasNext() )
{
Object o = (Object) it.next();

if( o!=null ){
lista.add( new Object() );
continue;
}

}

Struts
-Mencioname el ciclo de vida de un servlet

-Me puedes decir que modelo implenta struts?

-Quien es el controlador?

-Como configuro el controlador? (o como dar de alta un action)

-Describeme como seria un diagrama de secuencia para una accion de peticion/respuesta usando Struts.
Que clases estan invlocuradas, y como interactuan? Quien es la vista, quien es el modelo?

-que ventajas tiene usar struts?

-con que tag recorres una lista ?

-Cual es la diferencia entre archivos EAR, WAR y JAR?

-Mencioname algunos tags de struts

XMl
-Para que sirve un XSLT
-Para que sirve un DTD?

Web
-Cuales son los scopes de una aplicacion WEB?
-Conoces Ajax? Lo has usado? COmo lo has usado?
-Describeme como recuperarias una lista de objectos usando AJAX

-Conoces prototype, Dojo o algun framework de javascript similar? Que has usado de ellos?
-Sabes para que sirve la funcion escape() de javascript?
-Como recupero el valor de un campo de una froma de html en javascript?

BD
-Cual es la diferencia entre producto cruz e inner join? Left join? Right Join?

Hibernate
-Has usado hibernate? Define Hibernate.

-Que tipo de asociaciones puedes mapear con hiberante
-Como sugiere hibernate que se manejen los ids? Que consideraciones debes tener al respecto, en los metodos hashcode e Equals?
-En que consiste el lazy loading? Que ventajas y desventajas conlleva?

Spring, inversion de control
-Has usado Spring? Puedes pensar en alguna alternativa?

-Define inversion de control, dame un ejemplo.

-Define una arquitectura. Cual seria tu modelo, que tecnologias usarias?

-Que usarias para manejar llamadas asincronas de negocio

-Me puedes explicar bajo acoplamiento

Otros
-tienes un camion lleno de pelotas de golf. Cuantas pelotas tiene el camion? -Has escrito documentacion?
-Has usado SENSE? QUe piensas de el?
-Con que metodologia has trabajado, como la cambiarias?


Fue muy interesante estar der otro lado del escritorio, y te salen preguntas muy interesantes. COmo..le digo que esta mal? Le digo que no paso? Yo elegia darles las respustas, pero deje que el lider tecnico les tirara un choro de "Nosotros te llamamos".
Tambien, considerando que la persona que contratamos era bastante... inutil...determine que "la persona contratada sera la mitad de productiva de lo que te parecio en la entrevista inicial".
Por ejemplo, al que contratamos (mi reemplazo), tuvo un consenso general de 7. Termino siendo un 3, o sea, alguien tan malo que no debio haber entrado.

O sea que si eres un Diez, vas a hechar la hueva la mitad del tiempo?

...yo creo que si..

//Serg