¿Cuáles son sus mejores preguntas para la entrevista Linux de alto nivel [cerrado]

25

De vez en cuando en este sitio hay personas que se preguntan cuáles son algunas preguntas de la entrevista de administrador del sistema. La mayoría de las veces, al leerlas, todas son preguntas de nivel intermedio a intermedio.

Me pregunto cuáles son sus mejores preguntas de entrevista de administrador de Linux de alto nivel.

Dos mios son

1) ¿Cómo se detiene una bomba tenedor si ya está conectado a un sistema?

2) Eliminas un archivo de registro que apache está usando y aún no reinició apache, ¿cómo puedes recuperar ese archivo de registro?

Mike
fuente
Otra variante de la primera Q es: ¿Qué hace :(){ :|:& };:en su sistema y por qué le importaría eso? ¡Aclamaciones!
MacUsers

Respuestas:

13
  • ¿Cómo se ven las dependencias de la biblioteca compartida?
  • ¿Cómo rastrear la llamada y la señal del sistema?
  • ¿Cómo aplicación de perfil?
  • ¿Cómo imprimir las cadenas de caracteres imprimibles en archivos?
  • ¿Qué campos se almacenan en un inodo?
  • ¿Qué es nscd?
  • ¿Qué es Automake y Autoconf?
  • ¿Qué pasos para agregar un usuario a un sistema sin usar useradd / adduser?
  • ¿Cómo ver la información sobre los archivos ELF?
  • ¿Cuál es el número MAYOR y MENOR de archivos especiales?
  • ¿Cómo se filtra el enlace de la capa?
osdyng
fuente
16
  • Cuéntame sobre el último gran proyecto de Linux que terminaste. Cuáles fueron algunos de los obstáculos y cómo los superó. A veces, hacer estas preguntas abiertas revelará mucho más que pequeñas preguntas que Google puede responder fácilmente. Un gran administrador senior no necesita saberlo todo, pero debería ser capaz de encontrar soluciones sorprendentes para proyectos imposibles.
  • ¿Contribuyes a algún proyecto de código abierto? No importa si es solo documentación, muestra una cierta dedicación al oficio.

Para descubrir qué tan buenos son, haga las preguntas abiertas ...

cwheeler33
fuente
2
+1 para preguntas abiertas. Las preguntas cerradas se reducen a conocer curiosidades.
Sirex
2
Absolutamente. Para mí, un senior no es solo alguien que puede memorizar cosas que usted puede buscar en Google, sino alguien que puede resolver problemas complejos, diseñar, asumir un papel de liderazgo en proyectos, etc. "¿Puedes recordar cómo usar ldd?" No me va a decir si estoy contratando a alguien que pueda ayudar a detectar la falla en una aplicación de producción compleja de varios niveles, o hacer una planificación de capacidad significativa.
Rodger
9

Pregunta: Describa un escenario cuando obtiene un error de "sistema de archivos lleno", pero ' df ' muestra que hay espacio libre

Respuesta: El sistema de archivos puede quedarse sin inodos, ' df -i ' lo mostrará.

Preguntas de final abierto:

  • cuénteme cómo administra su base de datos de conocimiento (wikis, esquemas, hojas de cálculo, archivos de texto sin formato) y por qué eligió opciones particulares
  • ¿Usas control de versiones? cual y por que ¿Sus mensajes de compromiso son atractivos?
halp
fuente
3
Relacionado podría ser, "¿Por qué du y df no estarían de acuerdo?" - Debido a que du verifica el uso de directorios, pero df verifica los inodos liberados, y los archivos pueden mantenerse abiertos y ocupar espacio después de ser eliminados
Matt Simmons el
1 comentario para este y de Matt (En realidad lo pido en entrevistas TODO UNIX, independientemente del nivel Demuestra lo bien que alguien entiende los conceptos de sistema de archivos.)
voretaq7
Ohh ... la diferencia entre du / y df siempre es buena
Mike
hace una nota ¡Ajá! ¡Ahora sé este! :)
Mister IT Guru
8

Una que me gusta preguntar, y me siento cómodo al preguntarme, es esta:

Cuénteme sobre el error más grande que ha cometido en [algún período de tiempo reciente] y cómo lo haría de manera diferente hoy. ¿Qué has aprendido de esta experiencia?

Hay muchos administradores de sistemas con 10 años de experiencia. Muchos parecen tener el mismo año 10 veces seguidas. Quiero uno en mi equipo con 10 años diferentes y progresivamente mejores. Y si nunca ha cometido un gran error, uno que le hizo preguntarse si debería empacar su escritorio, realmente no ha vivido. :)

