2008-10-07 10 views

Respuesta

27

enchufe de programación

  • Diferencia entre UDP y TCP.
  • Diferencia entre sockets asíncronos y síncronos.
  • ¿Qué es un paquete?
  • ¿Cómo determinó si el paquete no llegó mal formado?
  • ¿Cómo determinó dónde termina un paquete y dónde comienza otro?
  • Qué es un puerto.

Multi-Threading

  • primitivas de sincronización ¿Qué sabe usted, diga diferencia entre ellos.
  • Qué es un punto muerto y qué es un bloqueo en vivo.
  • ¿Qué es una condición de carrera?
  • ¿Qué significa el término 'sin bloqueo'?
  • ¿Cuál es la mejor manera de finalizar un hilo.
  • Por qué no debería usar las funciones TerminateThread-esque.
5
  • ¿Por qué un programa de toma típica necesitan múltiples subprocesos
  • ¿Cómo hablar a montón de diferentes conexiones de red a la vez, desde el mismo proceso/hilo? Sugerencia: Zócalo asincrónico
  • ¿Cómo funciona la transferencia de datos a Internet? o ¿Explica cómo funciona un servidor web? responderla basa en los conceptos de programación de socket, indirecta HTTP TCP etc ..
+2

"Explicar cómo funciona Internet?" A menos que contrates a Vint Cerf, ese parece ser demasiado amplio para mí. –

+0

¿Cómo funciona Innternnet? ¿Cómo funciona Internnet? ¿Cómo se transfieren los datos? –

+0

La idea de que un programa de socket típico necesita multi-threading es una tontería. La E/S multiplexada o la multiprogramación se usaron con mucho éxito mucho antes de que el multihebra se volviera común. –

8

Un par de ejemplos de preguntas:

  • E/S asíncrona, un enfoque consiste en hacer una pregunta donde los diferentes clientes pueden consultar al servidor y puede dar lugar a condiciones de carrera si se implementa a través de múltiples hilos (por ejemplo, el almacenamiento en caché de los resultados). Si el entrevistado recurre a múltiples hilos, abra las condiciones de carrera y vea si mencionan las E/S asíncronas como una opción.
  • ¿Cuál es la diferencia entre el punto muerto de cierre y bloqueo en vivo-
  • Prototipo de un servidor web
  • Prototipo de un cliente web
  • ¿Cuáles son los puertos efímeros; alternativamente, describe una aplicación de carga de carga que golpea un servidor con 1000s de solicitudes por segundo pero después de varios segundos deja de realizar solicitudes al servidor; después de 2-4 minutos, la aplicación comienza de nuevo a golpear el servidor con miles de solicitudes.
  • Escribir un buffer productor de hilos de proceso seguro/consumidor que se puede acceder por uno o más productores/consumidores
  • ¿Cuál es la diferencia entre cliente/servidor y P2P
  • Esto es más de una red, pero es útil saber ¿Qué sucede debajo de las llamadas de socket ?: describe el handshake de 3 vías de TCP
  • ¿Qué es el algoritmo de nagle? ¿Cuándo es deseable? ¿Cómo apagarías esto?
  • variante de Linux: cuando se escribe un demonio de lo que son los bloques de construcción básicos (es decir, un niño que se bifurcan y matando a los padres, el cierre de la entrada estándar/stdout/stderr etc.)
  • variante de Windows: al escribir un servicio de Windows cuáles son los básicos bloques de construcción.
  • Diseñe un protocolo para comunicarse entre un cliente y un servidor para enviar audio/video. ¿Cómo se extiende para la próxima característica más reciente/mejor.
  • ¿Cómo funcionan las ventanas TCP y qué puedo hacer para optimizar el rendimiento de una aplicación que realiza muchas lecturas grandes en todos los continentes?
35

Como director de recursos humanos, mi pregunta favorito de redes de preguntar era la siguiente:

Imagínese un usuario sentado en un PC con conexión a Ethernet . Él tiene un navegador abierto. Teclea "www.google.com" en la barra de direcciones y pulsa Enter.

Ahora dime cuál es el primer paquete a que aparece en la Ethernet.

respuestas posibles (que varía de corrección) incluyen:

  • No sé.
  • Una solicitud HTTP paquete.
  • Un paquete TCP syn.
  • Un DNS solicitud de paquete.
  • Un paquete ARP.
  • Depende.

Cada una de las respuestas revela algo sobre la comprensión de la persona de las redes en general, y de IP y TCP en particular. La discusión posterior puede revelar volúmenes sobre su comprensión. (Suponiendo, por supuesto, que el interlocutor tenga cierta experiencia en esta área).

+6

pregunta inteligente. –

+0

inteligente, conecta muy bien todo, cuando se explora. –

6

¿Estás preguntando porque has sido arrastrado para entrevistar a alguien que estará en tu equipo? Haga preguntas basadas en problemas reales que haya tenido que enfrentar en sus operaciones cotidianas.Piensa en el último error que has relacionado con la programación de socket, y conviértelo en una pregunta de entrevista.

La teoría es agradable, pero desea saber que la persona que se une al equipo tiene experiencia en las trincheras.

+0

, prefieres mantener a los tipos que nunca han escuchado hablar de callejones sin salida de tu parte de las trincheras. Para eso son estas preguntas ... – Jimmy

+0

Nunca he visto a alguien ** inteligente ** que no haya acertado en cuanto a los aspectos básicos de enhebrar y enchufes con relativa rapidez. –

+0

@el fuser: Depende de la situación. Si su compañía va a invertir en la nueva persona que está contratando, entonces simplemente concéntrese en contratar programadores inteligentes. Si traes a alguien que realmente tiene que comenzar de inmediato, es otra cuestión. – Gravity

0

preguntas Socket

  • ¿Qué es un socket?
  • ¿Cuáles son las diferencias entre accept y connect?
  • ¿Cuáles son las diferencias entre close y shutdown?
  • ¿Cómo calificaría connect a www.google.com de forma asíncrona?

preguntas multi-threading

  • ¿Qué es un hilo y en qué se diferencia de un proceso?
  • ¿Cuándo podría elegir utilizar subprocesos en un solo sistema de CPU?
  • ¿Cómo se mediría la sobrecarga del cambio de contexto entre subprocesos?
  • ¿Cómo harías una tabla hash segura de MT, mientras permites la máxima concurrencia?
-3
  • Nombre algunas ventajas y desventajas de Java sockets.
  • ¿Cuál es la diferencia entre la instancia de URL y la instancia de URLConnection?
  • ¿Cómo hago una conexión a la URL?
  • ¿Qué es un socket en redes Java y RMI?
  • ¿Qué información se necesita para crear un Socket TCP?
  • ¿Cuáles son las dos clases de Socket TCP importantes?
  • Cuando se produce MalformedURLException y UnknownHostException?
  • ¿Qué significa RMI?
  • ¿Qué es RMI?
  • ¿Cuál es la diferencia entre las clases File y RandomAccessFile?
  • ¿Qué interfaz debe implementar un objeto para poder escribirlo en una secuencia como un objeto?
  • Explicación Buscar puertos locales
  • ¿Cuáles son las dos clases de Socket TCP importantes?
+0

Lo sentimos, pero la mitad de esas preguntas son solo de Java, mientras que la otra mitad parece no tener mucho sentido. – CodeCaster

+0

Lo siento. Pensé que el tema estaba en sockets de Java. No entendí el tema. –

Cuestiones relacionadas