Hable con ellos acerca de un tema popular, pero no muy conocido, donde el manejo de los hilos es esencial.
Te recomiendo, construye un servidor web con ellos, por supuesto, solo en papel o simplemente en palabras. El resultado debería verse más o menos así: hay un hilo principal, está escuchando en un socket. Cuando algo llega, pasa el socket al pool, luego este thread regresa al socket que escucha. El grupo tiene un número fijo de ranuras. Los subprocesos de procesamiento de solicitud están dedicados a obtener trabajo del grupo. Descubra, lo que es mejor, si los subprocesos comprueban el grupo al mismo tiempo, o el subproceso principal del planificador selecciona un intervalo/subproceso libre para la nueva solicitud entrante. Intente escribir un pequeño pseudocódigo o un gráfico para ambos lados del manejo de la agrupación.
Vamos a presentar una pequeña aplicación: contador de páginas, que indica cuántas solicitudes de página se han realizado desde el inicio del servidor. No les diga que el contador debe estar protegido contra la modificación concurrente, que descubran cómo hacerlo con mutexes o sincronización o lo que sea. Tal vez podría omitir la parte del servidor web, la aplicación de contador de página es más fácil de especificar.
Otro ejemplo es un chat, con más de 2 clientes y un servidor, descubra cómo resolver el problema, que todos los mensajes deben llegar en el mismo orden para todos los clientes. O juego reflejo: el servidor espera durante 1, 5 segundos al azar, luego dice "peek-a-boo", y el jugador gana primero que presionar la tecla de espacio. Especifíquelo con 2 jugadores, luego intente expandirlo a N jugadores.
Además, tenga en cuenta las centrales nucleares. NPP está parado: "programador que no programa". Hay tipos que pueden hablar sobre problemas de programación, conocen todas las abreviaturas de 3/4 letras (hay lote en el mundo Java, EJB, JSP, XSLT, y mi favorito: POJO, lo que significa Pure Old Java Objetos, lol), entienden y modifican códigos, o hacen programas similares desde una base, pero fallan incluso con pequeños problemas, tiene que hacerlo ellos mismos, por ejemplo encontrar el elemento más cercano a una base en una matriz. A veces lleva meses, hasta que resulta. Se desempeñan bien en las entrevistas, porque se preparan para ello. Tal vez ni siquiera saben, que son centrales nucleares, este es un efecto conocido: http://en.wikipedia.org/wiki/Dunning-Kruger_effect
Es difícil reconocer a los tipos opuestos, que no han oído hablar de bibliotecas o patrones de moda, pero pueden aprenderlo incluso en la entrevista de trabajo. (Comentario personal: mi última entrevista fue en 1999, y parece que ya no haré más entrevistas. Nunca había escuchado sobre páginas web dinámicas, pero descubrí el término "sesión" durante la entrevista, la pregunta era que cómo construir una aplicación web simple para colgar al hombre. Fui contratado)
Hombre, fallaría en la entrevista de trabajo porque no me molesto con cerraduras, etc. Usar un lenguaje diseñado para la concurrencia sana tiene sus ventajas . –