
Python terus mendominasi industri teknologi sebagai salah satu bahasa pemrograman yang paling serbaguna dan paling diminati. Baik Anda sedang mempersiapkan wawancara teknis atau ingin mengasah keterampilan ngoding, menguasai Python adalah hal yang esensial. Wawancara sering kali melibatkan penyelesaian tantangan dan menjelaskan fungsionalitas kompleks di Python.
Panduan ini menyediakan daftar komprehensif pertanyaan wawancara Python yang paling umum dan tingkat lanjut. Berlatih pertanyaan-pertanyaan ini akan membekali profesional data, developer, dan software engineer dengan keterampilan yang dibutuhkan untuk unggul dalam wawancara teknis dan memajukan karier mereka.
Ringkasannya
- Kuasai dasar-dasar Python: tipe data, comprehension, konsep OOP seperti
__init__(), dan GIL - Latih tantangan coding: manipulasi string, algoritma array, dan masalah dynamic programming
- Kenali pustaka data science: NumPy, pandas, dan scikit-learn untuk wawancara ML
- Pahami Python modern: async/await, type hints, decorator, dan context manager
- Siapkan diri untuk pertanyaan AI/ML: LLM, RAG, prompt engineering, dan arsitektur transformer
- Pelajari masalah ala FAANG: optimasi profit saham, tripel Pythagoras, dan algoritma coin change
Pertanyaan Wawancara Python Dasar
Berikut beberapa pertanyaan yang mungkin Anda temui dalam wawancara Python level pemula.
1. Apa itu Python, dan sebutkan beberapa fitur utamanya.
Python adalah bahasa pemrograman tingkat tinggi yang serbaguna, dikenal dengan sintaks yang mudah dibaca dan penerapan yang luas. Berikut beberapa fitur utama Python:
- Sintaks Sederhana dan Mudah Dibaca: Sintaks Python jelas dan lugas, sehingga mudah diakses pemula dan efisien bagi developer berpengalaman.
- Bahasa Terinterpretasi: Python mengeksekusi kode baris demi baris, yang membantu dalam debugging dan pengujian.
- Dynamic Typing: Python tidak memerlukan deklarasi tipe data secara eksplisit, memberikan fleksibilitas lebih.
- Pustaka dan Framework yang Luas: Pustaka seperti NumPy, Pandas, dan Django memperluas fungsionalitas Python untuk tugas khusus dalam data science, pengembangan web, dan lainnya.
- Kompatibel Lintas Platform: Python dapat berjalan di berbagai sistem operasi, termasuk Windows, macOS, dan Linux.
2. Apa itu list dan tuple di Python?
List dan tuple adalah struktur data fundamental di Python dengan karakteristik dan kegunaan yang berbeda.
List:
- Mutable: Elemen dapat diubah setelah dibuat.
- Penggunaan Memori: Mengonsumsi lebih banyak memori.
- Kinerja: Iterasi lebih lambat dibanding tuple namun lebih baik untuk operasi sisip dan hapus.
- Metode: Menawarkan berbagai metode bawaan untuk manipulasi.
Contoh:
a_list = ["Data", "Camp", "Tutorial"]
a_list.append("Session")
print(a_list) # Output: ['Data', 'Camp', 'Tutorial', 'Session']
Tuple:
- Immutable: Elemen tidak dapat diubah setelah dibuat.
- Penggunaan Memori: Mengonsumsi lebih sedikit memori.
- Kinerja: Iterasi lebih cepat dibanding list namun kurang fleksibel.
- Metode: Metode bawaan terbatas.
Contoh:
a_tuple = ("Data", "Camp", "Tutorial")
print(a_tuple) # Output: ('Data', 'Camp', 'Tutorial')
Pelajari lebih lanjut di tutorial Python Lists kami.
3. Apa itu __init__() dalam Python?
Metode __init__() dikenal sebagai constructor dalam terminologi pemrograman berorientasi objek (OOP). Metode ini digunakan untuk menginisialisasi state objek saat dibuat. Metode ini dipanggil secara otomatis ketika instance baru dari sebuah class diinstansiasi.
Tujuan:
- Menetapkan nilai ke properti objek.
- Melakukan operasi inisialisasi apa pun.
Contoh:
Kita membuat class book_shop dan menambahkan constructor serta fungsi book(). Constructor akan menyimpan judul buku dan fungsi book() akan mencetak nama buku.
Untuk menguji kode, kita menginisialisasi objek b dengan “Sandman” dan mengeksekusi fungsi book().
class book_shop:
# constructor
def __init__(self, title):
self.title = title
# Sample method
def book(self):
print('The title of the book is', self.title)
b = book_shop('Sandman')
b.book()
# The title of the book is Sandman
4. Apa perbedaan antara tipe data mutable dan immutable?
Tipe data mutable:
- Definisi: Tipe data yang dapat diubah setelah dibuat.
- Contoh: List, Dictionary, Set.
- Karakteristik: Elemen dapat ditambah, dihapus, atau diubah.
- Kasus Penggunaan: Cocok untuk koleksi item yang sering diperbarui.
Contoh:
# List Example
a_list = [1, 2, 3]
a_list.append(4)
print(a_list) # Output: [1, 2, 3, 4]
# Dictionary Example
a_dict = {'a': 1, 'b': 2}
a_dict['c'] = 3
print(a_dict) # Output: {'a': 1, 'b': 2, 'c': 3}
Tipe data immutable:
- Definisi: Tipe data yang tidak dapat diubah setelah dibuat.
- Contoh: Numerik (int, float), String, Tuple.
- Karakteristik: Elemen tidak dapat diubah setelah ditetapkan; operasi apa pun yang tampak memodifikasi objek immutable akan membuat objek baru.
Contoh:
# Numeric Example
a_num = 10
a_num = 20 # Creates a new integer object
print(a_num) # Output: 20
# String Example
a_str = "hello"
a_str = "world" # Creates a new string object
print(a_str) # Output: world
# Tuple Example
a_tuple = (1, 2, 3)
# a_tuple[0] = 4 # This will raise a TypeError
print(a_tuple) # Output: (1, 2, 3)
5. Jelaskan list, dictionary, dan tuple comprehension dengan contoh.
List
List comprehension menawarkan sintaks satu baris untuk membuat list baru berdasarkan nilai dari list yang ada. Anda bisa menggunakan loop for untuk mereplikasi hal yang sama, tetapi akan membutuhkan beberapa baris kode dan terkadang bisa menjadi kompleks.
List comprehension memudahkan pembuatan list berdasarkan iterable yang ada.
my_list = [i for i in range(1, 10)]
my_list
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
Dictionary
Mirip dengan List comprehension, Anda dapat membuat dictionary berdasarkan tabel yang ada dengan satu baris kode. Anda perlu menutup operasi dengan kurung kurawal {}.
# Creating a dictionary using dictionary comprehension
my_dict = {i: i**2 for i in range(1, 10)}
# Output the dictionary
my_dict
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
Tuple
Tidak seperti list dan dictionary, tidak ada “tuple comprehension” khusus.
Saat Anda menggunakan tanda kurung dengan comprehension, Python sebenarnya membuat generator expression, bukan tuple. Untuk mendapatkan tuple, Anda harus mengonversi generator dengan tuple() atau mendefinisikan literal tuple secara langsung.
# Generator expression (not a tuple)
my_gen = (i for i in range(1, 10))
my_gen
# <generator object <genexpr> ...>
# Converting generator to tuple
my_tuple = tuple(i for i in range(1, 10))
my_tuple
# (1, 2, 3, 4, 5, 6, 7, 8, 9)
# Or simply define a tuple directly
literal_tuple = (1, 2, 3)
literal_tuple
# (1, 2, 3)
Anda dapat mempelajarinya lebih lanjut di tutorial Python Tuples kami.
6. Apa itu Global Interpreter Lock (GIL) di Python, dan mengapa penting?
Global Interpreter Lock (GIL) adalah mutex di CPython (implementasi referensi Python) yang memastikan hanya satu thread native yang mengeksekusi bytecode Python pada satu waktu. Ini menyederhanakan manajemen memori dengan melindungi struktur data internal seperti reference count, tetapi juga membatasi paralelisme sejati pada tugas yang CPU-bound, membuat multithreading kurang efektif untuk beban komputasi. Namun, GIL bekerja baik untuk tugas I/O-bound, di mana thread menghabiskan waktu menunggu operasi jaringan, file, atau basis data.
Catatan: Python 3.13 memperkenalkan build no-GIL eksperimental (PEP 703), dan Python 3.14 menambahkan dukungan free-threaded yang terdokumentasi. Beberapa ekstensi C dan pustaka mungkin belum sepenuhnya kompatibel.
Pertanyaan Wawancara Python Menengah
Berikut beberapa pertanyaan yang mungkin Anda temui dalam wawancara Python level menengah.
7. Dapatkah Anda menjelaskan algoritma pencarian dan penelusuran graf yang umum di Python?
Python memiliki sejumlah algoritma kuat untuk pencarian dan penelusuran graf, dan masing-masing menangani struktur data berbeda serta memecahkan masalah yang berbeda. Berikut penjelasannya:
- Binary Search: Jika Anda perlu menemukan item dengan cepat dalam list yang terurut, binary search adalah pilihan tepat. Ia bekerja dengan berulang kali membagi dua rentang pencarian hingga target ditemukan.
- AVL Tree: AVL tree menjaga struktur tetap seimbang, yang sangat menguntungkan jika Anda sering melakukan sisip atau hapus pada pohon. Struktur self-balancing binary search tree ini menjaga pencarian tetap cepat dengan memastikan pohon tidak menjadi terlalu miring.
- Breadth-First Search (BFS): BFS mengeksplorasi graf per tingkat. Ini sangat berguna untuk menemukan jalur terpendek pada graf tak berbobot karena memeriksa semua kemungkinan langkah dari tiap node sebelum melangkah lebih dalam.
- Depth-First Search (DFS): DFS mengambil pendekatan berbeda dengan mengeksplorasi sedalam mungkin tiap cabang sebelum mundur. Cocok untuk tugas seperti pemecahan labirin atau penelusuran pohon.
- Algoritma A*: Algoritma A* lebih maju dan menggabungkan keunggulan BFS dan DFS dengan menggunakan heuristik untuk menemukan jalur terpendek secara efisien. Umum digunakan dalam pencarian jalur pada peta dan gim.
8. Apa itu KeyError di Python, dan bagaimana menanganinya?
KeyError di Python terjadi ketika Anda mencoba mengakses key yang tidak ada dalam dictionary. Error ini muncul karena Python mengharapkan setiap key yang dicari ada dalam dictionary, dan ketika tidak ada, Python melempar KeyError.
Misalnya, jika Anda memiliki dictionary nilai siswa dan mencoba mengakses siswa yang tidak ada, Anda akan mendapat KeyError. Untuk menanganinya, ada beberapa opsi:
-
Gunakan metode .get(): Metode ini mengembalikan
None(atau nilai default yang ditentukan) alih-alih melempar error jika key tidak ditemukan. -
Gunakan blok try-except: Membungkus kode dalam
try-exceptmemungkinkan Anda menangkapKeyErrordan menanganinya dengan baik. -
Periksa key dengan in: Anda dapat memeriksa apakah key ada dalam dictionary menggunakan
if key in dictionarysebelum mengaksesnya.
Untuk belajar lebih lanjut, baca tutorial lengkap kami: Pengecualian Python KeyError dan Cara Memperbaikinya.
9. Bagaimana Python menangani manajemen memori, dan apa peran garbage collection?
Python mengelola alokasi dan dealokasi memori secara otomatis menggunakan private heap, tempat semua objek dan struktur data disimpan. Proses manajemen memori ditangani oleh memory manager Python, yang mengoptimalkan penggunaan memori, dan garbage collector, yang mengurus objek yang tidak digunakan atau tidak direferensikan untuk membebaskan memori.
Garbage collection di Python menggunakan reference counting serta cyclic garbage collector untuk mendeteksi dan mengumpulkan data yang tidak digunakan. Ketika sebuah objek tidak lagi memiliki referensi, objek tersebut memenuhi syarat untuk dikumpulkan. Modul gc di Python memungkinkan Anda berinteraksi langsung dengan garbage collector, menyediakan fungsi untuk mengaktifkan atau menonaktifkan pengumpulan, serta melakukan pengumpulan manual.
10. Apa perbedaan antara shallow copy dan deep copy di Python, dan kapan Anda akan menggunakan masing-masing?
Di Python, shallow copy dan deep copy digunakan untuk menduplikasi objek, tetapi memperlakukan struktur bertingkat secara berbeda.
-
Shallow Copy: Membuat objek baru tetapi memasukkan referensi ke objek yang ditemukan dalam objek asli. Jadi, jika objek asli berisi objek mutable lain (seperti list di dalam list), shallow copy akan mereferensikan objek dalam yang sama. Ini dapat menyebabkan perubahan tak terduga jika Anda memodifikasi salah satu objek dalam tersebut di struktur asli atau salinan. Anda dapat membuat shallow copy menggunakan metode
copy()atau fungsicopy()dari modulcopy. -
Deep Copy: Membuat objek baru dan menyalin secara rekursif semua objek yang ditemukan dalam objek asli. Ini berarti bahkan struktur bertingkat pun diduplikasi, sehingga perubahan pada salah satu salinan tidak memengaruhi yang lain. Untuk membuat deep copy, gunakan fungsi
deepcopy()dari modulcopy.
Contoh Penggunaan: Shallow copy cocok ketika objek hanya berisi item immutable atau ketika Anda ingin perubahan pada struktur bertingkat tercermin di kedua salinan. Deep copy ideal untuk objek kompleks dan bertingkat di mana Anda menginginkan duplikasi yang benar-benar independen. Baca tutorial Python Copy List: What You Should Know untuk mengetahui lebih lanjut. Tutorial ini mencakup satu bagian penuh tentang perbedaan shallow copy dan deep copy.
11. Bagaimana Anda menggunakan modul collections Python untuk menyederhanakan tugas umum?
Modul collections di Python menyediakan struktur data khusus seperti defaultdict, Counter, deque, dan OrderedDict untuk menyederhanakan berbagai tugas. Misalnya, Counter ideal untuk menghitung elemen dalam iterable, sementara defaultdict dapat menginisialisasi nilai dictionary tanpa pemeriksaan eksplisit.
Contoh:
from collections import Counter
data = ['a', 'b', 'c', 'a', 'b', 'a']
count = Counter(data)
print(count) # Output: Counter({'a': 3, 'b': 2, 'c': 1})
Pertanyaan Wawancara Python Tingkat Lanjut
Pertanyaan wawancara ini ditujukan untuk praktisi Python yang lebih berpengalaman.
12. Apa itu monkey patching dalam Python?
Monkey patching dalam Python adalah teknik dinamis yang dapat mengubah perilaku kode saat run-time. Singkatnya, Anda dapat memodifikasi class atau modul saat run-time.
Contoh:
Mari pelajari monkey patching dengan contoh.
-
Kita membuat class
monkeydengan fungsipatch(). Kita juga membuat fungsimonk_pdi luar class. -
Kita akan mengganti
patchdengan fungsimonk_pdengan menetapkanmonkey.patchkemonk_p. -
Terakhir, kita uji modifikasi dengan membuat objek menggunakan class
monkeydan menjalankan fungsipatch().
Alih-alih menampilkan patch() is being called, ia menampilkan monk_p() is being called.
class monkey:
def patch(self):
print ("patch() is being called")
def monk_p(self):
print ("monk_p() is being called")
# replacing address of "patch" with "monk_p"
monkey.patch = monk_p
obj = monkey()
obj.patch()
# monk_p() is being called
Perhatian: Gunakan dengan hemat; monkey patching dapat membuat kode Anda lebih sulit dibaca dan mengejutkan orang lain yang bekerja dengan kode atau pengujian Anda.
13. Untuk apa pernyataan "with" di Python dirancang?
Pernyataan with digunakan untuk penanganan pengecualian agar kode lebih bersih dan sederhana. Umumnya digunakan untuk manajemen resource umum seperti membuat, mengedit, dan menyimpan file.
Contoh:
Alih-alih menulis banyak baris open, try, finally, dan close, Anda dapat membuat dan menulis file teks menggunakan pernyataan with. Sederhana.
# using with statement
with open('myfile.txt', 'w') as file:
file.write('DataCamp Black Friday Sale!!!')
14. Mengapa menggunakan else dalam konstruksi try/except di Python?
try: dan except: umum dikenal untuk penanganan pengecualian di Python, lalu kapan else: bermanfaat? else: akan dipicu ketika tidak ada pengecualian yang terjadi.
Contoh:
Mari pelajari lebih lanjut tentang else: dengan beberapa contoh.
-
Pada percobaan pertama, kita memasukkan
2sebagai pembilang dandsebagai penyebut. Ini salah, danexcept:terpanggil dengan pesan “Invalid input!”. -
Pada percobaan kedua, kita memasukkan
2sebagai pembilang dan1sebagai penyebut dan mendapatkan hasil2. Tidak ada pengecualian, sehinggaelse:terpanggil dan mencetak pesanDivision is successful.
try:
num1 = int(input('Enter Numerator: '))
num2 = int(input('Enter Denominator: '))
division = num1/num2
print(f'Result is: {division}')
except:
print('Invalid input!')
else:
print('Division is successful.')
## Try 1 ##
# Enter Numerator: 2
# Enter Denominator: d
# Invalid input!
## Try 2 ##
# Enter Numerator: 2
# Enter Denominator: 1
# Result is: 2.0
# Division is successful.
Ikuti skill track Python Fundamentals untuk mendapatkan keterampilan dasar yang Anda butuhkan menjadi programmer Python.
15. Apa itu decorator dalam Python?
Decorator dalam Python adalah pola desain yang memungkinkan Anda menambahkan fungsionalitas baru ke objek yang sudah ada tanpa memodifikasi strukturnya. Decorator umum digunakan untuk memperluas perilaku fungsi atau metode. Anda dapat membaca lebih lanjut tentang cara menggunakan decorator Python di panduan terpisah.
Contoh:
import functools
def my_decorator(func):
@functools.wraps(func) # preserves __name__, __doc__, etc.
def wrapper(*args, **kwargs):
print("Something is happening before the function is called.")
result = func(*args, **kwargs)
print("Something is happening after the function is called.")
return result
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
# Output:
# Something is happening before the function is called.
# Hello!
# Something is happening after the function is called.
16. Apa itu context manager di Python, dan bagaimana cara mengimplementasikannya?
Context manager di Python digunakan untuk mengelola resource, memastikan resource diperoleh dan dilepas dengan benar. Penggunaan paling umum dari context manager adalah pernyataan with.
Contoh:
class FileManager:
def __init__(self, filename, mode):
self.filename = filename
self.mode = mode
def __enter__(self):
self.file = open(self.filename, self.mode)
return self.file
def __exit__(self, exc_type, exc_value, traceback):
self.file.close()
with FileManager('test.txt', 'w') as f:
f.write('Hello, world!')
Pada contoh ini, class FileManager adalah context manager yang memastikan file ditutup dengan benar setelah digunakan dalam pernyataan with.
17. Apa itu metaclass di Python, dan bagaimana perbedaannya dari class biasa?
Metaclass adalah class dari class. Metaclass mendefinisikan bagaimana class berperilaku dan dibuat. Sementara class biasa membuat objek, metaclass membuat class. Dengan menggunakan metaclass, Anda dapat memodifikasi definisi class, menerapkan aturan, atau menambahkan fungsionalitas selama pembuatan class.
Contoh:
class Meta(type):
def __new__(cls, name, bases, dct):
print(f"Creating class {name}")
return super().__new__(cls, name, bases, dct)
class MyClass(metaclass=Meta):
pass
# Output: Creating class MyClass
Pertanyaan Wawancara Python untuk Data Science
Bagi mereka yang lebih fokus pada penerapan Python untuk data science, berikut beberapa pertanyaan yang mungkin Anda temui.
18. Apa keuntungan NumPy dibanding list Python biasa?
Ada beberapa keuntungan NumPy dibanding list Python biasa, seperti:
- Memori: Array NumPy lebih efisien memori dibanding list Python karena menyimpan elemen dengan tipe yang sama dalam blok yang bersebelahan. (Penggunaan memori tepatnya bergantung pada tipe elemen dan sistem, tetapi Anda dapat memeriksa dengan
sys.getsizeofatauarray.nbytes.) - Kecepatan: NumPy menggunakan implementasi C yang dioptimalkan, sehingga operasi pada array besar jauh lebih cepat dibanding list.
- Ke serbagunaan: NumPy mendukung operasi tervektorisasi (mis., penjumlahan, perkalian) dan menyediakan banyak fungsi matematis bawaan yang tidak didukung list Python.
19. Apa perbedaan antara merge, join, dan concatenate?
Merge
Menggabungkan dua objek DataFrame bernama series menggunakan pengenal kolom unik.
Dibutuhkan dua DataFrame, kolom umum di kedua DataFrame, dan “bagaimana” Anda ingin menggabungkannya. Anda dapat melakukan left, right, outer, inner, dan cross join pada dua DataFrame. Secara default, ini adalah inner join.
pd.merge(df1, df2, how='outer', on='Id')
Join
Gabungkan DataFrame menggunakan indeks unik. Memerlukan argumen opsional on yang dapat berupa satu kolom atau beberapa nama kolom. Secara default, fungsi join melakukan left join.
df1.join(df2)
Concatenate
Concatenate menggabungkan dua atau beberapa DataFrame sepanjang sumbu tertentu (baris atau kolom). Tidak memerlukan argumen on.
pd.concat(df1,df2)
- join(): menggabungkan dua DataFrame berdasarkan indeks.
- merge(): menggabungkan dua DataFrame berdasarkan kolom yang Anda tentukan.
- concat(): menggabungkan dua atau lebih DataFrame secara vertikal atau horizontal.
20. Bagaimana Anda mengidentifikasi dan menangani nilai hilang?
Mengidentifikasi nilai hilang
Kita dapat mengidentifikasi nilai hilang dalam DataFrame menggunakan fungsi isnull() lalu menerapkan sum(). Isnull() akan mengembalikan nilai boolean, dan sum akan memberikan jumlah nilai hilang di setiap kolom.
Pada contoh, kita membuat dictionary of lists dan mengonversinya menjadi pandas DataFrame. Setelah itu, kita gunakan isnull().sum() untuk mendapatkan jumlah nilai hilang di setiap kolom.
import pandas as pd
import numpy as np
# dictionary of lists
dict = {'id':[1, 4, np.nan, 9],
'Age': [30, 45, np.nan, np.nan],
'Score':[np.nan, 140, 180, 198]}
# creating a DataFrame
df = pd.DataFrame(dict)
df.isnull().sum()
# id 1
# Age 2
# Score 1
Menangani nilai hilang
Ada berbagai cara menangani nilai hilang di Python.
-
Hapus seluruh baris atau kolom jika berisi nilai hilang menggunakan
dropna(). Metode ini tidak direkomendasikan, karena Anda akan kehilangan informasi penting. -
Isi nilai hilang dengan konstanta, rata-rata, backward fill, dan forward fill menggunakan fungsi
fillna(). -
Ganti nilai hilang dengan String, Integer, atau Float konstan menggunakan fungsi
replace(). -
Isi nilai hilang menggunakan metode interpolasi.
Catatan: pastikan Anda bekerja dengan dataset yang lebih besar saat menggunakan fungsi dropna().
# drop missing values
df.dropna(axis = 0, how ='any')
#fillna
df.fillna(method ='bfill')
#replace null values with -999
df.replace(to_replace = np.nan, value = -999)
# Interpolate
df.interpolate(method ='linear', limit_direction ='forward')

