it-swarm-id.com

Python pertanyaan wawancara

Saya akan wawancarai dalam dua minggu untuk magang yang akan melibatkan pemrograman Python.

Adakah yang bisa menyarankan area apa yang harus saya poles? Saya mencari hal-hal yang biasa ditanyakan dalam wawancara untuk pembukaan Python. Terlepas dari kenyataan bahwa saya telah melakukan bahasa selama lebih dari satu tahun sekarang, saya gagal memahami apa yang bisa mereka tanyakan kepada saya.

Seperti untuk wawancara C atau C++, ada banyak pertanyaan mulai dari membalik string untuk membangun daftar terkait, tetapi untuk wawancara Python, saya tidak mengerti.

Pengalaman dan/atau saran pribadi disambut.

25
Andy

Berikut ini beberapa yang mudah:

  1. Apa itu dekorator Python dan bagaimana Anda menggunakannya?
  2. Bagaimana Anda men-debug kode Python Anda?
  3. Bagaimana Anda menyiapkan banyak proyek di mana masing-masing menggunakan versi berbeda dari perpustakaan Python dan perpustakaan pihak ketiga?
  4. Apakah Anda mengikuti PEP8 saat menulis kode Anda?
8
Thierry Lam

Bagaimana dengan sesuatu yang melibatkan Python daftar pemahaman ? Bagi saya, itu adalah salah satu nilai jual besar di atas C++, setelah saya membacanya di Menyelami Python .

"Tulis pemahaman daftar yang membangun daftar angka genap dari 1 hingga 10 (inklusif)".
Di mana jawabannya adalah seperti ini (perhatikan nilai rentang menghindari kesalahan fencepost):

foo = [x for x in range(1, 11) if (x % 2) == 0]
print foo
[2, 4, 6, 8, 10]

Untuk itu, jika Anda memahami semua konsep yang tercantum dalam Dive into Python, itu harus mencakup sebagian besar fitur penting.

7
Cyclops

Apakah Python lulus dengan referensi atau melewati nilai juga merupakan pertanyaan yang sangat bagus.

6
ismail

Pertanyaan yang pernah saya tanyakan:

  • Jelaskan dua metode meta-pemrograman dengan Python.
  • Apa itu GIL?
  • Mengapa GIL itu penting?
  • Mengapa ada implementasi alternatif Python disebut nladen Swallow ?
  • Django, Pylons, atau Zope? Pertahankan posisi Anda.
6
Scant Roger

Saya tidak punya pengalaman seperti itu, tetapi di sini ada beberapa tebakan:

  1. (Kekekalan
  2. Fungsi/kelas kelas satu
  3. Penutupan

Itu beberapa hal yang python programmer harus tahu, kalau tidak, Anda juga bisa menyewa programmer C untuk posisi itu.

5
Kugel

Saya akan pergi sepanjang daftar di jawaban ini . Cobalah untuk menyegarkan apa yang Anda ketahui mengikuti daftar sejauh yang Anda bisa. Jangan khawatir jika Anda tidak bisa sampai akhir.

3
Benjamin Bannier

Selain tautan lain yang disediakan orang. Saya juga merekomendasikan Fitur Tersembunyi Python . Untuk berjaga-jaga jika mereka mengajukan beberapa pertanyaan rumit kepada Anda.

2
grokus

Apa pendapat Anda, apakah mereka akan mencoba menguji apakah Anda tahu Python, melihat apakah Anda dapat menyelesaikan sesuatu dengan Python, atau menguji apakah Anda dapat memprogram (dengan Python)?

Itu adalah hal-hal yang sangat berbeda.

Jika mereka ingin Anda menunjukkan bahwa Anda mengenal Python, mereka mungkin memaksa Anda untuk melakukan hal-hal seperti membuat generator, kemudian melakukannya tanpa menggunakan yield. Jelaskan bagaimana kelas bekerja. Jelaskan urutan resolusi metode C3. Dan seterusnya.

Jika mereka ingin Anda menunjukkan bahwa Anda dapat menyelesaikan sesuatu dengan Python, Anda harus kompeten dengan struktur data dasar, dan memiliki daftar pustaka yang akan Anda kunjungi untuk berbagai jenis tugas. Jadi, Anda harus nyaman dengan kamus, set, array. Demikian juga Anda perlu tahu tentang hal-hal seperti BeautifulSoup untuk parsing HTML, dapat berbicara tentang kerangka kerja yang dapat digunakan untuk pengembangan web, dll. Anda tidak perlu tahu cara menggunakan hal-hal itu dengan baik, tetapi Anda harus tahu ke mana harus pergi, bagaimana mencari tahu lebih banyak, dan dapat benar-benar menggunakannya setelah pewawancara memberi Anda hal-hal yang didokumentasikan.

Jika mereka ingin Anda menunjukkan bahwa Anda dapat memprogram (dengan Python), Anda harus mengetahui struktur data dasar, dan mengetahui algoritma Anda. Ini jauh lebih dekat dengan pertanyaan C/C++ yang akan Anda tanyakan, kecuali bahwa Anda diharapkan untuk menggunakan struktur data asli yang memudahkan hidup Anda.

Agar aman, Anda harus mempersiapkan sampai batas tertentu untuk ketiganya. Misalnya, baca http://docs.python.org/tutorial/ dan buat beberapa catatan untuk diri Anda sendiri. Semoga Anda sudah tahu cara memprogram. Dan kemudian coba beberapa tugas acak, dan paksa diri Anda untuk menggunakan perpustakaan yang mungkin Anda lewatkan. Jadi, misalnya, baca beberapa CSV, ekstrak informasi secara terprogram dari halaman web, buat situs web kecil dengan kerangka kerja, dll.

2
btilly