No me interesan las preguntas de trivia, como entrevistador o entrevistado. Me gustan las preguntas que han dejado perplejos a mis vendedores antes, o las que me dieron "¡Eureka!" momentos

Robert Novak
fuente
apoyo esta pregunta
ZaphodB
7

Siempre soy un fanático de

  • Describa el proceso de arranque de Linux con el mayor detalle posible, comenzando desde que el sistema está encendido y terminando cuando recibe un mensaje.

Me gusta hacer preguntas que demuestren cuánta conciencia tiene alguien de las diferencias entre los diferentes Unix. También me gusta ver cuánto comprende una persona que Linux hace las cosas de una manera que no es necesariamente como todos los demás lo hacen. Muchas de estas preguntas giran en torno a herramientas predeterminadas de Linux, por ejemplo:

  • Dime dos formas de redirigir stderr y stdin a la vez
    • &> y >/dev/null 2>&1
    • demuestra conocimiento de bash vs bourne shell

Otro punto clave: para puestos superiores, espero ver evidencia de escritura pública y habilidades de presentación. Si usted es una persona mayor, debería haber sido publicado varias veces en la web y en revistas. Diablos, solo tener tu propio blog de tecnología es suficiente. Haber presentado al menos un artículo en una conferencia es una gran ventaja. Creo que esto en particular separa a los administradores junior de senior de Linux.

Phil Hollenback
fuente
Mi variante de su pregunta es: desde el final de la POST hasta que vea un mensaje de inicio de sesión, describa el proceso de arranque de un servidor de PC con Linux con el mayor detalle que considere apropiado, con énfasis en la solución de problemas. (Por lo tanto, las cosas sobre cómo el BIOS encuentra el dispositivo de arranque y cómo el gestor de arranque se obtiene por código en el MBR, cómo el kernel inicia el proceso de inicio, etc., son relevantes; porque cada uno de estos proporciona comentarios y tiene una solución de problemas asociada pasos).
Jim Dennis
6

Acabo de ejecutar 'chmod -x / bin / chmod'. Que hice ¿Cómo me recupero?

Describa el proceso de protocolo de enlace de TCP.

¿Cómo funciona el traceroute?

¿Cuándo podría necesitar usar CTRL-Z o CTRL-D?

¿Qué hace la parte adhesiva?

¿Qué opciones de kernel podrías necesitar para ajustar?

¿Cómo sabes qué distribución estás ejecutando?

¿Cómo sabes en qué hardware estás ejecutando?

¿Cuál es la diferencia entre una SAN, un NAS y un disco local?

Tengo 30 servidores y no estoy seguro si cada uno tiene la misma configuración de apache. ¿Cómo puedo saber cuántas copias hay y cuáles son las diferencias?

¿Qué es una cárcel chroot?

¿Cómo saber si ha sido pirateado?

¿Nombra todos los comandos de dos letras de Unix que se te ocurran y qué hacen? Cómo puede buscar todos los comandos de dos letras unix en su sistema.

También les pido a las personas que están en el sitio que hagan tareas simples. Especialmente si profesan algo de experiencia escribiendo guiones. Les pido que analicen dos archivos de datos diferentes (uno csv, uno | sv) y efectivamente hagan una unión de los datos. Puse algunas trampas (datos mal formateados), faltaban campos necesarios para las uniones, datos extrañamente fuera de secuencia, etc. Les pido que me envíen el código fuente y la salida. (Estilo del problema de la máquina) Generalmente le doy un plazo de 3 a 4 horas para abordarlo. Esta tarea ha ayudado a filtrar a muchos candidatos que enumeran 'scripting' como una habilidad, pero no pueden sacar lo básico cuando están presionados.

Joel K
fuente
No estoy convencido de que estos sean lo suficientemente técnicos para un puesto de alto nivel (en base a eso puedo responderlos, y soy un junior).
Sirex
Con un poco de tiempo, podría responder a todas estas preguntas, ¡pero quiero poder hacerlo mientras duermo! Creo que necesito más aprendizaje :)
Mister IT Guru
6

Mi pregunta de cierre favorita:

Si estuviera atrapado en una isla desierta con solo 5 utilidades de línea de comandos, ¿cuál elegiría?

Mi lista personal:

  • silbido
  • tcpdump
  • PD
  • lsof
  • strace

Es una pregunta simple ver con qué comandos se siente más cómodo un administrador, y también ayuda a demostrar su comodidad con preguntas poco ortodoxas (juguetonas). Algunos de los entrevistados leen manera demasiado en la cuestión y se desmoraliza. Si no puede responder algo tan básico, me dice que tiene poca confianza en sus propias habilidades. Por otro lado, si te esfuerzas demasiado para llegar a la lista perfecta, puede darte a entender que tienes miedo al fracaso y no puedes pensar de pie.