Jadilah data scientist profesional dengan mengikuti career track Associate Data Scientist in Python. Ini mencakup 25 kursus dan enam proyek untuk membantu Anda mempelajari semua dasar data science dengan bantuan pustaka Python.
21. Pustaka Python apa saja yang pernah Anda gunakan untuk visualisasi?
Visualisasi data adalah bagian terpenting dari analisis data. Anda dapat melihat data beraksi, dan ini membantu menemukan pola tersembunyi.
Pustaka visualisasi data Python yang paling populer adalah:
- Matplotlib
- Seaborn
- Plotly
- Bokeh
Dalam Python, kita biasanya menggunakan Matplotlib dan seaborn untuk menampilkan semua jenis visualisasi data. Dengan beberapa baris kode, Anda dapat menampilkan scatter plot, line plot, box plot, bar chart, dan banyak lagi.
Untuk aplikasi interaktif dan lebih kompleks, kita menggunakan Plotly. Anda dapat membuat grafik interaktif berwarna-warni dengan beberapa baris kode. Anda dapat melakukan zoom, menerapkan animasi, dan bahkan menambahkan fungsi kontrol. Plotly menyediakan lebih dari 40 jenis chart unik, dan kita bahkan dapat menggunakannya untuk membuat aplikasi web atau dashboard.
Bokeh digunakan untuk grafik detail dengan tingkat interaktivitas tinggi pada dataset besar.
22. Bagaimana Anda melakukan normalisasi atau standardisasi dataset di Python?
Normalisasi menskalakan data ke rentang tertentu, biasanya [0, 1], sedangkan standardisasi mentransformasikannya agar memiliki mean 0 dan standar deviasi 1. Kedua teknik ini penting untuk menyiapkan data bagi model machine learning.
Contoh:
from sklearn.preprocessing import MinMaxScaler, StandardScaler
import numpy as np
data = np.array([[1, 2], [3, 4], [5, 6]])
# Normalize
normalizer = MinMaxScaler()
normalized = normalizer.fit_transform(data)
print(normalized)
# Standardize
scaler = StandardScaler()
standardized = scaler.fit_transform(data)
print(standardized)
Pertanyaan Wawancara Coding Python
Jika Anda memiliki wawancara coding Python dalam waktu dekat, mempersiapkan pertanyaan serupa dengan ini dapat membantu Anda mengesankan pewawancara.
23. Bagaimana Anda mengganti spasi string dengan karakter tertentu di Python?
Ini adalah tantangan manipulasi string yang sederhana. Anda harus mengganti spasi dengan karakter tertentu.
Contoh 1: Pengguna memberikan string l vey u dan karakter o, maka outputnya loveyou.
Contoh 2: Pengguna memberikan string D t C mpBl ckFrid yS le dan karakter a, maka outputnya DataCampBlackFridaySale.
Cara paling sederhana adalah menggunakan metode bawaan str.replace() untuk langsung mengganti spasi dengan karakter yang diberikan.
def str_replace(text, ch):
return text.replace(" ", ch)
text = "D t C mpBl ckFrid yS le"
ch = "a"
str_replace(text, ch)
# 'DataCampBlackFridaySale'
24. Diberikan bilangan bulat positif num, tulis fungsi yang mengembalikan True jika num adalah kuadrat sempurna, selain itu False.
Solusinya relatif langsung. Anda dapat memeriksa apakah angka memiliki akar kuadrat sempurna dengan:
- Menggunakan
math.isqrt(num)untuk mendapatkan akar kuadrat integer secara tepat. - Mengkuadratkannya dan memeriksa apakah sama dengan angka aslinya.
- Mengembalikan hasilnya sebagai boolean.
Uji 1
Kita memberikan angka 10 ke fungsi valid_square():
- Dengan mengambil akar kuadrat integer dari angka, kita mendapat 3.
- Kemudian, kuadratkan 3 dan dapatkan 9.
- 9 tidak sama dengan angkanya, jadi fungsi mengembalikan False.
Uji 2
Kita memberikan angka 36 ke fungsi valid_square():
- Dengan mengambil akar kuadrat integer dari angka, kita mendapat 6.
- Kemudian, kuadratkan 6 dan dapatkan 36.
- 36 sama dengan angkanya, jadi fungsi mengembalikan True.
import math
def valid_square(num):
if num < 0:
return False
square = math.isqrt(num)
return square * square == num
valid_square(10)
# False
valid_square(36)
# True
25. Diberikan integer n, kembalikan jumlah nol di akhir pada faktorial n, n!
Untuk melewati tantangan ini, Anda harus terlebih dahulu menghitung faktorial n (n!) lalu menghitung jumlah nol di akhir.
Mencari faktorial
Pada langkah pertama, kita akan menggunakan while loop untuk mengiterasi faktorial n dan berhenti saat n sama dengan 1.
Menghitung nol di akhir
Pada langkah kedua, kita akan menghitung nol di akhir, bukan jumlah nol total. Ada perbedaan besar.
7! = 5040
Tujuh faktorial memiliki total dua nol dan hanya satu nol di akhir, jadi solusi kita harus mengembalikan 1.
- Konversi angka faktorial ke string.
- Baca kembali dan terapkan for loop.
- Jika angkanya 0, tambahkan +1 ke hasil, jika tidak hentikan loop.
- Kembalikan hasil.
Solusinya elegan tetapi memerlukan perhatian pada detail.
def factorial_trailing_zeros(n):
fact = n
while n > 1:
fact *= n - 1
n -= 1
result = 0
for i in str(fact)[::-1]:
if i == "0":
result += 1
else:
break
return result
factorial_trailing_zeros(10)
# 2
factorial_trailing_zeros(18)
# 3
Ikuti kursus latihan pertanyaan wawancara coding esensial untuk mempersiapkan wawancara coding Python Anda berikutnya.
26. Bisakah String Dipecah menjadi Kata-kata Kamus?
Anda diberi string besar dan sebuah kamus kata-kata. Anda harus menemukan apakah string input dapat disegmentasi menjadi kata-kata menggunakan kamus atau tidak.

