Jakie są twoje najlepsze pytania dotyczące wywiadu na Linuksie na wyższym szczeblu [zamknięte]

25

Od czasu do czasu na tej stronie pojawiają się ludzie, którzy zadają pytania dotyczące rozmowy kwalifikacyjnej z administratorem systemu. Przeważnie, gdy je czytają, są to pytania od średniego do średniego.

Zastanawiam się, jakie są twoje najlepsze pytania na rozmowy z administratorem Linuksa na wyższym szczeblu.

Dwa z nich są

1) Jak zatrzymać bombę wideł, jeśli jesteś już zalogowany w systemie

2) Usunąłeś plik dziennika, z którego korzysta apache i jeszcze go nie uruchomiłeś, jak możesz odzyskać ten plik dziennika?

Mike
źródło
Innym wariantem pierwszego pytania jest: Co robi :(){ :|:& };:w twoim systemie i dlaczego miałbyś się tym przejmować? Twoje zdrowie!
MacUsers

Odpowiedzi:

13
  • Jak wyglądają zależności bibliotek współdzielonych?
  • Jak śledzić wywołanie systemowe i sygnał?
  • Jak aplikacja profilowa?
  • Jak wydrukować ciąg znaków do wydrukowania w plikach?
  • Jakie pola są przechowywane w i-węźle?
  • Co to jest nscd?
  • Co to są Automake i Autoconf?
  • Jakie kroki, aby dodać użytkownika do systemu bez użycia useradd / adduser?
  • Jak wyświetlić informacje o plikach ELF?
  • Jakie są numery MAJOR i MINOR plików specjalnych?
  • Jak filtrować warstwy linków?
osdyng
źródło
16
  • Opowiedz mi o ostatnim dużym projekcie Linuksa, który ukończyłeś. Jakie były niektóre przeszkody i jak je pokonałeś. Czasami zadawanie tych otwartych pytań ujawnia znacznie więcej niż małe pytania, na które Google łatwo odpowiada. Świetny starszy administrator nie musi wiedzieć wszystkiego, ale powinien być w stanie wymyślić niesamowite rozwiązania niemożliwych projektów.
  • Czy przyczyniasz się do jakichkolwiek projektów Open Source? Nie ma znaczenia, czy to tylko dokumentacja, pokazuje pewne poświęcenie dla rzemiosła.

Aby dowiedzieć się, jak są dobrzy, zadawaj pytania otwarte ...

koło zamachowe33
źródło
2
+1 za otwarte pytania. Pytania zamknięte sprowadzają się do poznania ciekawostek.
Sirex
2
Absolutnie. Dla mnie senior to nie tylko ktoś, kto potrafi zapamiętać rzeczy, które możesz Google, ale także ktoś, kto może rozwiązać złożone problemy, projektować, przejąć rolę lidera w projektach i tak dalej. „Czy pamiętasz, jak korzystać z ldd”, nie powie mi, czy zatrudniam kogoś, kto może pomóc w zlokalizowaniu usterki w złożonej wielopoziomowej aplikacji produkcyjnej, czy też wykonuję sensowne planowanie wydajności.
Rodger
9

Pytanie: Opisz scenariusz, w którym pojawia się błąd „system plików jest pełny”, ale „ df ” pokazuje, że jest wolne miejsce

Odpowiedź: W systemie plików mogą zabraknąć i-węzłów, pokaże to „ df -i ”.

Pytania otwarte:

  • powiedz mi o tym, jak zarządzasz bazą wiedzy (wiki, kontury, arkusze kalkulacyjne, pliki tekstowe) i dlaczego wybrałeś poszczególne opcje
  • korzystasz z kontroli wersji? który i dlaczego? czy twoje komunikaty zatwierdzania wyglądają dobrze?
halp
źródło
3
Powiązane może być: „Dlaczego du i df nie zgadzają się?” - Ponieważ du sprawdza użycie katalogów, ale df sprawdza wolne i-węzły, a pliki można trzymać otwarte i zabierać miejsce po ich usunięciu
Matt Simmons
+1 za to i komentarz Matta (właściwie pytam o to we WSZYSTKICH wywiadach z
Unixem
Ohh .. różnica między du / i df jest zawsze dobra
Mike
odnotowuje Aha! Teraz znam ten! :)
Mister IT Guru
8

