Apa pertanyaan wawancara Linux tingkat senior terbaik Anda [ditutup]


25

Sesekali di situs ini ada orang yang bertanya apa sys admin pertanyaan wawancara Sebagian besar ketika membacanya, mereka semua adalah pertanyaan tingkat menengah hingga menengah.

Saya bertanya-tanya apa pertanyaan wawancara admin Linux tingkat senior terbaik Anda.

Dua milikku adalah

1) Bagaimana Anda menghentikan bom fork jika Anda sudah masuk ke sistem

2) Anda menghapus file log yang digunakan apache dan belum memulai kembali apache, bagaimana Anda bisa memulihkan file log itu?


Varian lain dari Q pertama adalah: Apa yang :(){ :|:& };:dilakukan pada sistem Anda dan mengapa Anda peduli tentang itu? Tepuk tangan!
MacUsers

Jawaban:


13
  • Bagaimana melihat dependensi perpustakaan bersama?
  • Bagaimana melacak panggilan dan sinyal sistem?
  • Bagaimana aplikasi profil?
  • Bagaimana cara mencetak string karakter yang dapat dicetak dalam file?
  • Bidang apa yang disimpan dalam inode?
  • Apa itu nscd?
  • Apa itu Automake dan Autoconf?
  • Apa langkah untuk menambahkan pengguna ke sistem tanpa menggunakan useradd / adduser?
  • Bagaimana melihat informasi tentang file ELF?
  • Berapakah jumlah file khusus UTAMA dan MINOR?
  • Bagaimana penyaringan tautan?

16
  • Ceritakan tentang proyek Linux besar terakhir yang Anda selesaikan. Apa saja hambatannya dan bagaimana Anda mengatasinya. Terkadang mengajukan pertanyaan terbuka ini akan mengungkapkan lebih dari pertanyaan kecil yang mudah dijawab oleh Google. Admin senior yang hebat tidak perlu tahu segalanya, tetapi mereka harus dapat memberikan solusi yang luar biasa untuk proyek yang tidak mungkin.
  • Apakah Anda berkontribusi pada proyek Open Source apa pun? Tidak masalah jika itu hanya dokumentasi, itu menunjukkan dedikasi tertentu untuk kerajinan.

Untuk mengetahui seberapa bagus mereka, tanyakan pertanyaan terbuka ...


2
+1 untuk pertanyaan terbuka. Pertanyaan tertutup bermuara pada mengetahui hal-hal sepele.
Sirex

2
Benar. Bagi saya seorang senior bukan hanya seseorang yang dapat menghafal hal-hal yang Anda dapat Google, tetapi seseorang yang dapat memecahkan masalah yang kompleks, desain, mengambil peran kepemimpinan dalam proyek, dan sebagainya. "Bisakah Anda ingat cara menggunakan ldd" tidak akan memberi tahu saya jika saya mempekerjakan seseorang yang dapat membantu menunjukkan kelemahan dalam aplikasi produksi multi-tier yang kompleks, atau melakukan perencanaan kapasitas yang berarti.
Rodger

9

Pertanyaan: Jelaskan skenario ketika Anda mendapatkan kesalahan "filesystem is full", tetapi ' df ' menunjukkan ada ruang kosong

Jawaban: Sistem file dapat kehabisan inode, ' df -i ' akan menunjukkan itu.

Pertanyaan terbuka:

  • ceritakan tentang bagaimana Anda mengelola basis data pengetahuan Anda (wiki, garis besar, spreadsheet, file teks biasa) dan mengapa Anda memilih opsi tertentu
  • Apakah Anda menggunakan kontrol versi? yang mana dan mengapa? apakah pesan komit Anda tampan?

3
Terkait mungkin, "Mengapa du dan df tidak setuju?" - Karena du memeriksa penggunaan direktori, tetapi df memeriksa inode bebas, dan file dapat disimpan terbuka dan mengambil ruang setelah dihapus
Matt Simmons

+1 untuk ini & komentar Matt (Sebenarnya saya menanyakan ini pada SEMUA wawancara unix, berapapun levelnya. Ini menunjukkan seberapa baik seseorang memahami konsep sistem file)
voretaq7