Gambar oleh Penulis
Solusinya cukup langsung. Anda harus mensegmentasi string besar di setiap titik dan memeriksa apakah string dapat disegmentasi menjadi kata-kata dalam kamus.
- Jalankan loop menggunakan panjang string besar.
- Kita akan membuat dua substring.
- Substring pertama akan memeriksa setiap titik dalam string besar dari
s[0:i]. - Jika substring pertama tidak ada dalam kamus, fungsi akan mengembalikan False.
- Jika substring pertama ada dalam kamus, maka akan membuat substring kedua menggunakan
s[i:]. - Jika substring kedua ada dalam kamus atau substring kedua memiliki panjang nol, maka kembalikan True. Panggil secara rekursif
can_segment_str()dengan substring kedua dan kembalikan True jika dapat disegmentasi. - Agar solusi efisien untuk string yang lebih panjang, kita menambahkan memoization sehingga substring tidak dihitung ulang berulang kali.
def can_segment_str(s, dictionary, memo=None):
if memo is None:
memo = {}
if s in memo:
return memo[s]
if not s:
return True
for i in range(1, len(s) + 1):
first_str = s[0:i]
if first_str in dictionary:
second_str = s[i:]
if (
not second_str
or second_str in dictionary
or can_segment_str(second_str, dictionary, memo)
):
memo[s] = True
return True
memo[s] = False
return False
s = "datacamp"
dictionary = ["data", "camp", "cam", "lack"]
can_segment_str(s, dictionary)
# True
27. Bisakah Anda menghapus duplikat dari array terurut?
Diberikan array integer terurut menaik, hapus duplikat sehingga setiap elemen unik hanya muncul sekali. Karena list Python tidak mengubah panjang in-place untuk masalah ini, letakkan hasil di k posisi pertama dari array yang sama dan kembalikan k (panjang baru). Hanya k elemen pertama yang valid setelah pemanggilan; elemen setelah k tidak berlaku.