Chciałbym zapytać i czuję się swobodnie pytany:

Opowiedz mi o największym błędzie, jaki popełniłeś w [ostatnim okresie] oraz o tym, jak zrobiłbyś to dzisiaj inaczej. Czego nauczyłeś się z tego doświadczenia?

Istnieje wiele sysadminów z 10-letnim doświadczeniem. Wiele osób wydaje się mieć ten sam rok 10 razy z rzędu. Chcę jednego z mojego zespołu z 10 różnymi, coraz lepszymi latami. A jeśli nigdy nie popełniłeś wielkiego błędu, który sprawił, że zastanawiałeś się, czy powinieneś po prostu spakować swoje biurko, tak naprawdę nie żyłeś. :)

Nie dbam o pytania dotyczące ciekawostek, jako ankietera lub ankietera. Lubię pytania, które wcześniej zaskoczyły moich sprzedawców, lub te, które dały mi „Eureka!” chwile.

Robert Novak
źródło
Popieram to pytanie
ZaphodB,
7

Zawsze jestem fanem

  • Opisz proces rozruchu systemu Linux z możliwie największą liczbą szczegółów, zaczynając od momentu włączenia systemu, a kończąc na wyświetleniu monitu.

Lubię zadawać pytania, które pokazują, ile ktoś ma świadomość różnic między różnymi uniksami. Chciałbym też zobaczyć, jak bardzo osoba rozumie, że Linux robi rzeczy w jeden sposób, niekoniecznie tak jak wszyscy inni. Wiele z tych pytań dotyczy domyślnych narzędzi linuksowych, na przykład:

  • Powiedz mi dwa sposoby przekierowania jednocześnie stderr i stdin
    • &> i >/dev/null 2>&1
    • demonstruje znajomość powłoki bash vs. bourne

Kolejna kluczowa kwestia: na wyższych stanowiskach oczekuję dowodów na publiczne umiejętności pisania i prezentacji. Jeśli jesteś osobą starszą, powinieneś być wielokrotnie publikowany w Internecie i czasopismach. Cholera, wystarczy mieć własny blog techniczny. Prezentacja co najmniej jednego referatu na konferencji to duży plus. Myślę, że to szczególnie oddziela młodszych od starszych administratorów Linuksa.

Phil Hollenback
źródło
Mój wariant twojego pytania brzmi: od końca testu POST, aż zobaczysz monit o zalogowanie, opisz proces uruchamiania serwera PC z systemem Linux tak szczegółowo, jak uważasz, z naciskiem na rozwiązywanie problemów? (W związku z tym istotne są rzeczy dotyczące sposobu znalezienia urządzenia rozruchowego przez system BIOS i sposobu pobierania programu ładującego kod za pomocą kodu w MBR, sposobu, w jaki jądro rozpoczyna proces inicjowania itd. kroki).
Jim Dennis
6

Właśnie uruchomiłem „chmod -x / bin / chmod”. Co ja zrobiłem? Jak mogę odzyskać?

Opisz proces uzgadniania TCP.

Jak działa traceroute?

Kiedy możesz potrzebować użyć CTRL-Z lub CTRL-D?

Co robi lepki bit?

Jakie opcje jądra mogą być potrzebne?

Jak powiedzieć, jaką dystrybucję prowadzisz?

Jak powiedzieć, na jakim sprzęcie pracujesz?

Jaka jest różnica między SAN, NAS a dyskiem lokalnym?

Mam 30 serwerów i nie jestem pewien, czy każdy ma taką samą konfigurację Apache. Jak dowiedzieć się, ile jest kopii i jakie są różnice?

Co to jest więzienie chroot?

Skąd wiesz, że zostałeś zhakowany?

Wymień wszystkie dwuliterowe polecenia unixowe, które możesz wymyślić i co one robią? Jak można wyszukać wszystkie dwie komendy unixowe w twoim systemie.