Ohh .. perbedaan antara du / dan df selalu bagus
Mike

membuat catatan Aha! Sekarang saya tahu yang ini! :)
Tuan IT Guru

8

Yang saya suka tanyakan, dan saya merasa nyaman ditanyakan, adalah ini:

Ceritakan tentang kesalahan terbesar yang Anda buat di [beberapa periode terakhir] dan bagaimana Anda akan melakukannya secara berbeda hari ini. Apa yang Anda pelajari dari pengalaman ini?

Ada banyak sysadmin dengan pengalaman 10 tahun. Banyak yang tampaknya memiliki tahun yang sama 10 kali berturut-turut. Saya ingin satu di tim saya dengan 10 tahun yang berbeda, semakin baik. Dan jika Anda tidak pernah membuat kesalahan besar, yang membuat Anda bertanya-tanya apakah Anda harus mengepak meja Anda, Anda belum benar-benar hidup. :)

Saya tidak peduli dengan pertanyaan-pertanyaan sepele, sebagai pewawancara atau orang yang diwawancarai. Saya suka pertanyaan yang telah membingungkan vendor saya sebelumnya, atau yang memberi saya "Eureka!" momen.


saya mendukung pertanyaan ini
ZaphodB

7

Saya selalu penggemar

  • Jelaskan proses boot linux dengan sedetail mungkin, mulai dari saat sistem dinyalakan dan berakhir ketika Anda mendapatkan prompt.

Saya suka mengajukan pertanyaan yang menunjukkan seberapa besar kesadaran seseorang tentang perbedaan antara berbagai unix. Saya juga suka melihat seberapa banyak orang memahami bahwa linux melakukan sesuatu dengan satu cara yang belum tentu bagaimana orang lain melakukannya. Banyak dari pertanyaan ini berkisar pada alat linux default, misalnya:

  • Katakan padaku dua cara untuk mengarahkan stderr dan stdin sekaligus
    • &> dan >/dev/null 2>&1
    • menunjukkan pengetahuan tentang shell bash vs bourne

Poin kunci lainnya: untuk posisi senior, saya berharap untuk melihat bukti keterampilan menulis dan presentasi publik. Jika Anda adalah orang senior, Anda seharusnya telah dipublikasikan beberapa kali di web dan di majalah. Heck, hanya memiliki blog teknologi Anda sendiri sudah cukup. Mempresentasikan setidaknya satu makalah di konferensi adalah nilai tambah yang besar . Saya pikir ini secara khusus memisahkan junior dari admin linux senior.


Varian saya dari pertanyaan Anda adalah: Dari akhir POST hingga Anda melihat prompt masuk, tolong jelaskan proses boot server PC yang menjalankan Linux sedetail yang Anda rasa tepat, dengan penekanan pada pemecahan masalah? (Demikian hal-hal tentang bagaimana perangkat boot ditemukan oleh BIOS dan bagaimana bootloader diambil oleh kode dalam MBR, bagaimana kernel memulai proses init dan sebagainya, semuanya relevan; karena masing-masing memberikan umpan balik dan telah terkait pemecahan masalah tangga).
Jim Dennis

6

Saya baru saja menjalankan 'chmod -x / bin / chmod'. Apa yang saya lakukan? Bagaimana cara saya pulih?

Jelaskan proses jabat tangan TCP.

Bagaimana cara kerja traceroute?

Kapan Anda perlu menggunakan CTRL-Z atau CTRL-D?

Apa yang dilakukan bit lengket?

Opsi kernel apa yang mungkin perlu Anda sesuaikan?

Bagaimana Anda memberi tahu distribusi apa yang Anda jalankan?

Bagaimana Anda tahu perangkat keras apa yang Anda jalankan?

Apa perbedaan antara SAN, NAS, dan disk lokal?

Saya memiliki 30 server dan saya tidak yakin apakah masing-masing memiliki konfigurasi apache yang sama. Bagaimana cara mengetahui berapa banyak salinan yang ada dan apa perbedaannya?

Apa itu penjara chroot?

Bagaimana Anda tahu jika Anda diretas?

