Setiap harinya, semakin banyak perusahaan membuka lowongan programmer python, web developer, dan juga coder yang berpengalaman. Penguasaan dalam bahasa pemrograman dapat menjamin kamu pendapatan yang besar dan posisi kerja yang menarik. Dari ribuan bahasa pemrograman yang ada di luar sana, Python muncul dalam daftar bahasa pemrograman paling diminati. Itu kenapa hari ini kita akan membahas tentang pertanyaan wawancara Python – untuk mempersiapkan kamu apabila
kelak kamu mengikuti wawancara kerja impian kamu.
Di tutorial ini, kita akan mengkaji sisi dasar dan teknis dari wawancara Python. Kita akan mulai dengan pertanyaan interview Python dasar atau tingkat pemula lalu berlanjut ke pertanyaan-pertanyaan yang lebih sulit.
Daftar Isi
- 1. Mengetahui Dasar Python
- 1.1. Pertanyaan 1: Apa itu Python?
- 1.2. Pertanyaan 2: Bisakah kamu beritahu bahasa Python itu tipe apa? Apakah tipe scripting atau programming?
- 1.3. Pertanyaan 3: Karakteristik utama apa saja dari Python yang bisa kamu sebutkan?
- 1.4. Pertanyaan 4: Kenapa Python lebih baik dari Java?
- 1.5. Pertanyaan 5: Berapa banyak tipe data yang ada di Python?
- 1.6. Pertanyaan 6: Apa perbedaan antara ‘tuple’ dan ‘list’?
- 1.7. Pertanyaan 7: Apa itu ‘pickling’ dan ‘unpickling’?
- 1.8. Pertanyaan 8: Apa itu ‘lambda’?
- 1.9. Pertanyaan 9: Bagaimana memori dikelola di dalam Python?
- 1.10. Pertanyaan 10: Apa itu ‘pass’?
- 1.11. Pertanyaan 11: Bisakah kamu menyalin objek di Python?
- 1.12. Pertanyaan 12: Bagaimana cara menghapus file di dalam Python?
- 1.13. Pertanyaan 13: Apa itu ‘dictionary’?
- 1.14. Pertanyaan 14: Apakah Python merupakan interpreted language?
- 1.15. Pertanyaan 15: Mana dari empat opsi ini yang salah.
- 1.16. Pertanyaan 16: Kenapa Python disebut object-oriented?
- 1.17. Pertanyaan 17: Apa itu ‘slicing’?
- 1.18. Pertanyaan 18: Apa itu ‘namespace’ di Python?
- 1.19. Pertanyaan 19: Apa itu ‘self’ di Python?
- 1.20. Pertanyaan 20: Apakah kamu perlu menggunakan ‘indentasi’ di Python?
- 2. Pertanyaan Interview Python Tingkat Lanjut
- 2.1. Pertanyaan 1: Tulis kode yang akan menghitung daftar angka yang ada.
- 2.2. Pertanyaan 2: Tulis kode yang akan menyusun ulang daftar item yang ada secara acak.
- 2.3. Pertanyaan 3: Adakah perbedaan antara ‘range’ dan ‘xrange’?
- 2.4. Pertanyaan 4: Apa itu efek Dogpile?
- 2.5. Pertanyaan 5: Jelaskan apa itu Enkapsulasi.
- 2.6. Pertanyaan 6: Kapan Abnormal Termination (Terminasi tidak wajar) terjadi?
- 2.7. Pertanyaan 7: Tulis kode yang akan menghitung semua huruf kapital yang ada di file.
- 2.8. Pertanyaan 8: Apakah Python memiliki compiler?
- 2.9. Pertanyaan 9: Apa itu Monkey Patching?
- 2.10. Pertanyaan 10: Bagaimana cara menyimpan gambar ketika kamu tahu URL-nya
- 2.11. Pertanyaan 11: Apabila list1 adalah [4, 6, 8, 1, 0, 3], maka list1[-1] adalah
- 2.12. Pertanyaan 12: Apa itu ‘decorator’?
- 2.13. Pertanyaan 13: Jelaskan metode ‘sub()’, ‘subn()’, dan ‘split()’
- 2.14. Pertanyaan 14: Apa yang dilakukan melalui process ‘compiling’ dan ‘linking’
- 2.15. Pertanyaan 15: Apa yang dilakukan oleh fungsi ‘help()’ dan ‘dir()’?
- 3. Tips Umum
- 4. Kesimpulan
Mengetahui Dasar Python
Mari kita mulai dari paling dasar dengan membahas pertanyaan-pertanyaan yang lebih bersifat umum. Beberapa pertanyaan di bawah ini kemungkinan akan kamu temukan di awal interview, yang digunakan si rekruiter untuk menentukan tingkat pemahaman dasar kamu mengenai Python. Lalu kita akan berlanjut ke berbagai pertanyaaan yang lebih bersifat teknis dan kita akan selesaikan tutorial ini dengan beberapa tips dan saran.
Penawaran Terakhir yang Aktif Saat Ini:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Pertanyaan 1: Apa itu Python?
Seperti yang mungkin kamu duga, ini adalah salah satu pertanyaan wawancara Python pertama yang akan kamu dapatkan. Perusahaan tentunya berharap akan jawaban yang singkat namun lengkap, jadi mari kita berikan jawaban seperti itu.
Untuk menjawab pertanyaan apa itu Python, Python adalah bahasa pemrograman tingkat tinggi dan portabel yang memiliki manajemen memori otomatis, thread, dan string bawaan, dan bahasa ini bersifat object-based. Bahasa ini banyak diminati karena simplisitas atau kesederhanaannya dan struktur data bawaannya – fakta bahwa Python sendiri berbasis sumber terbuka juga berkontribusi terhadap popularitasnya.
Pertanyaan 2: Bisakah kamu beritahu bahasa Python itu tipe apa? Apakah tipe scripting atau programming?
Python sendiri merupakan bahasa pemrograman umum yang juga bisa digunakan untuk keperluan scripting.
Pertanyaan 3: Karakteristik utama apa saja dari Python yang bisa kamu sebutkan?
Untuk mempersiapkan diri kala diberi pertanyaan interview Python, alangkah baiknya kamu melihat daftar karakteristik utama dari bahasa pemrograman Python terlebih dahulu:
- Python adalah salah satu bahasa pemrograman paling universal. Bahasa ini dapat diinterpretasi langsung, yang berarti ia tidak harus dikompilasikan sebelum dijalankan.
- Bahasa pemrograman ini dapat diketik secara dinamis. Pengguna tidak harus menyebutkan setiap variabel sebelum proses kompilasi. Sebagai contoh, kita bisa menulis “x=123” atau x=”good” afternoon” tanpa menimbulkan eror.
- Python cocok untuk object-oriented programming. Hal ini memungkinkan pendefinisian kelas beserta komposisi dan pewarisan.
- Fungsi-fungsinya merupakan first-class objects. Fungsinya dapat ditetapkan ke variabel, dikembalikan, dan diteruskan ke fungsi lain.
- Penggunaan Python sangatlah luas – bahasa ini digunakan untuk otomasi, aplikasi web, pemodelan ilmiah, aplikasi big data, dll. Ia pun dapat digunakan sebagai combining element untuk menggabungkan bahasa dan komponen lain agar dapat berfungsi bersama.
Pertanyaan 4: Kenapa Python lebih baik dari Java?
Beberapa pertanyaan wawancara Python mungkin berkaitan dengan perbandingan antara bahasa-bahasa pemrograman yang ada – bahasa yang dipilih sendiri bisa acak, tapi kelihatannya Java sering digunakan sebagai contoh oleh rekruiter.
Singkat cerita, Python (ketika dibandingkan dengan Java) lebih mudah untuk digunakan dan memiliki kecepatan coding yang lebih baik. Dalam hal data, Java diketik secara statis, sedangkan Python menawarkan pengetikan yang dinamis. Ini dilihat sebagai keuntungan yang luar biasa.
Untuk memastikan kamu lebih siap, kamu pun bisa mempersiapkan pertanyaan tentang perbandingan dengan bahasa pemrograman lainnya.
Pertanyaan 5: Berapa banyak tipe data yang ada di Python?
Salah satu pertanyaan interview Python yang umum – kamu mungkin ditanya untuk menyebutkan tipe-tipe data Python.
Terdapat lima tipe data python berbeda: string, list, number, dictionary, dan tuple. Kita akan bahas beberapa di antaranya secara lebih dekat di pertanyaan lainnya.
Pertanyaan 6: Apa perbedaan antara ‘tuple’ dan ‘list’?
Perbedaan utamanya adalah list lebih lambat, namun bisa diedit, sedangkan tuple berfungsi lebih cepat namun tidak bisa diubah.
Pertanyaan 7: Apa itu ‘pickling’ dan ‘unpickling’?
Pickling terjadi ketika modul di dalam Python diterima dan dikonversikan menjadi modul string, dan lalu dieskpor ke file.
Sebaliknya, unpickling terjadi ketika kamu mendapatkan modul string dari file.
Untuk jenis pertanyaan interview Python yang bersifat komparatif seperti di atas, selalu coba jelaskan sesederhana mungkin. Rekruiter kamu akan lebih apresiatif apabila kamu menjelaskan topik yang sulit dengan cara yang mudah dimengerti dan tidak bertele-tele.
Pertanyaan 8: Apa itu ‘lambda’?
Lambda adalah fungsi yang dijalankan secara anonim dengan satu ekspresi tunggal.
Pertanyaan 9: Bagaimana memori dikelola di dalam Python?
Heap space atau gudang tumpukan Python berfungsi dalam mengatur memori. Gudang ini hanya dapat diakses oleh seorang interpreter – kalau kamu adalah programmer Python, kamu tidak akan mampu mengaksesnya. Python pun memiliki recycler bawaan yang berguna untuk menciptakan heap space yang lebih besar (hal ini dilakukan dengan me-recycle memori yang tidak digunakan).
Pertanyaan 10: Apa itu ‘pass’?
Pass digunakan untuk mengindikasikan ruang yang harus dibiarkan kosong di dalam compound statement.
Pertanyaan 11: Bisakah kamu menyalin objek di Python?
Yang satu ini mungkin terdengar seperti pertanyaan interview Python yang sangat umum dan mudah untuk dijawab.
Ya, kamu bisa menyalin objek-objek yang ada di Python, tetapi tidak semua. Salah satu cara yang paling umum dan banyak digunakan adalah dengan menggunakan copy.copy()
command.
Pertanyaan 12: Bagaimana cara menghapus file di dalam Python?
Untuk menghapus sesuatu di Python, gunakan command os.remove(nama_file).
Pertanyaan 13: Apa itu ‘dictionary’?
Masih ingat tipe data bawaan yang kita bicarakan sebelumnya? Dictionary adalah salah satunya.
Dictionary terdiri atas key dan value yang terhubung dengan key tersebut. Di bawah adalah contohnya:
dict={'Car':'Ford','Type':'Mustang','Year':'1967'}
print dict[Car]
Ford
print dict[Type]
Mustang
print dict[Year]
1967
Pertanyaan 14: Apakah Python merupakan interpreted language?
Ini adalah salah satu pertanyaan interview Python umum lainnya yang banyak ditanya – kamu patut tahu.
Ya, Python adalah interpreted language. Apa artinya? Artinya bahasa ini berfungsi melalui tiga proses – kamu menulis source code, Python mengkonversikannya menjadi bahasa menengah (untuk dapat dipahami dengan lebih mudah), lalu diubah lagi menjadi kode mesin yang dapat dieksekusi.
Pertanyaan 15: Mana dari empat opsi ini yang salah.
a) xyz = 5,000,000
b) x,y,z = 1000, 3000, 7000
c) x y z = 1000 3000 7000
d) x_y_z = 5,000,000
Jawabannya adalah C.
Pertanyaan 16: Kenapa Python disebut object-oriented?
Object-oriented programming language (OOP) didasarkan pada class dan objek dari class tersebut.
Lebih dari itu Python memiliki fitur-fitur utama yang ditemukan di dalam OOP – pewarisan, polimorfisme, dll.
Pertanyaan 17: Apa itu ‘slicing’?
Pada python, slicing adalah ketika kamu memilih beberapa item dari tempat seperti list, string, dsb.
17 pertanyaan di atas termasuk pada jenis pertanyaan interview Python yang lebih mendasar. Mari kita lihat dan kaji berbagai pertanyaan Python yang sifatnya lebih teknis.
Pertanyaan 18: Apa itu ‘namespace’ di Python?
Namespace adalah proses menamai sistem yang ada di Python. Hal ini digunakan untuk memastikan bahwa setiap nama yang ada unik dan berbeda.
Pertanyaan 19: Apa itu ‘self’ di Python?
Self adalah objek suatu class. Di dalam bahasa pemrograman Python, kamu akan terbantu apabila kamu dapat membedakan antara metode dan atribut suatu class dengan variabel lokal
Pertanyaan 20: Apakah kamu perlu menggunakan ‘indentasi’ di Python?
Ya, hal ini sangatlah penting. Indentasi berguna untuk menspesifikasi blok kode. Di dalam blok yang terindentasi, terdapat semua kode dengan loop, class, dan function. Apabila tidak menggunakan indentasi, si kode tidak bisa melakukan eksekusi secara akurat dan akan menunjukkan eror.
Pertanyaan Interview Python Tingkat Lanjut
Walaupun pertanyaan-pertanyaan interview Python dasar penting ketika kamu diwawancara kerja, lebih penting lagi bagi kamu untuk berlatih pertanyaan yang lebih mendalam. Pertanyaan-pertanyaan di bawah inilah yang agak rumit untuk diingat dan dipelajari.
Pertanyaan 1: Tulis kode yang akan menghitung daftar angka yang ada.
def list_sum(num_List):
if len(num_List) == 1:
return num_List[0]
else:
return num_List[0] + list_sum(num_List[1:])
print(list_sum([3, 5, 8, 9, 9]))
Hasil:
34
Pertanyaan 2: Tulis kode yang akan menyusun ulang daftar item yang ada secara acak.
from random import shuffle
x = ['Skyrim', 'Belongs', 'To', 'The', 'Nords']
shuffle(x)
print(x)
Hasil : [‘Nords’, ‘Skyrim’, ‘To’, ‘Belongs’, ‘The’]
.
Pertanyaan 3: Adakah perbedaan antara ‘range’ dan ‘xrange’?
Ya, walaupun sering tidak tampak di awal. Dalam hal kegunaan dan tugas yang dilakukan, kedua command ini hampir identik antara satu sama lain.
Perbedaan utamanya adalah range
(ketika digunakan) digunakan untuk mengembalikan objek list, sedangkan xrange
digunakan untuk mengembalikan objek xrange.
Pertanyaan 4: Apa itu efek Dogpile?
Ini adalah salah satu pertanyaan interview Python yang cukup sulit untuk diingat, sehingga kamu harus perhatikan dengan saksama ya.
Efek Dogpile terjadi ketika cache situs kehabisan waktu, namun di saat yang sama dihantam oleh berbagai request dari pengguna. Hal ini bisa menimbulkan berbagai isu, seperti munculnya lag sampai terjadinya crash di keseluruhan situs.
Sistem yang disebut sebagai semaphore lock digunakan untuk mencegah terjadinya Dogpiles.
Pertanyaan 5: Jelaskan apa itu Enkapsulasi.
Enkapsulasi adalah salah satu fitur yang Python miliki sebagai bahasa pemrograman berorientasi objek. Ingat untuk menambahkan pernyataan ini untuk mengawali jawaban.
Enkapsulasi adalah proses mengelompokkan berbagai anggota data yang saling berkaitan ke dalam satu tempat. Bukan saja anggota data yang dimasukkan tetapi juga berbagai fungsi yang ada.
Pertanyaan 6: Kapan Abnormal Termination (Terminasi tidak wajar) terjadi?
Pertama-tama, saat kamu menjawab pertanyaan interview Python ini, kamu harus tekankan – abnormal termination adalah hal yang buruk. Kamu tidak ingin hal tersebut terjadi saat proses coding, walaupun kejadian semacam ini pada titik tertentu tidak bisa dihindari, apalagi saat kamu masih seorang programmer pemula.
Abnormal termination sendiri adalah kejadian crash pada program ketika sedang dieksekusi dan tugas-tugas utamanya masih berjalan. Ini biasanya disebabkan oleh kode yang bermasalah atau isu yang berkaitan dengan perangka lunaknya sendiri.
Pertanyaan 7: Tulis kode yang akan menghitung semua huruf kapital yang ada di file.
with open(I_LIKE_APPLES) as fh:
count = 0
text = fh.read()
for character in text:
if character.isupper():
count += 1
Pertanyaan 8: Apakah Python memiliki compiler?
Ini termasuk ke salah satu pertanyaan interview coding Python yang sering tidak terjawab karena hal ini sering luput dari perhatian kita.
Python memiliki compiler-nya sendiri, tapi seringkali tidak disadari. Hal tersebut karena si compiler berfungsi secara otomatis – kita tidak menggunakannya secara manual.
Pertanyaan 9: Apa itu Monkey Patching?
Monkey patching mengacu pada modifikasi yang kita lakukan ke suatu kode ketika kode tersebut sudah dijalankan.
Pertanyaan 10: Bagaimana cara menyimpan gambar ketika kamu tahu URL-nya
Untuk menyimpan gambar secara lokal, kamu harus menggunakan tipe kode ini:
import urllib.request
urllib.request.urlretrieve("URL", "image-name.jpg")
Pertanyaan 11: Apabila list1 adalah [4, 6, 8, 1, 0, 3], maka list1[-1] adalah
“-1” selalu mengacu pada indeks terakhir di list. Pada contoh yang di atas jawabannya adalah 3.
Pertanyaan 12: Apa itu ‘decorator’?
Banyak istilah yang harus kamu ingat dan kuasai untuk dapat menjawab pertanyaan kerja Python dan ini adalah salah satunya. Decorator digunakan untuk menyisipkan bagian kode yang baru ke dalam class atau function yang sudah ada. Dengan menggunakan decorator, kamu dapat menjalankan kode tersebut sebelum atau sesudah kode yang pertama.
Pertanyaan 13: Jelaskan metode ‘sub()’, ‘subn()’, dan ‘split()’
Modul “re” memungkinkan kamu untuk memodifikasi string di Python. Terdapat tiga metode untuk melakukan ini:
- Sub(): menemukan string tertentu dan menggantinya dengan yang baru.
- Subn(): sama seperti sub(), hanya saja pada metode ini, string yang baru dikembalikan dengan jumlah pergantian yang spesifik.
- Split(): memisahkan string tertentu menjadi list.
Saya telah memberitahu kamu ringkasan singkat mengenai tiga metode “re” untuk modifikasi string di dalam Python. Saya sarankan kamu mengkaji topik yang satu ini dengan mendalam sebelum wawancara – topik string seringkali menjadi bagian dari daftar pertanyaan kerja Python populer yang akan ditanyakan oleh rekruiter.
Pertanyaan 14: Apa yang dilakukan melalui process ‘compiling’ dan ‘linking’
Saya telah membahas tentang compiler Python sebelumnya, tapi mari kita kaji lebih mendalam tentang apa itu compiling.
Compiling memungkinkan kamu untuk... ya mengkompilasi ekstensi baru di dalam kode kamu tanpa terjadi eror. Setelah itu proses linking dapat menjadi lancar – kompilasi yang baik akan mempercepat linking dan menghilangkan permasalahan yang mungkin muncul di dalam prosesnya.
Ini bisa menjadi pertanyaan wawancara Python yang mudah apabila rekruiter tidak menggali topiknya terlalu dalam.
- Mudah digunakan
- Menawarkan konten berkualitas
- Harga transparan
- Gratis sertifikat penyelesaian
- Fokus pada keahlian data science
- Waktu belajar yang fleksibel
- Desain yang sederhana (tidak ada informasi yang tidak perlu)
- Kursus-kursus berkualitas tinggi (bahkan untuk kategori yang gratis)
- Terdapat berbagai fitur khusus
- Program Nanodegree
- Cocok untuk perusahaan/firma
- Sertifikat kelulusan berbayar
- Cukup terkemuka di pasaran
- Tersedia beragam fitur
- Kursus setingkat universitas
- Kursus setingkat universitas
- Cocok untuk kalangan korporasi
- Sertifikat kelulusan berbayar
Pertanyaan 15: Apa yang dilakukan oleh fungsi ‘help()’ dan ‘dir()’?
Pertanyaan ini sekaligus mengakhiri daftar panjang pertanyaan dari tutorial yang satu ini.
Kedua fungsi di atas dapat diakses dari interpreter Python. Keduanya digunakan untuk melihat dump yang terkonsolidasi dari fungsi-fungsi bawaan.
help()
menunjukkan kamu string dokumentasi, sedangkan dir()
menampilkan simbol-simbol yang terdefinisi.
Saat ini saya sudah membahas semua pertanyaan interview coding Python tingkat lanjut. Mari kita selesaikan artikel ini dengan melihat beberapa tips umum yang bisa kamu gunakan sebelum dan setelah wawancara.
Tips Umum
Wawancara kerja merupakan proses yang dipenuhi dengan stres dan kecemasan, tapi jangan sampai hal tersebut menghentikan langkah kamu. Kamu mungkin sudah belajar bahasa Python dengan giat dan mempersiapkan banyak pertanyaan dan jawaban tetapi tetap gagal dalam wawancara. Mengapa bisa?
Pertama-tama, rekruiter tentunya tidak hanya akan bertanya seputar Python. Ia mungkin akan bertanya tentang pengalaman kamu, melihat kepribadian kamu, mengetahui lebih dekat tentang preferensimu – semua faktor tersebut sangatlah penting dalam proses rekruitmen.
Satu cara untuk menimbulkan impresi yang baik adalah jangan sampai kamu terlihat seolah-olah hidup kamu bergantung pada hasil wawancara – kalau kamu duduk, mencoba menjawab pertanyaan interview Python sembari berkeringat dan terlihat gemeteran, hal tersebut tentunya akan membuat rekruiter berpikir dua kali untuk memperkerjakan kamu.
Jangan terlihat jumawa juga ya – sekali pun kamu punya 20 tahun pengalaman menggunakan Python, apa gunanya kalau kamu tidak mendapatkan pekerjaannya karena kamu terlihat menyepelekan pertanyaan yang gampang dan terkesan arogan.
Pastikan kamu tidur yang cukup dan tidak usah khawatir berlebihan – tunjukkan ke rekruiter siapa kamu dan potensi yang kamu miliki. Ingat – para rekruiter ini adalah orang-orang yang sudah lama menangani para pencari kerja yang berbohong di resume mereka – kalau kamu mencoba untuk berbohong atau berlaku curang, mereka akan mengenali itu dengan mudah.
Apakah kamu tahu?
Pernahkah Anda bertanya-tanya situs belajar online mana yang terbaik untuk pengembangan karier Anda?
Kesimpulan
Dengan meningkatnya kebutuhan akan programmer dan developer Python, tidak heran kalau kamu harus berupaya lebih dalam proses belajar bahasa Python dan mengikuti berbagai lowongan programmer Python sebelum kamu benar-benar mendapatkan pekerjaan – kabar gembira yang kamu tunggu-tunggu tentunya! Dengan terus berlatih dan mempersiapkan pertanyaan-pertanyaan Python yang mungkin keluar, kamu akan merasa lebih percaya diri dan menunjukkan yang terbaik.
Kalau kamu rasa keahlian Python kamu masih perlu dikembangkan, jangan ragu untuk mendaftar kursus tutorial Python interaktif BitDegree untuk mempertajam penguasaan kamu.