Los zócalos funcionan esencialmente igual en la mayoría de las plataformas. La pila TCP / IP en Linux se implementa de manera ligeramente diferente ya que el código se escribió desde cero, pero la API pública es la misma (está estandarizada). Aquí hay algunas sugerencias:
- ¿Qué es un zócalo? ¿Para qué se usa esto?
- ¿Cómo se resuelven las direcciones IP? ¿Cuál es la diferencia entre una dirección IP4 e IP6? ¿Cómo afecta eso a las llamadas de socket?
- ¿Cómo se determina a qué puerto conectarse? ¿Cuáles son algunos de los más comunes? ¿Qué puertos no usarías?
- ¿Cuál es la diferencia entre un socket TCP y un socket UDP? ¿Por qué usarías uno u otro?
- ¿Qué lista de llamadas se utilizan para establecer una conexión de socket TCP y / o UDP? ¿Qué información se necesita?
- ¿En qué se diferencian las llamadas de socket si está estableciendo un socket del lado del servidor?
- ¿Cómo se prueba si un socket está listo para ser leído o escrito?
- Si un enchufe se cierra inesperadamente, ¿cómo lo sabrías y cómo lo manejarías?
- ¿Qué sucede con la conexión, el hilo, el proceso si un zócalo no se cierra correctamente?
- ¿Cuánto tiempo permanece abierta una conexión de socket cuando está inactiva? ¿Cómo cambiarías ese comportamiento?
- ¿Cómo establecería un socket en modo sin bloqueo? ¿En qué situaciones harías eso?
- ¿Cómo manejaría escribir una aplicación de socket multiproceso y / o multiproceso? ¿Qué consideraciones hay? ¿Hay más de una forma de manejarlo?
Si su candidato puede responder todas estas preguntas correctamente, es probable que tenga experiencia con sockets.
Si rechazan cualquiera de las primeras 5 o 6 preguntas, puede descartarlas y pasar al siguiente candidato.
- ¿Cómo funciona el protocolo FTP en Internet?
- ¿Qué protocolo se utiliza en actividades relacionadas con el correo electrónico?
- ¿Cuál es la diferencia entre el Protocolo de resolución de dirección (ARP) y el Protocolo de resolución de dirección inversa (RARP)?
- ¿Por qué un ingeniero de verificación debe conocer los protocolos de bus?
- ¿Será absurdo el conocimiento de redes de protocolos en la era SDN?
Como referencia, puede usar la Programación de red Unix, 3a edición , de Stevens, Fenner y Rudoff .