Quelles sont vos meilleures questions d'entrevue Linux de niveau supérieur [clos]

25

De temps en temps sur ce site, il y a des gens qui demandent quelles sont les questions d'entrevue de l'administrateur système. Surtout en les lisant, ce sont toutes des questions de niveau intermédiaire à intermédiaire.

Je me demande quelles sont vos meilleures questions d'entrevue d'administrateur Linux de niveau supérieur.

Deux des miens sont

1) Comment arrêter une bombe à fourche si vous êtes déjà connecté à un système

2) Vous supprimez un fichier journal utilisé par apache et vous n'avez pas encore redémarré apache, comment pouvez-vous récupérer ce fichier journal?

Mike
la source
Une autre variante du premier Q est: que fait :(){ :|:& };:votre système et pourquoi vous en souciez-vous? À votre santé!
MacUsers

Réponses:

13
  • À quoi ressemblent les dépendances des bibliothèques partagées?
  • Comment suivre les appels et les signaux du système?
  • Comment l'application de profil?
  • Comment imprimer les chaînes de caractères imprimables dans les fichiers?
  • Quels champs sont stockés dans un inode?
  • Qu'est-ce que NSCD?
  • Qu'est-ce que Automake et Autoconf?
  • Quelles étapes pour ajouter un utilisateur à un système sans utiliser useradd / adduser?
  • Comment voir les informations sur les fichiers ELF?
  • Quels sont les nombres MAJOR et MINOR de fichiers spéciaux?
  • Comment filtrer la couche liaison?
osdyng
la source
16
  • Parlez-moi du dernier grand projet Linux que vous avez terminé. Quels étaient certains des obstacles et comment les avez-vous surmontés. Parfois, poser ces questions ouvertes révèlera bien plus que de petites questions auxquelles Google répondra facilement. Un grand administrateur senior n'a pas besoin de tout savoir, mais il devrait être capable de trouver des solutions incroyables à des projets impossibles.
  • Contribuez-vous à des projets Open Source? Peu importe que ce soit juste de la documentation, cela montre un certain dévouement à l'artisanat.

Pour savoir à quel point ils sont bons, posez les questions ouvertes ...

cwheeler33
la source
2
+1 pour les questions ouvertes. Les questions fermées se résument à savoir des anecdotes.
Sirex
2
Absolument. Pour moi, un senior n'est pas seulement quelqu'un qui peut mémoriser des choses que vous pouvez Google, mais quelqu'un qui peut résoudre des problèmes complexes, concevoir, jouer un rôle de leadership dans des projets, etc. «Pouvez-vous vous rappeler comment utiliser ldd» ne va pas me dire si j'engage quelqu'un qui peut aider à identifier la faille dans une application de production complexe à plusieurs niveaux, ou faire une planification significative de la capacité.
Rodger
9

Question: décrivez un scénario lorsque vous obtenez une erreur «le système de fichiers est plein», mais « df » indique qu'il y a de l'espace libre

Réponse: Le système de fichiers peut manquer d'inodes, ' df -i ' le montrera.

Questions ouvertes:

  • expliquez-moi comment gérez-vous votre base de connaissances (wikis, plans, feuilles de calcul, fichiers texte) et pourquoi avez-vous choisi des options particulières
  • utilisez-vous le contrôle de version? lequel et pourquoi? vos messages de validation sont-ils beaux?
halp
la source
3
Peut-être que "Pourquoi du et df seraient en désaccord?" - Parce que du vérifie l'utilisation des répertoires, mais df vérifie les inodes libres et les fichiers peuvent être maintenus ouverts et prendre de l'espace après leur suppression
Matt Simmons
+1 pour ceci et le commentaire de Matt (en fait, je pose cette question sur TOUTES les interviews unix, quel que soit le niveau. Cela montre à quel point quelqu'un comprend les concepts du système de fichiers)
voretaq7
Ohh .. la différence entre du / et df est toujours bonne
Mike
fait une note Aha! Maintenant, je connais celui-ci! :)
Monsieur IT Guru le
8