Beri nama semua perintah unix dua huruf yang dapat Anda pikirkan dan apa yang mereka lakukan? Bagaimana Anda bisa mencari semua perintah unix dua huruf di sistem Anda.

Saya juga meminta orang-orang pra-penukaran untuk melakukan pekerjaan rumah sederhana. Terutama jika mereka mengaku memiliki beberapa pengalaman menulis skrip. Saya meminta mereka untuk mengurai dua file data yang berbeda (satu csv, satu | sv) dan secara efektif melakukan penggabungan data. Saya memasukkan beberapa gotcha (data yang diformat buruk), bidang yang hilang diperlukan untuk bergabung, anehnya di luar urutan data, dll. Saya meminta mereka untuk mengirimi saya kode sumber dan hasil. (Gaya Mesin Bermasalah) Saya biasanya memberi waktu 3-4 jam untuk mengatasinya. Tugas ini telah membantu menyaring banyak kandidat yang mendaftar 'scripting' sebagai keterampilan, tetapi tidak dapat melakukan hal-hal mendasar ketika ditekan.


Saya tidak yakin ini cukup teknis untuk peran senior (berdasarkan itu saya bisa menjawabnya, dan saya seorang junior).
Sirex

Dengan beberapa waktu, saya bisa menjawab semua ini, tetapi saya ingin dapat melakukannya dalam tidur saya! Saya pikir saya perlu lebih banyak belajar :)
Mister IT Guru

6

Pertanyaan penutup favorit saya:

Jika Anda terjebak di pulau terpencil dengan hanya 5 utilitas baris perintah, mana yang akan Anda pilih?

Daftar pribadi saya:

  • ping
  • tcpdump
  • ps
  • lsof
  • strace

Ini pertanyaan sederhana untuk melihat perintah apa yang paling nyaman bagi admin, dan juga membantu menunjukkan kenyamanan mereka dengan pertanyaan yang tidak lazim (lucu). Beberapa orang yang diwawancarai membaca cara terlalu banyak mempertanyakan dan mendapatkan bingung. Jika Anda tidak dapat menjawab sesuatu yang mendasar ini, ini memberi tahu saya Anda memiliki sedikit kepercayaan pada keterampilan Anda sendiri. Di sisi lain, jika Anda berusaha terlalu keras untuk menghasilkan daftar yang sempurna, itu mungkin mengisyaratkan bahwa Anda takut gagal dan tidak mampu berpikir.

Memang, ini lebih berguna untuk pelamar tingkat menengah / menengah, tetapi tidak ada salahnya untuk bertanya juga. :)


5
Saya kira saya akan pergi dengan busyboxuntuk menutupi dasar-dasar, ditambah mplayeruntuk membantu mengatasi kebosanan. Itu membuat saya tiga sisa ....
mattdm

2
Saya hanya ingin gema dan surat - gema 'tolong datang dan selamatkan saya!' | mail -s rescue admin@mcga.gov.uk
symcbean

"Mail" dan "ntpdate". Saya bisa menggunakan Mail untuk meminta bantuan, dan menggunakan NTP untuk menentukan lattitude dan bujur saya. :)
Ernie

5

Saya menggunakan ini:

  • Apa yang terjadi ketika kernel Linux memulai pembunuh OOM, bagaimana ia memilih proses mana yang harus dibunuh terlebih dahulu.

dan lainnya yang tidak saya miliki dari atas kepala saya ..


Itu pertanyaan yang bagus .. Saya tidak berpikir banyak orang tingkat senior akan tahu itu. Tentu saja tidak dan itu membuat saya membacanya. Terima kasih!
Mike

Jawaban saya untuk ini adalah: kernel mempertahankan berbagai statistik yang berkaitan dengan alokasi memori virtual dan aktivitas paging. Ketika ambang tertentu terlampaui maka pembunuh OOM dipanggil untuk memilih proses penghentian. Rinciannya telah diubah dan diubah dengan hampir setiap rilis kernel dan vendor kernel build selama beberapa tahun terakhir.
Jim Dennis