Poprosiłem również ludzi, którzy byli na miejscu, aby odrobili lekcje. Zwłaszcza jeśli wyznają jakieś doświadczenie w pisaniu skryptów. Proszę ich o przeanalizowanie dwóch różnych plików danych (jeden csv, jeden | sv) i efektywne połączenie danych. Wstawiłem kilka gotchas (źle sformatowanych danych), brakujących pól potrzebnych do złączeń, dziwnie poza danymi sekwencji itp. Proszę ich o przesłanie kodu źródłowego i danych wyjściowych. (Styl problemu z maszyną) Zwykle daję temu czas na 3-4 godziny. To zadanie pomogło odfiltrować wielu kandydatów, którzy wymieniają „pisanie skryptów” jako umiejętność, ale nie potrafią oderwać się od podstaw pod presją.

Joel K.
źródło
Nie jestem przekonany, że są one wystarczająco techniczne do roli wyższej rangi (na tej podstawie mogę na nie odpowiedzieć i jestem młodszy).
Sirex
Z czasem mogłem odpowiedzieć na wszystkie te pytania, ale chcę to zrobić we śnie! Ja myśli, że potrzebuję więcej nauki :)
Mister IT Guru,
6

Moje ulubione pytanie końcowe:

Gdybyś utknął na bezludnej wyspie tylko z 5 narzędziami wiersza poleceń, co byś wybrał?

Moja osobista lista:

  • świst
  • tcpdump
  • ps
  • lsof
  • strace

To proste pytanie, aby sprawdzić, z jakimi komendami administrator jest najwygodniejszy, a także pomaga zademonstrować swój komfort przy niekonwencjonalnych (zabawnych) pytaniach. Niektórzy respondenci czytać sposób zbyt dużo na pytanie i dostać speszony. Jeśli nie potrafisz odpowiedzieć na coś tak podstawowego, oznacza to, że masz małe zaufanie do swoich umiejętności. Z drugiej strony, jeśli zbyt mocno spróbujesz wymyślić idealną listę, może to oznaczać, że boisz się porażki i nie możesz myśleć na własnych nogach.

Wprawdzie jest to bardziej przydatne dla młodszych / średnich kandydatów, ale nie zaszkodzi też zadawać pytania. :)

zaciemnienie
źródło
5
Chyba poszedłbym, busyboxby opowiedzieć o podstawach, a mplayertakże pomóc w radzeniu sobie z nudą. Pozostały mi trzy resztki ...
mattdm
2
Chciałbym tylko echo i pocztę - echo „proszę przyjdź i uratuj mnie!” | mail -s rescue [email protected]
symcbean
„Mail” i „ntpdate”. Mógłbym użyć Maila do wezwania pomocy i użyć NTP do ustalenia mojej dokładnej szerokości i długości geograficznej. :)
Ernie,
5

Używam tego:

  • Co się dzieje, gdy jądro Linuksa uruchamia zabójcę OOM, w jaki sposób wybiera, który proces zabić jako pierwszy.

i inne, których nie mam z głowy.

Chmouel Boudjnah
źródło
To świetne pytanie .. Nie sądzę, aby wiele osób na wyższym szczeblu wiedziało o tym. Z pewnością tego nie zrobiłem i przeczytałem o tym. dzięki!
Mike
Moja odpowiedź brzmi: jądro utrzymuje różne statystyki związane z alokacją pamięci wirtualnej i aktywnością stronicowania. Po przekroczeniu pewnych progów wywoływany jest zabójca OOM w celu wybrania procesów do zakończenia. Szczegóły zostały poprawione i zmienione w prawie każdym wydaniu jądra i kompilacji jądra dostawcy w ciągu ostatnich kilku lat.
Jim Dennis
1
(Chodzi mi o to, że normalny sysadmin powinien uważać wybór procesu zabijania OOM za prawie przypadkowy. Kilka lat temu spędziłem zawstydzająco dużo czasu na śledzeniu tajemniczych sporadycznych zgonów w moich procesach portmappera (kilka tygodniowo w grupach kilka tysięcy maszyn) odkrywa tylko, że został zabity przez zabójcę OOM --- pomimo tego, że zużywa bardzo mało pamięci, prawie nigdy nie przydziela dodatkowej pamięci, nigdy się nie rozwidla i jest pod wieloma względami niezwykle mało prawdopodobnym kandydatem na OOM wybór). (Nie zastosowano do nich poprawek sysctl).
Jim Dennis
Mój mózg właśnie eksplodował - to BARDZO bardzo dobre pytania!
Mister IT Guru
Jim, masz rację, to cały czas się zmienia, ale bardziej interesuje mnie to, jak rozmówca zacznie o tym myśleć i co byłoby bardziej sensowne zabić najpierw i premię, jeśli będzie mógł wspomnieć, jak zabezpieczyć pewien proces przed zabiciem.
Chmouel Boudjnah
4