Celui que j'aime demander, et je suis à l'aise de le faire, est le suivant:

Parlez-moi de la plus grosse erreur que vous avez commise en [une période récente] et de la façon dont vous le feriez différemment aujourd'hui. Qu'avez-vous appris de cette expérience?

Il y a beaucoup d'administrateurs système avec 10 ans d'expérience. Beaucoup semblent avoir la même année 10 fois de suite. Je veux un membre de mon équipe avec 10 années différentes, progressivement meilleures. Et si vous n'avez jamais fait une grosse erreur, une qui vous a fait vous demander si vous deviez emballer votre bureau, vous n'avez pas vraiment vécu. :)

Je ne me soucie pas des questions triviales, en tant qu'enquêteur ou interviewé. J'aime bien les questions qui ont bloqué mes fournisseurs avant, ou celles qui m'ont donné "Eureka!" des moments.

Robert Novak
la source
je soutiens cette question
ZaphodB
7

Je suis toujours fan de

  • Décrivez le processus de démarrage Linux avec autant de détails que possible, en commençant par la mise sous tension du système et en terminant lorsque vous obtenez une invite.

J'aime poser des questions qui démontrent à quel point quelqu'un a conscience des différences entre les différents unix. J'aime aussi voir à quel point une personne comprend que Linux fait les choses d'une manière qui n'est pas nécessairement la façon dont tout le monde le fait. Beaucoup de ces questions tournent autour des outils Linux par défaut, par exemple:

  • Dites-moi deux façons de rediriger stderr et stdin à la fois
    • &> et >/dev/null 2>&1
    • démontre sa connaissance de bash vs bourne shell

Autre point clé: pour les postes supérieurs, je m'attends à voir des preuves de compétences en rédaction et en présentation publiques. Si vous êtes une personne âgée, vous devriez avoir été publié plusieurs fois sur le Web et dans des magazines. Heck, juste avoir votre propre blog technologique est suffisant. Avoir présenté au moins un article lors d'une conférence est un gros plus. Je pense que cela sépare en particulier les administrateurs juniors des administrateurs linux seniors.

Phil Hollenback
la source
Ma variante de votre question est: de la fin du POST jusqu'à ce que vous voyez une invite de connexion, veuillez décrire le processus de démarrage d'un serveur PC exécutant Linux avec autant de détails que vous le jugez approprié, en mettant l'accent sur le dépannage? (Ainsi, les choses sur la façon dont le périphérique de démarrage est trouvé par le BIOS et comment le chargeur de démarrage est récupéré par le code dans le MBR, comment le noyau démarre le processus d'initialisation et ainsi de suite, sont toutes pertinentes; car chacune d'elles donne des commentaires et a un dépannage associé pas).
Jim Dennis
6

Je viens de lancer 'chmod -x / bin / chmod'. Qu'est-ce que j'ai fait? Comment récupérer?

Décrivez le processus d'établissement de liaison de TCP.

Comment fonctionne traceroute?

Quand pourriez-vous avoir besoin d'utiliser CTRL-Z ou CTRL-D?

Que fait le bit collant?

Quelles options de noyau pourriez-vous avoir besoin de régler?

Comment pouvez-vous savoir quelle distribution vous exécutez?

Comment pouvez-vous savoir sur quel matériel vous utilisez?

Quelle est la différence entre un SAN, un NAS et un disque local?

J'ai 30 serveurs et je ne sais pas si chacun a la même configuration apache. Comment savoir combien il y a d'exemplaires et quelles sont les différences?

Qu'est-ce qu'une prison chroot?

Comment savoir si vous avez été piraté?

Nommez toutes les commandes unix à deux lettres auxquelles vous pouvez penser et que font-elles? Comment vous pouvez rechercher toutes les commandes unix à deux lettres sur votre système.