Es cierto que esto es más útil para los solicitantes de nivel medio / bajo, pero tampoco está de más preguntar. :)

ofuscación
fuente
55
Supongo que iría busyboxa cubrir los conceptos básicos, además mplayerde ayudar a lidiar con el aburrimiento. Eso me deja tres sobras ....
mattdm
2
Solo quiero echo y mail - echo '¡ven a rescatarme!' El | mail -s rescue [email protected]
symcbean
"Correo" y "ntpdate". Podría usar Mail para pedir ayuda y usar NTP para determinar mi latitud y longitud exactas. :)
Ernie
5

Yo uso este:

  • ¿Qué sucede cuando el kernel de Linux está iniciando el asesino OOM? ¿Cómo elige qué proceso matar primero?

y otros que no tengo de mi cabeza ...

Chmouel Boudjnah
fuente
Esa es una gran pregunta ... No creo que mucha gente de nivel superior lo supiera. Ciertamente no lo hice y me hizo leer sobre eso. ¡Gracias!
Mike
Mi respuesta a esto sería: el núcleo mantiene varias estadísticas relacionadas con la asignación de memoria virtual y la actividad de paginación. Cuando se exceden ciertos umbrales, se invoca al asesino OOM para seleccionar procesos para la terminación. Los detalles se han modificado y modificado con casi todas las versiones de kernel y compilación de kernel de proveedores en los últimos años.
Jim Dennis
1
(Mi punto general es que el administrador de sistemas normal debería considerar que la selección del proceso asesino de OOM es casi aleatoria. Hace un par de años pasé una cantidad vergonzosa de tiempo rastreando las misteriosas muertes esporádicas en mis procesos portmapper (algunas por semana en grupos de unos pocos miles de máquinas) solo descubren que estaba siendo asesinado por el asesino OOM --- a pesar de que usa muy poca memoria, casi nunca asigna memoria adicional, nunca se bifurca y es, en la mayoría de los aspectos, un candidato extremadamente improbable para OOM selección). (No se han aplicado ajustes sysctl a estos).
Jim Dennis
Mi cerebro explotó. ¡Estas son MUY muy buenas preguntas!
Mister IT Guru
Jim, tienes razón, cambia todo el tiempo, pero estoy más interesado en cómo el entrevistado comenzaría a pensar en eso y qué tendría más sentido matar primero y bonificación si puede mencionar cómo proteger cierto proceso para que lo maten.
Chmouel Boudjnah
4

Tengo un fuerte favorito aquí. Esta pregunta tiene un excelente valor predictivo de cómo les irá a los candidatos en preguntas más avanzadas:

Un usuario / colega acude a usted para quejarse de que un archivo de longitud cero llamado "-fr" ha aparecido en el directorio raíz de algún sistema.

¿Cuál es la forma más fácil, segura y portátil de eliminar esa entrada de directorio, y por qué vale la pena hacer la pregunta?

Las personas obtienen la mitad del crédito por decir cosas como: rm -- -fro perl -le 'unlink("-fr");'(son efectivas pero no óptimamente portátiles).

Las personas que continúan con las citas de línea de comando de shell y el escape de caracteres son casi tan peligrosas como aquellas que simplemente ni siquiera reconocen por qué un nombre de archivo como ese plantea algún problema.

Aquellos que se ríen ... dicen algo sobre el uso de "barra diagonal" y señalan que esta es una de las entradas más antiguas en las preguntas frecuentes de shell de UNIX de USENIX obtienen crédito adicional.