1
(Poin saya secara keseluruhan adalah bahwa sysadmin yang normal harus mempertimbangkan pemilihan proses pembunuh OOM hampir secara acak. Beberapa tahun yang lalu saya menghabiskan banyak waktu untuk melacak kematian sporadis misterius pada proses portmapper saya (beberapa per minggu melintasi kelompok-kelompok sebuah beberapa ribu mesin) hanya menemukan bahwa itu dibunuh oleh pembunuh OOM --- meskipun fakta bahwa ia menggunakan sangat sedikit memori, hampir tidak pernah mengalokasikan memori tambahan, tidak pernah melakukan forking dan, dalam banyak hal, kandidat yang sangat tidak mungkin untuk OOM pilihan). (Tidak ada tweak sysctl telah diterapkan untuk ini).
Jim Dennis

Otak saya baru saja meledak - Ini adalah pertanyaan yang SANGAT sangat bagus!
Tuan IT Guru

Jim, Anda benar, itu memang berubah sepanjang waktu, tetapi saya lebih tertarik tentang bagaimana orang yang diwawancarai akan mulai memikirkannya dan apa yang lebih masuk akal untuk dibunuh terlebih dahulu dan bonus jika ia dapat menyebutkan bagaimana melindungi proses tertentu dari pembunuhan.
Chmouel Boudjnah

4

Saya punya favorit yang kuat di sini. Pertanyaan ini memiliki nilai prediktif yang sangat baik untuk bagaimana kandidat akan mengajukan pertanyaan lebih lanjut:

Seorang pengguna / kolega datang kepada Anda untuk mengeluh bahwa file panjang nol bernama "-fr" telah muncul di direktori root dari beberapa sistem.

Apa cara termudah, paling aman dan paling portabel untuk menghapus entri direktori itu, dan mengapa pertanyaan itu layak diajukan?

Orang-orang mendapat setengah kredit karena mengatakan hal-hal seperti: rm -- -fratau perl -le 'unlink("-fr");'(Mereka efektif tetapi tidak secara portable).

Orang-orang yang terus-menerus mengutip kata-kata perintah shell dan pelolosan karakter hampir sama berbahayanya dengan mereka yang bahkan tidak mengenali mengapa nama file seperti itu menimbulkan masalah sama sekali.

Mereka yang terkekeh ... mengatakan sesuatu tentang penggunaan "dot slash" dan menunjukkan bahwa ini adalah salah satu entri tertua di UNIX shell FAQ dari USENIX mendapatkan kredit tambahan.


Apa yang Anda maksud dengan "paling portabel"? Jawaban saya adalah: "hapus dengan nomor inode". find . -inum <number> -exec rm -i {} \;
MacUsers