Mam tutaj silnego faworyta. To pytanie ma doskonałą wartość predykcyjną dla tego, jak kandydaci poradzą sobie w bardziej zaawansowanych pytaniach:

Użytkownik / kolega przychodzi do ciebie, aby narzekać, że w katalogu głównym jakiegoś systemu pojawił się plik o zerowej długości o nazwie „-fr”.

Jaki jest najłatwiejszy, najbezpieczniejszy i najbardziej przenośny sposób na usunięcie tego wpisu katalogu i dlaczego warto zadać pytanie?

Ludzie otrzymują połowę kredytu za mówienie takich rzeczy jak: rm -- -frlub perl -le 'unlink("-fr");'(są skuteczne, ale nie optymalnie przenośne).

Ludzie, którzy kontynuują cytowanie wiersza poleceń powłoki i unikanie znaków, są prawie tak niebezpieczni, jak ci, którzy po prostu nie rozpoznają, dlaczego taka nazwa pliku w ogóle stanowi problem.

Ci, którzy chichoczą ... mówią cokolwiek o używaniu „ukośnika kropkowego” i zwracają uwagę, że jest to jeden z najstarszych wpisów w najczęściej zadawanych pytaniach dotyczących powłoki UNIX z USENIX.

Jim Dennis
źródło
Co rozumiesz przez „najbardziej przenośny”? W każdym razie moja odpowiedź brzmi: „usuń według numeru i-węzła”. find . -inum <number> -exec rm -i {} \;
MacUsers
@MacUsers: W mojej książce jest to mniej więcej tak samo, jak używanie Perla do zadania (połowa kredytu ... zadziała, ale niektóre wersje find mogą nie implementować opcji -inum i jest to niepotrzebnie skomplikowane w porównaniu do rm ./-fr ( a nie „najłatwiej”). W szczególności możemy zmierzyć łatwiej pod względem nakładu pracy i wiarygodności przeprowadzania użytkownika przez cały proces przez telefon
Jim Dennis,
Chcesz poznać swoją odpowiedź, aby uzyskać „pełne uznanie”. Twoje zdrowie!!
MacUsers
Najprostszą i najbardziej przenośną metodą jest: rm ./-fr ... zawsze działała z najstarszych wersji UNIX i wymaga jedynie wstawienia dwóch, nieprzesuniętych naciśnięć klawiszy. Co ważniejsze, można poprzedzić dowolny wzorzec globu znakiem ./ i mieć pewność, że żadne rozszerzenie powłoki globu nie zostanie błędnie zinterpretowane jako przełącznik przez jakieś zewnętrzne polecenie. (Program musiałby połączyć swoje argumenty razem i ponownie parsować ciąg, aby nawet zostać pomylonym przez ./foo \ -bar ... plik z sekwencją spacji).
Jim Dennis
Wygląda na to, że 'brakuje twojego przykładu perl unlink.
GnP
3

„Jakich uniksów, które nie są Linuksem, użyłeś? Czy możesz mi powiedzieć o różnicach między nimi?”

Bo przecież nie cały świat jest linuksem (użyłem garstki komercyjnych jednorożców innych niż linux i kilku otwartych nieliniowych, jeśli polegasz na umiejętnościach jednego w środowisku innego, będziesz strzelać siebie w stopie).

Vatine
źródło
4
Solaris killall! = Linux killall
user9517 obsługuje GoFundMonica 24.01.11
Przynajmniej tak było w przypadku, gdy edytowanie plików konfiguracyjnych w systemie AIX nie powodowało zmiany zachowań demonów, ponieważ pobierały one konfigurację z binarnej bazy danych zamiast zwykłego pliku konfiguracyjnego.
Vatine
2

Gdybyś utknął na bezludnej wyspie tylko z 5 narzędziami wiersza poleceń, co byś wybrał?

date whoami echo sleep kill

Joey1978
źródło
fsck fsck fsck fsck i fsck.
Sirex
Czy to dupek, próba przekształcenia odpowiedzi na serverfault.com/questions/225946/... w dyskusję, czy co?
quux
„whoami” - LOL!
symcbean
1

Powiem, że czuję, że wiele pytań typu „gdzie jest __, co to jest __, w jaki sposób __”, wydaje mi się, że są to pytania młodsze / pośrednie. Kiedy udzielam wywiadu na temat pozycji Linuksa na poziomie pośrednim, pytam o typowe podstawowe informacje (po co jest jądro, jaka jest różnica między dowiązaniem symbolicznym a dowiązaniem twardym, co mam zrobić, jeśli usunę bity wykonywalne z chmod?) . Niektóre z rzeczy, które uważałbym za pytania na wyższym poziomie:

  1. Jakie są zalety korzystania z systemd zamiast SysV init? Wady Debian właśnie przeniósł się na systemd w przeciwieństwie do Upstart. Jakie było tego uzasadnienie?
    • Jedną z rzeczy, które to pokazuje, jest zainteresowanie i inwestowanie w społeczność Linuksa oraz to, jak wpływa to na codzienną pracę sysadmina. Pokazuje, że osoba ta jest informowana o ewolucji pola i (potencjalnie) jest skłonna się z nim zmieniać.
  2. Jeśli chciałbym zainstalować Apache na zdalnym serwerze, jaki jest najlepszy sposób? Co jeśli chciałbym zrobić to samo na 100 serwerach? Co jeśli połowa z nich to RHEL, a połowa to Debian?
    • Wykazuje znajomość korzystania z oprogramowania innych firm w celu rozwiązywania praktycznych problemów; znajomość narzędzi do zarządzania konfiguracją.
  3. Jakie uwagi wchodzą w grę przy projektowaniu wysoce dostępnej aplikacji, zarówno na poziomie architektury, jak i aplikacji?
    • Pokazuje, że ta osoba może rozważyć duży problem z obrazem. Pokazuje, że rozumieją, jak działa równoważenie obciążenia, aplikacje bezstanowe, może wyświetlać pewną wiedzę na temat typowych opcji konfiguracji Apache i modułów używanych do aplikacji wielowątkowych oraz optymalizacji wydajności na poziomie pojedynczego serwera.
  4. Jakie są różnice między mikrojądrem a jądrem monolitycznym? Co jest korzystne w tym, że Linux jest monolitycznym jądrem?
    • Pokazuje znajomość systemu Linux na poziomie głębszym niż przestrzeń użytkownika.
  5. Jeśli wpiszę „www.google.com” w przeglądarce i naciśniesz klawisz Enter, co się stanie od chwili, gdy mój klucz się obniży, do chwili wyświetlenia strony w mojej przeglądarce?
    • Chociaż nie jest to stanowisko inżyniera sieci, oczekuję, że ludzie będą mogli myśleć poza mikrokosmosem. Wpływa to na wiele podstaw sieci i ich znaczenie dla poszczególnych systemów i małych sieci pod względem ich dopasowania do większych systemów. Może to dotyczyć pamięci podręcznej DNS lokalnej przeglądarki / systemu operacyjnego, działania ARP, działania tablic tras, czym jest rekurencyjne zapytanie DNS, znaczenia BGP / OSPF i roli, jaką odgrywają w większych sieciach, uzgadniania SSL i ogólnie kryptografii, TCP połączenia i mnóstwo innych przydatnych ciekawostek.

To tylko niektóre przykłady, ale myślę, że ogólnie starszy administrator powinien znać ogólne koncepcje obrazkowe, a nie rzeczy, dla których możesz po prostu Google.

ChudMunson
źródło