Je demande également aux gens pré-sur place de faire quelques devoirs simples. Surtout s'ils professent une certaine expérience dans l'écriture de scripts. Je leur demande d'analyser deux fichiers de données différents (un csv, un | sv) et de faire effectivement une jointure des données. J'ai mis quelques gotchas (données mal formatées), des champs manquants nécessaires pour les jointures, étrangement des données de séquence, etc. Je leur demande de m'envoyer le code source et la sortie. (Style de problème de machine) Je donne généralement un délai de 3 à 4 heures pour y faire face. Cette tâche a permis de filtrer de nombreux candidats qui répertorient le «scripting» comme une compétence, mais ne peut pas retirer les bases sous pression.

Joel K
la source
Je ne suis pas convaincu que ceux-ci soient suffisamment techniques pour un poste senior (sur la base de cela, je peux y répondre, et je suis junior).
Sirex
Avec un peu de temps, je pourrais répondre à toutes ces questions, mais je veux pouvoir le faire dans mon sommeil! Moi pense que j'ai besoin de plus d'apprentissage :)
Mister IT Guru
6

Ma dernière question préférée:

Si vous étiez coincé sur une île déserte avec seulement 5 utilitaires de ligne de commande, lequel choisiriez-vous?

Ma liste personnelle:

  • ping
  • tcpdump
  • ps
  • lsof
  • strace

C'est une question simple de voir avec quelles commandes un administrateur est le plus à l'aise, et cela aide également à démontrer son confort avec des questions peu orthodoxes (ludiques). Certaines personnes interrogées lisent beaucoup trop la question et s'énervent. Si vous ne pouvez pas répondre à quelque chose d'aussi basique, cela me dit que vous avez peu confiance en vos propres compétences. D'un autre côté, si vous essayez trop fort de trouver la liste parfaite, cela pourrait suggérer que vous avez peur de l'échec et que vous ne pouvez pas penser à vos pieds.

Certes, cela est plus utile pour les candidats juniors / intermédiaires, mais cela ne fait pas de mal de demander non plus. :)

obscurité
la source
5
Je suppose que j'irais avec busyboxpour couvrir les bases, plus mplayerpour aider à faire face à l'ennui. Cela me laisse trois restes ....
mattdm
2
Je voudrais juste un écho et un mail - echo 's'il te plait viens me sauver!' | mail -s rescue [email protected]
symcbean
"Mail" et "ntpdate". Je pourrais utiliser Mail pour appeler à l'aide et utiliser NTP pour déterminer ma longitude et longitude exactes. :)
Ernie
5

J'utilise celui-ci:

  • Que se passe-t-il lorsque le noyau Linux démarre le tueur OOM, comment choisit-il le processus à tuer en premier?

et d'autres que je n'ai pas du haut de ma tête ..