Gambar dari LeetCode
Contoh 1: array input [1,1,2,2], fungsi harus mengembalikan 2.
Contoh 2: array input [1,1,2,3,3], fungsi harus mengembalikan 3.
Solusi:
- Jalankan loop dari indeks 1 hingga akhir. Bandingkan elemen saat ini dengan elemen unik sebelumnya; ketika berbeda, tulis di
insertIndexdan naikkaninsertIndex. KembalikaninsertIndex. - Kembalikan
insertIndexkarena itulah k.
Pertanyaan ini relatif mudah setelah Anda tahu caranya. Jika Anda lebih banyak meluangkan waktu untuk memahami pernyataan, Anda dapat dengan mudah menemukan solusinya.
def removeDuplicates(array):
size = len(array)
if size == 0:
return 0
insertIndex = 1
for i in range(1, size):
if array[i - 1] != array[i]:
array[insertIndex] = array[i]
insertIndex += 1
return insertIndex
array_1 = [1, 2, 2, 3, 3, 4]
k1 = removeDuplicates(array_1)
# 4; array_1[:k1] -> [1, 2, 3, 4]
array_2 = [1, 1, 3, 4, 5, 6, 6]
k2 = removeDuplicates(array_2)
# 5; array_2[:k2] -> [1, 3, 4, 5, 6]
28. Bisakah Anda menemukan angka yang hilang dalam array?
Anda diberi list bilangan bulat positif dari 1 hingga n. Semua angka dari 1 hingga n ada kecuali x, dan Anda harus menemukan x.
Contoh:
|
4 |
5 |
3 |
2 |
8 |
1 |
6 |
- n = 8
- angka yang hilang = 7
Pertanyaan ini adalah masalah matematika sederhana.
- Temukan jumlah semua elemen dalam list.
- Dengan menggunakan rumus jumlah deret aritmetika, kita akan menemukan jumlah yang diharapkan dari n angka pertama.
- Kembalikan selisih antara jumlah yang diharapkan dan jumlah elemen.
def find_missing(input_list):
sum_of_elements = sum(input_list)
# There is exactly 1 number missing
n = len(input_list) + 1
actual_sum = (n * ( n + 1 ) ) / 2
return int(actual_sum - sum_of_elements)
list_1 = [1,5,6,3,4]
find_missing(list_1)
# 2
29. Tulis fungsi Python untuk menentukan apakah string tertentu adalah palindrom.
String adalah palindrom jika dibaca sama dari depan maupun belakang.
Contoh:
def is_palindrome(s):
s = ''.join(e for e in s if e.isalnum()).lower() # Remove non-alphanumeric and convert to lowercase
return s == s[::-1]
print(is_palindrome("A man, a plan, a canal: Panama")) # Output: True
print(is_palindrome("hello")) # Output: False
Pertanyaan Wawancara Python untuk Facebook, Amazon, Apple, Netflix, dan Google
Di bawah ini, kami pilihkan beberapa pertanyaan yang mungkin Anda temui untuk peran paling diminati di industri, seperti di Meta, Amazon, Google, dan sejenisnya.
Pertanyaan wawancara Python Facebook/Meta
Pertanyaan yang tepat yang Anda temui di Meta sangat bergantung pada peran. Namun, Anda bisa mengharapkan beberapa hal berikut:
30. Bisakah Anda menemukan profit jual tunggal maksimum?
Anda diberi list harga saham, dan Anda harus mengembalikan harga beli dan jual untuk menghasilkan profit tertinggi.
Catatan: Kita harus membuat profit maksimum dari satu kali beli/jual, dan jika tidak bisa untung, kita harus meminimalkan kerugian.
Contoh 1: stock_price = [8, 4, 12, 9, 20, 1], beli = 4, dan jual = 20. Memaksimalkan profit.
Contoh 2: stock_price = [8, 6, 5, 4, 3, 2, 1], beli = 6, dan jual = 5. Meminimalkan kerugian.
Solusi:
- Kita akan menghitung profit global dengan mengurangkan global sell (elemen pertama dalam list) dari current buy (elemen kedua dalam list).
- Jalankan loop untuk rentang 1 hingga panjang list.
- Di dalam loop, hitung profit saat ini menggunakan elemen list dan nilai current buy.
- Jika profit saat ini lebih besar dari profit global, ubah profit global dengan profit saat ini dan global sell menjadi elemen ke-i dari list.
- Jika current buy lebih besar dari elemen list saat ini, ubah current buy dengan elemen list saat ini.
- Di akhir, kita akan mengembalikan nilai global buy dan sell. Untuk mendapatkan global buy, kita kurangkan global sell dari global profit.
Pertanyaannya agak rumit, dan Anda dapat menemukan algoritme unik Anda sendiri untuk memecahkan masalah ini.
def buy_sell_stock_prices(stock_prices):
current_buy = stock_prices[0]
global_sell = stock_prices[1]
global_profit = global_sell - current_buy
for i in range(1, len(stock_prices)):
current_profit = stock_prices[i] - current_buy
if current_profit > global_profit:
global_profit = current_profit
global_sell = stock_prices[i]
if current_buy > stock_prices[i]:
current_buy = stock_prices[i]
return global_sell - global_profit, global_sell
stock_prices_1 = [10,9,16,17,19,23]
buy_sell_stock_prices(stock_prices_1)
# (9, 23)
stock_prices_2 = [8, 6, 5, 4, 3, 2, 1]
buy_sell_stock_prices(stock_prices_2)
# (6, 5)
Pertanyaan wawancara Python Amazon
Pertanyaan wawancara Python Amazon sangat bervariasi tetapi dapat mencakup hal-hal berikut:
31. Bisakah Anda menemukan tripel Pythagoras dalam array?
Tulis fungsi yang mengembalikan True jika ada tripel Pythagoras yang memenuhi a2+ b2 = c2.
Contoh:
|
Input |
Output |
|
[3, 1, 4, 6, 5] |
True |
|
[10, 4, 6, 12, 5] |
False |
Solusi:
-
Kuadratkan semua elemen dalam array.
-
Urutkan array secara menaik.
-
Jalankan dua loop. Loop luar mulai dari indeks terakhir array hingga 1, dan loop dalam mulai dari (
outer_loop_index - 1) hingga awal. -
Buat
set()untuk menyimpan elemen antara indeks loop luar dan loop dalam. -
Periksa apakah ada angka dalam set yang sama dengan
(array[outerLoopIndex] – array[innerLoopIndex]). Jika ya, kembalikanTrue, jika tidakFalse.
def checkTriplet(array):
n = len(array)
for i in range(n):
array[i] = array[i]**2
array.sort()
for i in range(n - 1, 1, -1):
s = set()
for j in range(i - 1, -1, -1):
if (array[i] - array[j]) in s:
return True
s.add(array[j])
return False
arr = [3, 2, 4, 6, 5]
checkTriplet(arr)
# True
32. Ada berapa cara Anda bisa membuat kembalian dengan koin dan jumlah total?
Kita perlu membuat fungsi yang mengambil daftar denominasi koin dan jumlah total lalu mengembalikan jumlah cara kita dapat membuat kembalian.
Pada contoh, kita memberikan denominasi koin [1, 2, 5] dan jumlah total 5. Hasilnya, kita mendapat empat cara untuk membuat kembalian.