@MacUsers: Dalam buku saya itu hampir sama dengan menggunakan Perl untuk tugas (setengah kredit ... itu akan berhasil, tetapi beberapa versi find mungkin tidak mengimplementasikan opsi -inum dan itu tidak perlu rumit dibandingkan dengan rm ./-fr ( bukan "termudah"). Khususnya kita dapat mengukur lebih mudah dalam hal seberapa banyak upaya dan seberapa andal kita dapat memandu pengguna melalui proses melalui telepon.
Jim Dennis

Ingin mengetahui jawaban Anda untuk mendapatkan "kredit penuh" Anda. Tepuk tangan!!
MacUsers

Metode paling sederhana dan paling portabel adalah: rm ./-fr ... ini selalu bekerja dari versi UNIX tertua dan hanya membutuhkan penyisipan dua, penekanan tombol yang tidak bergeser. Lebih penting lagi seseorang dapat mengawali pola glob dengan ./ dan yakin bahwa tidak ada ekspansi shell dari glob yang akan disalahartikan sebagai saklar oleh beberapa perintah eksternal. (Suatu program harus menyatukan argumennya bersama-sama dan mem-parsing string bahkan menjadi bingung oleh ./foo \ -bar ... file dengan urutan spasi-dash di dalamnya).
Jim Dennis

Sepertinya ada yang 'hilang dari contoh perl tautan Anda.
GnP

3

"Unix apa yang bukan linux yang kamu pakai? Bisakah kamu memberitahuku beberapa perbedaan di antara mereka?"

Karena, bagaimanapun juga, bukan seluruh dunia adalah linux (Saya telah menggunakan beberapa kesatuan komersial non-linux dan beberapa yang non-linux terbuka, jika Anda mengandalkan keterampilan dari satu di lingkungan yang lain, Anda AKAN menembak diri sendiri di kaki).


4
Solaris killall! = Linux killall
user9517 mendukung GoFundMonica

Setidaknya digunakan untuk menjadi kasus bahwa mengedit file konfigurasi di AIX tidak menghasilkan perubahan daemon, karena mereka mengambil konfigurasi dari database biner, bukan file konfigurasi teks biasa.
Vatine


1

Saya akan mengatakan bahwa saya merasa seperti banyak dari "di mana __, apa __, bagaimana Anda __" jenis pertanyaan terasa seperti pertanyaan junior / menengah bagi saya. Ketika saya sedang mewawancarai untuk posisi Linux tingkat menengah, saya menanyakan hal-hal dasar pengetahuan (untuk apa kernel, apa perbedaan antara symlink dan hard link, apa yang harus saya lakukan jika saya menghapus bit yang dapat dieksekusi dari chmod?) . Beberapa hal yang saya anggap sebagai pertanyaan tingkat senior:

  1. Apa beberapa manfaat dari menggunakan systemd lebih dari SysV init? Kekurangannya? Debian baru saja pindah ke systemd sebagai lawan dari Upstart. Apa alasan di balik itu?
    • Salah satu hal yang diperlihatkan ini adalah minat dan investasi dalam komunitas Linux dan bagaimana hal ini berdampak pada pekerjaan sehari-hari sysadmin. Ini menunjukkan bahwa orang ini diberitahu tentang bagaimana bidang ini berkembang dan (berpotensi) bersedia berubah dengannya.
  2. Jika saya ingin menginstal Apache di server jauh, apa cara terbaik untuk melakukannya? Bagaimana jika saya ingin melakukan hal yang sama pada 100 server? Bagaimana jika setengah dari mereka adalah RHEL dan setengahnya adalah Debian?
    • Menunjukkan keakraban dengan menggunakan perangkat lunak pihak ketiga untuk memecahkan masalah praktis; terbiasa dengan meningkatkan utilitas manajemen konfigurasi.
  3. Pertimbangan apa yang muncul saat merancang aplikasi yang sangat tersedia, baik di tingkat arsitektur dan tingkat aplikasi?
    • Menunjukkan orang ini dapat mempertimbangkan masalah gambaran besar. Menunjukkan bahwa mereka memahami cara kerja penyeimbangan beban, aplikasi stateless, mungkin menampilkan beberapa pengetahuan tentang opsi konfigurasi Apache umum dan modul yang digunakan untuk aplikasi multithreaded dan optimalisasi kinerja di tingkat server individual.
  4. Apa perbedaan antara kernel mikro dan kernel monolitik? Apa yang menguntungkan tentang Linux menjadi kernel monolitik?
    • Menunjukkan keakraban dengan sistem Linux pada tingkat yang lebih dalam dari ruang pengguna.
  5. Jika saya mengetik "www.google.com" ke dalam browser dan menekan enter, apa saja yang terjadi dari saat kunci saya habis hingga waktu halaman dirender di browser saya?
    • Meskipun posisinya bukan untuk insinyur jaringan, saya berharap orang dapat berpikir di luar mikrokosmos. Ini masuk ke banyak dasar jaringan dan pentingnya mereka untuk sistem individu dan jaringan kecil dalam hal bagaimana mereka masuk ke dalam sistem yang lebih besar. Ini dapat mengatasi cache cache OS / browser lokal, bagaimana ARP bekerja, bagaimana tabel rute bekerja, apa permintaan DNS rekursif, pentingnya BGP / OSPF dan peran yang mereka mainkan dalam jaringan yang lebih besar, jabat tangan SSL dan kriptografi secara umum, TCP koneksi, dan sekumpulan informasi kecil berguna lainnya untuk dipelajari.

Ini hanya beberapa contoh biasa, tapi saya pikir secara umum admin senior harus terbiasa dengan konsep gambaran besar dan daripada hal-hal yang bisa Anda lakukan untuk Google.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.