Chmouel Boudjnah
la source
C'est une excellente question. Je ne pense pas que beaucoup de personnes de niveau supérieur le sachent. Je ne l'ai certainement pas fait et cela m'a fait lire. Merci!
Mike
Ma réponse à cela serait: le noyau maintient diverses statistiques liées à l'allocation de mémoire virtuelle et à l'activité de pagination. Lorsque certains seuils sont dépassés, le module de suppression OOM est appelé pour sélectionner les processus de terminaison. Les détails ont été modifiés et modifiés avec à peu près toutes les versions du noyau et la construction du noyau du fournisseur au cours des dernières années.
Jim Dennis
1
(Mon argument général est que l'administrateur système normal devrait considérer la sélection du processus de tueur OOM comme presque aléatoire. Il y a quelques années, j'ai passé un temps embarrassant à traquer les mystérieux décès sporadiques sur mes processus de portmapper (quelques-uns par semaine sur des grappes d'un quelques milliers de machines) découvrent seulement qu'il a été tué par un tueur OOM --- malgré le fait qu'il utilise très peu de mémoire, n'alloue presque jamais de mémoire supplémentaire, ne fait jamais de bifurcation et est, à bien des égards, un candidat extrêmement improbable pour OOM sélection). (Aucun ajustement sysctl n'avait été appliqué à ceux-ci).
Jim Dennis
Mon cerveau vient d'exploser - Ce sont de TRÈS très bonnes questions!
Monsieur IT Guru le
Jim, vous avez raison, cela change tout le temps, mais je suis plus intéressé par la façon dont la personne interrogée commencerait à y penser et ce qui serait plus logique de tuer en premier et en prime s'il peut mentionner comment protéger certains processus contre la mort.
Chmouel Boudjnah
4

J'ai un fort favori ici. Cette question a une excellente valeur prédictive sur la façon dont les candidats se comporteront dans les questions plus avancées:

Un utilisateur / collègue vient vous plaindre qu'un fichier de longueur nulle nommé "-fr" est apparu dans le répertoire racine d'un système.

Quelle est la façon la plus simple, la plus sûre et la plus portable de supprimer cette entrée de répertoire, et pourquoi la question mérite-t-elle d'être posée?

Les gens obtiennent la moitié du crédit pour avoir dit des choses comme: rm -- -frou perl -le 'unlink("-fr");'(ils sont efficaces mais ne sont pas portables de manière optimale).

Les personnes qui parlent de la ligne de commande du shell et de la fuite de caractères sont presque aussi dangereuses que celles qui ne reconnaissent tout simplement pas pourquoi un nom de fichier comme celui-ci pose un problème.

Ceux qui rient ... disent n'importe quoi sur l'utilisation de "barre oblique" et soulignent que c'est l'une des entrées les plus anciennes dans la FAQ du shell UNIX d'USENIX et obtiennent un crédit supplémentaire.

Jim Dennis
la source
Qu'entendez-vous par «le plus portable»? Ma réponse est de toute façon: "supprimer par numéro d'inode". find . -inum <number> -exec rm -i {} \;
MacUsers
@MacUsers: Dans mon livre, c'est à peu près la même chose que l'utilisation de Perl pour la tâche (demi-crédit ... cela fonctionnera, mais certaines versions de find pourraient ne pas implémenter l'option -inum et c'est inutilement compliqué par rapport à rm ./-fr ( pas plus "facile"). En particulier, nous pouvons mesurer plus facilement en termes d'effort et de fiabilité nous pouvons guider un utilisateur à travers le processus par téléphone.
Jim Dennis
Vous souhaitez connaître votre réponse pour obtenir votre "crédit complet". À votre santé!!
MacUsers
La méthode la plus simple et la plus portable est: rm ./-fr ... elle fonctionne toujours à partir des versions les plus anciennes d'UNIX et ne nécessite que l'insertion de deux touches non décalées. Plus important encore, on peut préfixer n'importe quel modèle de glob avec ./ et être assuré qu'aucune expansion du shell du glob ne sera mal interprétée comme un commutateur par une commande externe. (Un programme devrait concaténer ses arguments ensemble et ré-analyser la chaîne même pour être confondu par ./foo \ -bar ... un fichier contenant une séquence de tirets spatiaux).
Jim Dennis
Il semble y avoir un 'manquant dans votre exemple de dissociation perl.
GnP
3

"Quels Unix qui ne sont pas Linux avez-vous utilisés? Pourriez-vous me dire certaines des différences entre eux?"

Parce que, après tout, le monde entier n'est pas un linux (j'ai utilisé une poignée d'unités commerciales non-linux et quelques unités ouvertes non-linux, si vous comptez sur les compétences de l'un dans l'environnement d'un autre, vous tournerez vous-même dans le pied).

Vatine
la source
4
Solaris killall! = Linux killall
user9517 prend en charge GoFundMonica le
Il était au moins le cas que la modification des fichiers de configuration dans AIX n'entraîne pas de changement de comportement des démons, car ils récupéraient la configuration dans une base de données binaire, au lieu du fichier de configuration en texte brut.
Vatine
2

Si vous étiez coincé sur une île déserte avec seulement 5 utilitaires de ligne de commande, lequel choisiriez-vous?

date whoami echo sleep kill

Joey1978
la source
fsck fsck fsck fsck et fsck.
Sirex
Est-ce une dupe, une tentative de transformer la réponse sur serverfault.com/questions/225946/… en une discussion, ou quoi?
quux
'whoami' - LOL!
symcbean
1

Je dirai que je me sens comme la plupart des types de questions "où est __, qu'est-ce que __, comment allez-vous __" me semblent des questions juniors / intermédiaires pour moi. Lorsque j'interviewe pour un poste Linux de niveau intermédiaire, je demande les connaissances de base typiques (à quoi sert un noyau, quelle est la différence entre un lien symbolique et un lien dur, que dois-je faire si je supprime les bits exécutables de chmod?) . Je pense que certaines des questions sont de niveau plus élevé:

  1. Quels sont les avantages de l'utilisation de systemd sur SysV init? Désavantages? Debian vient de passer à systemd par opposition à Upstart. Quel était le raisonnement derrière cela?
    • Cela montre notamment l'intérêt et l'investissement dans la communauté Linux et leur impact sur le travail quotidien d'un administrateur système. Cela montre que cette personne est informée de l'évolution du domaine et est (potentiellement) disposée à changer avec elle.
  2. Si je voulais installer Apache sur un serveur distant, quelle est la meilleure façon de procéder? Et si je voulais faire la même chose sur 100 serveurs? Et si la moitié d'entre eux étaient RHEL et l'autre moitié Debian?
    • Montre une familiarité avec l'utilisation de logiciels tiers pour résoudre des problèmes pratiques; familiarité avec l'utilisation des utilitaires de gestion de la configuration.
  3. Quelles considérations entrent en jeu lors de la conception d'une application hautement disponible, à la fois au niveau de l'architecture et au niveau de l'application?
    • Montre que cette personne peut considérer un problème global. Montre qu'ils comprennent le fonctionnement de l'équilibrage de charge, les applications sans état, peut-être affiche certaines connaissances sur les options de configuration Apache courantes et les modules utilisés pour les applications multithread et l'optimisation des performances au niveau du serveur individuel.
  4. Quelles sont les différences entre un micro-noyau et un noyau monolithique? Qu'est-ce qui est avantageux pour Linux d'être un noyau monolithique?
    • Montre une familiarité avec le système Linux à un niveau plus profond que l'espace utilisateur.
  5. Si je tape "www.google.com" dans par navigateur et que je clique sur Entrée, que se passe-t-il entre le moment où ma clé sort et le moment où la page s'affiche dans mon navigateur?
    • Même si le poste n'est pas pour un ingénieur réseau, je m'attends à ce que les gens puissent penser en dehors du microcosme. Cela pénètre dans de nombreux principes fondamentaux de mise en réseau et leur importance pour les systèmes individuels et les petits réseaux en termes de la façon dont ils s'intègrent dans les systèmes plus grands. Cela peut concerner les caches DNS du navigateur / système d'exploitation local, le fonctionnement d'ARP, le fonctionnement des tables de routage, ce qu'est une requête DNS récursive, l'importance de BGP / OSPF et le rôle qu'ils jouent dans les grands réseaux, la négociation SSL et la cryptographie en général, TCP connexions, et des tas d'autres petits morceaux utiles pour se plonger dans.

Ce ne sont que quelques exemples désinvoltes, mais je pense qu'en général, un administrateur principal devrait être familier avec les concepts généraux et plutôt qu'avec les choses pour lesquelles vous pouvez simplement utiliser Google.

ChudMunson
la source