Como entrevistador, normalmente espero las siguientes preguntas para una experiencia de 3 años en Java:
- Preguntas sobre cadenas: verifique si una cadena es un palíndromo, verifique si una cadena es una subcadena de otra cadena, invierta una cadena, encuentre el palíndromo más grande en una cadena, verifique si una cadena es una rotación de otra cadena,
- Preguntas de LinkedList: invierta una lista vinculada de forma recursiva (en el lugar) e iterativamente, elimine un nodo de la lista vinculada, encuentre el enésimo nodo, encuentre el enésimo nodo desde el final, pruebe si una lista vinculada tiene un ciclo, escriba casos de prueba
- Lo que es inmutable, implemente una clase inmutable (por ejemplo, myDateTime)
- ¿Qué son volátiles, sincronizados, atómicos? Implemente una cola segura (bloqueo) de subprocesos
- Implemente una cola segura para subprocesos (bloqueo)
- ¿Cuáles son algunas formas de implementar un singleton en Java?
- Implementar un semáforo contando
- Preguntas JVM / GC
- Excepciones marcadas frente a no marcadas, finalizar
- ¿Qué es una cola, pila, montón?
- BFS de orden de nivel en un árbol binario
- Encuentre todas las rutas de longitud L en un gráfico acíclico
- Lo que sucede en el sistema durante una llamada recursiva
- Eliminar un elemento de una matriz de entradas, imprimir el segundo número más grande de una matriz, eliminar un carácter de una cadena
- Calcular suma de series de Fibonacci (recursiva e iterativamente)
- Escriba un método que reciba una secuencia de enteros, almacenando en caché los últimos 10 minutos de datos y devolviendo un número si es menor que la entrada actual
- Mutexes, ReadWriteLock, ConcurrentHashMap, ArrayBlockingQueue, Thread pools, LinkedList vs ArrayList, Object Pooling, Read-Modify-Write, java.util.concurrent, java.util.concurrent.atomic, CAS, Collections, ADT, Java 5 Generics
- HashMap vs HashTable vs ConcurrentHashMap
- Implemente un emparejador de expresiones regulares
- Implemente un comparador para una cadena y su rotación (es decir, “prueba” sería equivalente a “stte”)
- Síncrono vs asíncrono, contención de hilos, condiciones de carrera / puntos muertos y cómo prevenirlos / depurarlos, confinamiento de hilos, coherencia de caché, uso compartido falso, líneas de caché
- ¿Cómo escribirías un cliente / servidor de socket en Java?
- Java IO / NIO, multiplexación de socket, bloqueo vs no bloqueo, select / epoll
- Dormir vs esperar
- Proceso vs subproceso, subprocesos Java vs Pthreads, subprocesos Linux vs subprocesos Solaris, lo que sucede cuando se inicia / finaliza un proceso / subproceso, lo que sucede durante el cambio de contexto
- Modelo de memoria Java, referencias débiles
- Jini, JMS, Javaspaces, JGroups, Trivialidades de Hibernate
- mejores prácticas en diseño de API
- Clase abstracta vs interfaz
- Memoization, da un ejemplo
- ¿Puede tener un método protegido en la interfaz?
- Cómo forzar un GC para detener el mundo
- ¿Qué se puede hacer para interrumpir un método sincronizado que está bloqueado?
- Rendimiento de Java, perfiles de almacenamiento dinámico, ajuste de GC, volcados de subprocesos, Hotspot vs JRockit
- Preguntas sobre los marcos Spring / Struts con cualquier ORM (JPA o hibernate)
- JSP y Servlets
- Construir herramientas
- SQL básico
- Lenguajes de marcado como XML y JSON.
- Arquitectura orientada a servicios / Servicios web – SOAP / Rest
- scripts básicos de Java / css / html / jquery.
La mejor sugerencia sería borrar Ocpjp e iniciar un proyecto de prueba de demostración con Maven con algunos marcos recientes (Spring + angular + hibernate + oracle)
- ¿Cuál es el enfoque algorítmico para encontrar la ruta en una matriz booleana bidimensional que tiene más 1s?
- ¿Los reclutadores ven la calidad del código de la solución redonda de codificación en línea?
- ¿Cómo cuadrarías cada elemento en una matriz ordenada de enteros ascendentes mientras mantienes el orden?
- ¿Las empresas hacen preguntas difíciles en sus entrevistas de pasantía en la ronda técnica, con respecto a las estructuras de datos y algoritmos? ¿Dónde puedo aprenderlos?
- Es probable que asista a una entrevista (software) el próximo mes, ¿dónde puedo prepararme para la entrevista en línea?