Gambar oleh Penulis
Solusi:
- Kita akan membuat list dengan ukuran
amount + 1. Ruang tambahan ditambahkan untuk menyimpan solusi untuk jumlah nol. - Kita akan menginisialisasi list solusi dengan
solution[0] = 1. - Kita akan menjalankan dua loop. Loop luar mengiterasi denominasi, dan loop dalam berjalan dari nilai denominasi saat ini hingga
amount + 1. - Hasil dari berbagai denominasi disimpan dalam array solution.
solution[i] = solution[i] + solution[i - den].
Proses akan diulang untuk semua elemen dalam list denominasi, dan pada elemen terakhir dari list solusi, kita akan mendapatkan jumlah cara yang dicari.
def solve_coin_change(denominations, amount):
solution = [0] * (amount + 1)
solution[0] = 1
for den in denominations:
for i in range(den, amount + 1):
solution[i] += solution[i - den]
return solution[amount]
denominations = [1, 2, 5]
amount = 5
solve_coin_change(denominations, amount)
# 4
Pertanyaan wawancara Python Google
Seperti halnya perusahaan lain yang disebutkan, pertanyaan wawancara Python Google akan bergantung pada peran dan tingkat pengalaman. Namun, beberapa pertanyaan umum meliputi:
33. Definisikan lambda function, iterator, dan generator di Python.
Lambda function juga dikenal sebagai fungsi anonim. Anda dapat menambahkan sejumlah parameter tetapi hanya dengan satu pernyataan.
Iterator adalah objek yang dapat kita gunakan untuk mengiterasi objek iterable seperti list, dictionary, tuple, dan set.
Generator adalah fungsi mirip dengan fungsi normal, tetapi menghasilkan nilai menggunakan keyword yield alih-alih return. Jika badan fungsi berisi yield, ia otomatis menjadi generator.
Baca lebih lanjut tentang iterator dan generator Python di tutorial lengkap kami.
34. Diberikan array arr[], temukan j – i maksimum sehingga arr[j] > arr[i]
Pertanyaan ini cukup langsung tetapi memerlukan perhatian khusus pada detail. Kita diberi array bilangan bulat positif. Kita harus menemukan selisih maksimum antara j-i di mana array[j] > array[i].
Contoh:
- Input: [20, 70, 40, 50, 12, 38, 98], Output: 6 (j = 6, i = 0)
- Input: [10, 3, 2, 4, 5, 6, 7, 8, 18, 0], Output: 8 ( j = 8, i = 0)
Solusi:
- Hitung panjang array dan inisialisasi selisih maksimum dengan -1.
- Jalankan dua loop. Loop luar memilih elemen dari kiri, dan loop dalam membandingkan elemen yang dipilih dengan elemen mulai dari sisi kanan.
- Hentikan loop dalam saat elemen lebih besar dari elemen yang dipilih dan terus perbarui selisih maksimum menggunakan j - i.
def max_index_diff(array):
n = len(array)
max_diff = -1
for i in range(0, n):
j = n - 1
while(j > i):
if array[j] > array[i] and max_diff < (j - i):
max_diff = j - i
j -= 1
return max_diff
array_1 = [20,70,40,50,12,38,98]
max_index_diff(array_1)
# 6
35. Bagaimana Anda menggunakan operator ternary di Python?
Operator ternary juga dikenal sebagai ekspresi kondisional. Ini adalah operator yang mengevaluasi ekspresi berdasarkan kondisi True dan False.
Anda dapat menulis ekspresi kondisional dalam satu baris alih-alih menulis beberapa baris pernyataan if-else. Ini memungkinkan Anda menulis kode yang bersih dan ringkas.
Misalnya, kita dapat mengonversi if-else bersarang menjadi satu baris, seperti di bawah ini.
Pernyataan if-else
score = 75
if score < 70:
if score < 50:
print('Fail')
else:
print('Merit')
else:
print('Distinction')
# Distinction
Operator Ternary Bersarang
print('Fail' if score < 50 else 'Merit' if score < 70 else 'Distinction')
# Distinction
36. Bagaimana Anda mengimplementasikan LRU Cache di Python?
Python menyediakan decorator bawaan functools.lru_cache untuk mengimplementasikan cache LRU (Least Recently Used). Sebagai alternatif, Anda dapat membuatnya secara manual menggunakan OrderedDict dari collections.
Contoh menggunakan functools:
from functools import lru_cache
@lru_cache(maxsize=3)
def add(a, b):
return a + b
print(add(1, 2)) # Calculates and caches result
print(add(1, 2)) # Retrieves result from cache
Pertanyaan Wawancara AI dan Machine Learning Python
Dengan pertumbuhan pesat AI dan large language model (LLM), wawancara Python semakin banyak mencakup pertanyaan tentang konsep AI/ML modern. Berikut pertanyaan kunci yang perlu Anda siapkan untuk 2026.
37. Apa itu Large Language Model (LLM), dan bagaimana Anda menggunakannya di Python?
Large Language Model (LLM) adalah model deep learning yang dilatih pada dataset teks masif untuk memahami dan menghasilkan teks mirip manusia. LLM populer meliputi GPT-5, Claude, Llama, dan Gemini. Di Python, Anda dapat berinteraksi dengan LLM melalui API atau menjalankannya secara lokal.
Contoh menggunakan API OpenAI:
from openai import OpenAI
client = OpenAI(api_key="your-api-key")
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain Python decorators in simple terms."}
]
)
print(response.choices[0].message.content)
Pelajari lebih lanjut di tutorial Cara Membangun Aplikasi LLM dengan LangChain.
38. Apa itu RAG (Retrieval-Augmented Generation), dan mengapa penting?
RAG menggabungkan sistem retrieval dengan AI generatif untuk menghasilkan respons yang lebih akurat dan berlandaskan. Alih-alih hanya mengandalkan data pelatihan LLM, RAG mengambil dokumen relevan dari knowledge base dan menggunakannya sebagai konteks untuk generasi.
Komponen kunci sistem RAG:
- Document Store: Basis data vektor (seperti Pinecone, Chroma, atau FAISS) yang menyimpan dokumen ter-embedding
- Retriever: Menemukan dokumen relevan berdasarkan kemiripan kueri
- Generator: LLM yang menghasilkan respons menggunakan konteks yang diambil
Contoh alur kerja RAG:
from langchain.vectorstores import Chroma
from langchain.embeddings import OpenAIEmbeddings
from langchain.chat_models import ChatOpenAI
from langchain.chains import RetrievalQA
# Create vector store from documents
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(documents, embeddings)
# Create RAG chain
llm = ChatOpenAI(model="gpt-4")
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
retriever=vectorstore.as_retriever()
)
# Query the system
result = qa_chain.invoke("What are Python best practices?")
print(result)
Baca panduan kami tentang Cara Meningkatkan Performa RAG untuk teknik lanjutan.
39. Bagaimana Anda menangani async/await di Python untuk aplikasi AI?
Pemrograman asinkron sangat penting untuk aplikasi AI yang melakukan banyak panggilan API atau menangani permintaan konkuren. Modul asyncio Python memungkinkan operasi I/O non-blokir.
Contoh: Panggilan API LLM secara konkuren:
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI()
async def get_completion(prompt: str) -> str:
response = await client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content
async def process_multiple_prompts(prompts: list[str]) -> list[str]:
tasks = [get_completion(prompt) for prompt in prompts]
return await asyncio.gather(*tasks)
# Run concurrent requests
prompts = ["Explain Python lists", "Explain Python dicts", "Explain Python sets"]
results = asyncio.run(process_multiple_prompts(prompts))
for result in results:
print(result)
Dalami lebih lanjut dengan Panduan Pemrograman Async Python kami.
40. Apa itu embedding, dan bagaimana penggunaannya dalam machine learning?
Embedding adalah representasi vektor padat dari data (teks, gambar, dll.) yang menangkap makna semantik. Item yang serupa memiliki embedding yang serupa, memungkinkan tugas seperti pencarian semantik, klasterisasi, dan sistem rekomendasi.
Contoh: Membuat embedding teks:
from sentence_transformers import SentenceTransformer
import numpy as np
# Load embedding model
model = SentenceTransformer('all-MiniLM-L6-v2')
# Create embeddings
sentences = [
"Python is a programming language",
"JavaScript is used for web development",
"Python is great for data science"
]
embeddings = model.encode(sentences)
# Calculate similarity
def cosine_similarity(a, b):
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
# Python sentences are more similar to each other
print(f"Similarity 0-2: {cosine_similarity(embeddings[0], embeddings[2]):.3f}") # Higher
print(f"Similarity 0-1: {cosine_similarity(embeddings[0], embeddings[1]):.3f}") # Lower
41. Bagaimana Anda membangun agen AI di Python?
Agen AI adalah sistem otonom yang dapat memahami lingkungannya, mengambil keputusan, dan melakukan tindakan untuk mencapai tujuan. Agen AI modern sering menggabungkan LLM dengan tool dan memori.
Komponen kunci agen AI:
- Inti LLM: Mesin penalaran yang memproses input dan memutuskan tindakan
- Tool: Fungsi yang dapat dipanggil agen (pencarian web, eksekusi kode, API)
- Memori: Memori jangka pendek (percakapan) dan jangka panjang (vector store)
- Perencanaan: Memecah tugas kompleks menjadi sub-tugas
Contoh menggunakan LangChain:
from langchain.agents import create_openai_functions_agent, AgentExecutor
from langchain.chat_models import ChatOpenAI
from langchain.tools import Tool
from langchain import hub
# Define tools
def search_database(query: str) -> str:
return f"Results for: {query}"
tools = [
Tool(
name="DatabaseSearch",
func=search_database,
description="Search the company database for information"
)
]
# Create agent
llm = ChatOpenAI(model="gpt-4")
prompt = hub.pull("hwchase17/openai-functions-agent")
agent = create_openai_functions_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools)
# Run agent
result = agent_executor.invoke({"input": "Find sales data for Q4"})
print(result["output"])
Pelajari lebih lanjut di tutorial Membangun Agen LangChain.
Meningkatkan Keterampilan Tim Anda dengan Python
Sementara persiapan wawancara Python penting bagi pencari kerja dan perekrut, sama pentingnya bagi bisnis untuk berinvestasi dalam pelatihan Python berkelanjutan bagi tim mereka. Di era ketika otomasi, analisis data, dan pengembangan perangkat lunak sangat penting, memastikan karyawan Anda memiliki keterampilan Python yang kuat dapat menjadi faktor transformatif bagi kesuksesan perusahaan Anda.
Jika Anda pemimpin tim atau pemilik bisnis yang ingin memastikan seluruh tim mahir dalam Python, DataCamp for Business menawarkan program pelatihan yang disesuaikan untuk membantu karyawan Anda menguasai keterampilan Python, dari dasar hingga konsep lanjutan. Kami dapat menyediakan:
- Jalur pembelajaran terarah: Dapat disesuaikan dengan tingkat keterampilan tim Anda saat ini dan kebutuhan bisnis spesifik.
- Latihan praktis: Proyek dunia nyata dan latihan coding yang memperkuat pembelajaran dan meningkatkan retensi.
- Pelacakan kemajuan: Alat untuk memantau dan menilai kemajuan tim Anda, memastikan mereka mencapai tujuan belajar.
Berinvestasi dalam peningkatan keterampilan Python melalui platform seperti DataCamp tidak hanya meningkatkan kapabilitas tim Anda tetapi juga memberi bisnis Anda keunggulan strategis, memungkinkan Anda berinovasi, tetap kompetitif, dan memberikan hasil yang berdampak. Hubungi tim kami dan ajukan permintaan demo hari ini.
Pemikiran Akhir
Menguasai pertanyaan wawancara Python sangat penting bagi siapa pun yang ingin unggul dalam wawancara teknis, baik mereka calon profesional data, developer, maupun software engineer. Panduan ini telah memberikan gambaran umum tentang pertanyaan wawancara Python yang umum, dari tingkat dasar hingga lanjutan, serta tantangan coding dan pertanyaan spesifik dari perusahaan teknologi teratas.
Dengan berlatih pertanyaan-pertanyaan ini dan memahami solusinya, Anda dapat secara signifikan meningkatkan keterampilan pemecahan masalah dan pengetahuan teknis, sehingga siap untuk lolos tahap teknis dan coding dalam wawancara Anda.
Mengejar sertifikasi Python teratas dan terus belajar melalui kursus serta proyek akan semakin memperkuat keahlian dan prospek karier Anda di industri teknologi. Jika Anda perlu menyegarkan keterampilan, pastikan untuk menyelesaikan career track Associate Data Scientist in Python kami.
Bagi mereka yang mempersiapkan peran AI dan machine learning, Tutorial Machine Learning Python kami menyediakan latihan langsung dengan scikit-learn dan pustaka penting lainnya.
FAQ Wawancara Python
Bagaimana saya mempersiapkan wawancara Python?
Anda perlu meninjau sintaks Python, fungsi, class, tipe data, algoritma, struktur data, dan penanganan pengecualian. Selain itu, Anda perlu membaca tutorial teknis, meninjau proyek contoh, cheat sheet, dan pertanyaan tiruan, serta menyelesaikan tantangan coding untuk lolos tahap wawancara.
Anda perlu mempersiapkan pertanyaan Python umum tentang fungsionalitas native, pertanyaan khusus pekerjaan (data engineer, data scientist, backend developer), dan pertanyaan berbasis kode dengan waktu terbatas. Anda dapat berlatih pertanyaan Python machine learning dan pertanyaan wawancara Python statistik dengan DataCamp.
Bagaimana cara tampil menonjol dalam wawancara coding Python?
Anda harus menunjukkan kemampuan menulis kode yang bersih dan siap produksi, memahami pustaka, tool, dan algoritma Python khusus pekerjaan, serta menghasilkan solusi unik untuk masalah kompleks. Anda dapat melakukan semua itu dengan berlatih tantangan coding atau mengerjakan proyek open-source.
Anda juga bisa menonjol dengan membuat portofolio proyek berbasis Python di GitHub dan situs web pribadi.
Apa itu Lambda dalam Python?
Lambda function juga dikenal sebagai fungsi anonim, yaitu fungsi Python tanpa nama. Fungsi ini dapat menerima sejumlah argumen tetapi hanya mengevaluasi dan mengembalikan satu ekspresi.
Sintaks:
lambda arguments : expression
Contoh:
lambda_add = lambda a : a + 10
print(lambda_add (7))
# 17Apa lima kegunaan utama Python?
- Mengembangkan situs dan perangkat lunak
- Skrip dan perangkat lunak utilitas
- Aplikasi desktop
- Analisis data
- Machine learning
Apakah map lebih cepat daripada for loop?
“map” lebih cepat daripada “for loop” jika Anda menerapkan fungsi ke setiap item dari iterable.
Apakah ada sumber GRATIS untuk mempersiapkan wawancara Python?
Ya! Jika Anda dosen atau mahasiswa, Anda dapat menggunakan DataCamp Classrooms untuk mendapatkan seluruh katalog kursus kami secara GRATIS.
Topik Python apa yang harus saya fokuskan untuk wawancara AI/ML di 2026?
Untuk wawancara AI/ML di 2026, fokus pada: konsep LLM (transformer, mekanisme attention, fine-tuning vs prompting), sistem RAG (Retrieval-Augmented Generation), basis data vektor dan embedding, pemrograman async Python untuk panggilan API, serta framework seperti LangChain, Hugging Face, dan PyTorch. Anda juga harus memahami teknik prompt engineering dan cara mengevaluasi model ML.