Jim Dennis
fuente
¿Qué quieres decir con "más portátil"? Mi respuesta es, de todos modos: "eliminar por número de inodo". find . -inum <number> -exec rm -i {} \;
MacUsers
@MacUsers: en mi libro eso es casi lo mismo que usar Perl para la tarea (medio crédito ... funcionará, pero algunas versiones de find podrían no implementar la opción -inum y es innecesariamente complicado en comparación con rm ./-fr ( no "más fácil"). En particular, podemos medir más fácilmente en términos de cuánto esfuerzo y cuán confiable podemos guiar a un usuario a través del proceso por teléfono.
Jim Dennis
Le gustaría saber su respuesta para obtener su "crédito completo". ¡¡Aclamaciones!!
MacUsers
El método más simple y portátil es: rm ./-fr ... siempre funciona desde las versiones más antiguas de UNIX y solo requiere la inserción de dos pulsaciones de teclas no desplazadas. Más importante aún, se puede prefijar cualquier patrón de globo con ./ y estar seguro de que ninguna expansión externa del globo será malinterpretada como un interruptor por algún comando externo. (Un programa tendría que concatenar sus argumentos juntos y volver a analizar la cadena incluso para confundirse con ./foo \ -bar ... un archivo con una secuencia de espacio-guión).
Jim Dennis
Parece que 'falta un ejemplo de desvinculación perl.
GnP
3

"¿Qué unixes que no son Linux has usado? ¿Podrías decirme algunas de las diferencias entre ellos?"

Porque, después de todo, no todo el mundo es un linux (he usado un puñado de unidades comerciales que no son linux y algunas que no son linux, si confías en las habilidades de uno en el entorno de otro, dispararás tu mismo en el pie).

Vatine
fuente
44
Solaris killall! = Linux killall
user9517 es compatible con GoFundMonica el
Al menos solía ser el caso de que la edición de archivos de configuración en AIX no provocara un cambio de comportamiento de los demonios, ya que recogieron la configuración de una base de datos binaria, en lugar del archivo de configuración de texto sin formato.
Vatine
2

Si estuviera atrapado en una isla desierta con solo 5 utilidades de línea de comandos, ¿cuál elegiría?

date whoami echo sleep kill

Joey1978
fuente
fsck fsck fsck fsck y fsck.
Sirex
¿Es esto un engaño, un intento de convertir la respuesta en serverfault.com/questions/225946/… en una discusión, o qué?
quux
'whoami' - LOL!
symcbean
1

Diré que siento que muchas de las preguntas "dónde está __, qué es __, cómo __ __" me parecen preguntas junior / intermedias. Cuando estoy entrevistando para un puesto de Linux de nivel intermedio, pregunto las cosas básicas de conocimiento básico (¿para qué sirve un núcleo, cuál es la diferencia entre un enlace simbólico y un enlace duro, qué hago si elimino los bits ejecutables de chmod?) . Algunas de las cosas que consideraría como preguntas de nivel superior:

  1. ¿Cuáles son algunos de los beneficios de usar systemd sobre SysV init? Inconvenientes? Debian acaba de pasar a systemd en lugar de Upstart. ¿Cuál fue el razonamiento detrás de eso?
    • Una de las cosas que esto muestra es el interés y la inversión en la comunidad Linux y cómo esto impacta el trabajo diario de un administrador de sistemas. Muestra que esta persona está informada sobre cómo está evolucionando el campo y está (potencialmente) dispuesta a cambiar con ella.
  2. Si quisiera instalar Apache en un servidor remoto, ¿cuál es la mejor manera de hacerlo? ¿Qué pasa si quisiera hacer lo mismo en 100 servidores? ¿Qué pasa si la mitad de ellos son RHEL y la otra mitad son Debian?
    • Muestra familiaridad con el uso de software de terceros para resolver problemas prácticos; familiaridad con el aprovechamiento de las utilidades de gestión de configuración.
  3. ¿Qué consideraciones entran en juego al diseñar una aplicación de alta disponibilidad, tanto a nivel de arquitectura como a nivel de aplicación?
    • Muestra que esta persona puede considerar un problema general. Muestra que entienden cómo funciona el equilibrio de carga, las aplicaciones sin estado, tal vez muestran algún conocimiento sobre las opciones de configuración y los módulos comunes de Apache utilizados para aplicaciones multiproceso y la optimización del rendimiento a nivel del servidor individual.
  4. ¿Cuáles son algunas diferencias entre un microkernel y un kernel monolítico? ¿Qué tiene de ventajoso que Linux sea un núcleo monolítico?
    • Muestra familiaridad con el sistema Linux a un nivel más profundo que el espacio del usuario.
  5. Si escribo "www.google.com" en el navegador y presiono Intro, ¿qué sucede todo desde el momento en que mi clave toca el fondo hasta el momento en que se muestra la página en mi navegador?
    • Aunque el puesto no es para un ingeniero de redes, espero que las personas puedan pensar fuera del microcosmos. Esto entra en muchos fundamentos de redes y su importancia para sistemas individuales y redes pequeñas en términos de cómo encajan en sistemas más grandes. Esto puede abordar las memorias caché locales del navegador / SO DNS, cómo funciona ARP, cómo funcionan las tablas de rutas, qué es una consulta DNS recursiva, la importancia de BGP / OSPF y el papel que desempeñan en redes más grandes, el protocolo de enlace SSL y la criptografía en general, TCP conexiones y muchas otras cositas útiles para profundizar.

Estos son solo algunos ejemplos improvisados, pero creo que, en general, un administrador senior debería estar familiarizado con los conceptos generales y en lugar de las cosas que solo puede buscar en Google.

ChudMunson
fuente