Her geçen gün daha fazla şirket kalifiye programcı, web geliştirici ve kodlayıcı arıyor. Bir programlama dilinde akıcı olmak dolgun maaş ve muhteşem bir işi garanti edebiliyor. Sektördeki binlerce programlama dili arasında Python, en çok rağbet gören programlama dilleri arasında yer alıyor. İşte bu yüzden bugün mülakatınızda sorulabilecek Python soruları hakkında konuşacağız!
Bu rehberde hem temel düzey hem de ileri düzey Python iş görüşmesi soruları ve cevapları üzerinde duracağız. Önce temel düzey mülakat soruları ile başlayıp ilerledikçe ileri düzey sorulara geçeceğiz.
İçindekiler
- 1. Temel Python Bilgilerini Öğrenmek
- 1.1. Soru 1: Python nedir?
- 1.2. Soru 2: Python dilinin türü nedir? Scripting mi programlama mı?
- 1.3. Soru 3: Python’un ana özellikleri nelerdir?
- 1.4. Soru 4: Python Java’dan neden daha iyi?
- 1.5. Soru 5: Python’da kaç veri türü bulunur?
- 1.6. Soru 6: “Tuple” ve “list” arasındaki fark nedir?
- 1.7. Soru 7: “Pickling” ve “unpickling” nedir?
- 1.8. Soru 8: “Lambda” nedir?
- 1.9. Soru 9: Python’da bellek yönetimi nasıl yapılır?
- 1.10. Soru 10: “Pass” nedir?
- 1.11. Soru 11: Python’da bir nesneyi kopyalayabilir misiniz?
- 1.12. Soru 12: Python içerisindeki bir dosya nasıl silinir?
- 1.13. Soru 13: “Dictionary” nedir?
- 1.14. Soru 14: Python yorumlanan bir programlama dili midir?
- 1.15. Soru 15: Aşağıdakilerden hangisi yanlıştır?
- 1.16. Soru 16: Python nasıl nesne yönelimlidir?
- 1.17. Soru 17: “Slicing” nedir?
- 1.18. Soru 18: Python’da “namespace” nedir?
- 1.19. Soru 19: Python’da “self” nedir?
- 1.20. Soru 20: Python’da “indentation” kullanmak gerçekten gerekli mi?
- 2. Python Soruları - İleri Düzey
- 2.1. Soru 1: Verilmiş numara listesini hesaplayacak bir kod yazın.
- 2.2. Soru 2: Listedeki öğeleri rastgele dağıtacak bir kod yazın.
- 2.3. Soru 3: “Range” ve “xrange” arasında fark var mı?
- 2.4. Soru 4: Dogpile effect nedir?
- 2.5. Soru 5: Encapsulation nedir açıklayın.
- 2.6. Soru 6: Abnormal Termination ne zaman gerçekleşir?
- 2.7. Soru 7: Dosyanızdaki tüm büyük harfleri sayacak bir kod yazın.
- 2.8. Soru 8: Python bir derleyiciye sahip mi?
- 2.9. Soru 9: Monkey Patching nedir?
- 2.10. Soru 10: URL’yi bildiğinizde bir resim nasıl kaydedilir?
- 2.11. Soru 11: Eğer list1 [4, 6, 8, 1, 0, 3] ise list1[-1] nasıl olur?
- 2.12. Soru 12: “Decorator” nedir?
- 2.13. Soru 13: 'sub()', 'subn()' ve 'split()' metotları nedir?
- 2.14. Soru 14: “Compiling” ve “linking” işlemleri ne yapar?
- 2.15. Soru 15: ‘help()’ ve ‘dir()’ fonksiyonları ne yapar?
- 3. Genel İpuçları
- 4. Son
Temel Python Bilgilerini Öğrenmek
Gelin önce en başından başlayıp daha genel Python iş görüşmesi soruları ve cevapları hakkında konuşalım.. Bu Python soruları ile genellikle mülakatın başında karşılaşacaksınız. Mülakatı gerçekleştiren kişi Python hakkında temel bilgilere hakim olup olmadığınızı ölçmek isteyecek. Sonrasında daha teknik Python soruları üzerinde duracağız. Son kısımda da bazı ipuçları ve tavsiyeler üzerinde duracağız.
Şu Anda Etkin Olan Güncel Teklifler:
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!
Soru 1: Python nedir?
“Python nedir?” sorusu tabii ki de gelebilecek ilk Python soruları arasında bu soru yer alıyor. İşverenleriniz kısa ve öz bir cevap bekleyecektir. Beklentilerini boşa çıkarmayalım.
Python nedir?
Python, dahili otomatik bellek yönetimine, dizilere ve stringlere sahip, nesne odaklı portatif ve üst düzey bir programlama dilidir. İnsanlar tarafından basit ve dahili veri yapısından dolayı sevilir. Açık kaynaklı olması da kendine hayran bıraktıran özelliklerinden biridir.
Soru 2: Python dilinin türü nedir? Scripting mi programlama mı?
Python genel olarak programlama dili olarak kullanılır ama gerektiğinde scripting işlevi de görür.
Soru 3: Python’un ana özellikleri nelerdir?
Python soruları üzerinde detaylı incelemeye başlamadan önce gelin Python programlama dilinin ana özelliklerinin olduğu bu listeye bir bakalım:
- Python, en evrensel programlama dillerinden biridir. Yorumlanabilir yani çalıştırılmadan önce derlenmeye ihtiyaç duymaz.
- Dinamik bir programlama dilidir. Derlemeden önce kullanıcının değişkenleri belirtmesine ihtiyaç duymaz. Örneğin hatasız bir şekilde “x=123” veya x=”iyi günler” yazabilirsiniz.
- Python, nesne yönelimli bir programlama dilidir. Class, composition ve inheritance tanımlamalarına olanak sağlar.
- Fonksiyonları birinci sınıf nesnelerdir. Değişkenlere atanabilir, geri alınabilir ve diğer fonksiyonlara aktarılabilir.
- Python kullanımı çok geniştir. Otomasyonda, web uygulamalarında, bilimsel modellemede, büyük veri uygulamalarında vb. alanlarda kullanılabilir. Diğer dillerin ve bileşenlerin birlikte çalıştırılmasına olanak sağlayan birleştirici bir öğe olarak kullanılabilir.
Soru 4: Python Java’dan neden daha iyi?
Bazı Python soruları diğer programlama dilleriyle karşılaştırmalar yapmanızı gerektirebilir. Tamamen rastgele sorulabilir ancak işverenlerin en yaygın sorduğu genelde Java oluyor.
Kısaca Python (Java’yla kıyaslandığında) kullanımı daha kolaydır ve kodlama hızı daha yüksektir. Java statiktir Python ise dinamiktir. En büyük fark olarak bu kabul edilir.
Soru 5: Python’da kaç veri türü bulunur?
En yaygın Python soruları arasında yer alır. Sayısı veya isimleri sorulabilir.
Python’da beş farklı veri türü bulunur: String, list, number, dictionary ve tuple.
Soru 6: “Tuple” ve “list” arasındaki fark nedir?
Ana fark “list”in daha yavaş ama düzenlenebilir olmasıdır. Tuple’lar daha hızlı çalışır ama değiştirilemez.
Soru 7: “Pickling” ve “unpickling” nedir?
Pickling, Python içerisindeki bir modül kabul edildiği ve string modülüne dönüştürüldüğü zaman gerçekleşir. Sonrasında dosyaya atılır.
Unpickling ise dosyadan bir string modülü aldığınızda gerçekleşir.
Bu ve bunun gibi karşılaştırma temelli Python soruları sorulduğunda cevabınızı oldukça basit tutmaya çalışır. Potansiyel işverenleriniz karmaşık konuları basit bir şekilde anlatırsanız memnun kalacaklardır.
Soru 8: “Lambda” nedir?
Lambda, tek bir ifadeyle anonim olarak gerçekleştirilen bir fonksiyondur.
Soru 9: Python’da bellek yönetimi nasıl yapılır?
Bellek yönetiminden Python’un özel yığın alanı sorumludur. Sadece bir yorumlayıcı aracılığıyla erişilebilir. Python programcısıysanız erişemezsiniz. Dilin içerisinde ayrıca dahili bir geri dönüşümcü bulunur. Daha fazla yığın alanı oluşturmaktan sorumludur (kullanılmayan belleğin geri dönüşümüyle gerçekleştirilir).
Soru 10: “Pass” nedir?
Pass, bileşik deyimi içerisinde boş bırakılan alanı belirtir.
Soru 11: Python’da bir nesneyi kopyalayabilir misiniz?
Temel düzey Python soruları arasında yer alsa da ne kadar çok insanın cevap veremediğini bilseniz şaşarsınız.
Evet, Python’da nesneleri kopyalayabilirsiniz, ama hepsini değil. En genel ve bilinen yolu copy.copy() komutudur.
Soru 12: Python içerisindeki bir dosya nasıl silinir?
Python’da bir şeyi silmek için os.remove(dosya_adı) komutu kullanılır.
Soru 13: “Dictionary” nedir?
Daha önce bahsettiğimiz veri türlerini hatırlıyor musunuz? Dahili olanları? Dictionary (kütüphane) tam da budur.
Dictionary’ler anahtarlardan ve anahtar uyumlu değerlerden oluşur. Örnek:
dict={'Car':'Ford','Type':'Mustang','Year':'1967'}
print dict[Car]
Ford
print dict[Type]
Mustang
print dict[Year]
1967
Soru 14: Python yorumlanan bir programlama dili midir?
En yaygın sorulan bir diğer Python sorularından biri. Bunu mutlaka aklınızda tutun.
Evet, Python yorumlanan bir programlama dilidir. Bu ne anlama gelir? Üç adımlı bir işlemdir. Kaynak kodu yazarsınız, Python bunu alıp orta seviye bir dile dönüştürür (daha kolay anlaşılması için) ve sonrasında gerçekleştirilen makine kodlarına dönüştürülür.
Soru 15: Aşağıdakilerden hangisi yanlıştır?
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
Cevap: C
Soru 16: Python nasıl nesne yönelimlidir?
Nesne yönelimli programlama dilleri (OOP’ler) class’lara ve class’ların nesnelerine dayanır. Python tam olarak budur.
Ayrıca, OOP’lerin sahip olduğu inheritance, polimorfizm gibi özelliklere sahiptir.
Soru 17: “Slicing” nedir?
Python’da slicing list, string ve benzeri yerlerden birden fazla öğe seçmektir.
Soru 18: Python’da “namespace” nedir?
Tüm isimlerin eşsiz ve farklı olmasını sağlayan sistemi isimlendirme işlemidir.
Soru 19: Python’da “self” nedir?
Self bir class’ın örneği veya nesnesidir. Python programlama dilinde yerel değişkenlere sahip bir class’ın metotları ve öznitelikleri arasında ayrım yapmayı kolaylaştırır.
Soru 20: Python’da “indentation” kullanmak gerçekten gerekli mi?
Evet çok önemli. Indentation (girintileme) kod bloğunu belirtir. Girintileme yapılmış blokta loop’lar, class’lar ve fonksiyon’lar içerek tüm kodlar bulunur. Kod girintilenmezse doğru olarak çalıştırılmaz ve hata verir.
Python Soruları - İleri Düzey
Soru 1: Verilmiş numara listesini hesaplayacak bir kod yazın.
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]))
Sonuç:
34
Soru 2: Listedeki öğeleri rastgele dağıtacak bir kod yazın.
from random import shuffle
x = ['Skyrim', 'Belongs', 'To', 'The', 'Nords']
shuffle(x)
print(x)
Sonuç: [‘Nords’, ‘Skyrim’, ‘To’, ‘Belongs’, ‘The’].
Soru 3: “Range” ve “xrange” arasında fark var mı?
Evet ama ilk bakışta belli değildir. Fonksiyonellik ve gerçekleştirdikleri görevler olarak her iki komut da neredeyse aynıdır.
Ancak aralarındaki ana fark range (kullanıldığında) bir liste nesnesini geri getirirken xrange’in bir xrange nesnesi geri getirmesidir.
Soru 4: Dogpile effect nedir?
Bu soru akılda kalması zor olan Python soruları arasında yer alıyor.
Dogpile effect, kullanıcının birçok farklı isteğinden dolayı bir web site önbelleğinin süresi dolunca gerçekleşiyor. Bu gecikmelerden tamamen çökmelere kadar pek çok soruna neden olabiliyor.
Dogpile’ların gerçekleşmesini önlemek için Semaphore lock isimli bir sistem kullanılıyor.
Soru 5: Encapsulation nedir açıklayın.
Encapsulation (kapsülleme), Python’un nesne yönelimli bir programlama dili olmasından dolayı sahip olduğu özelliklerden biridir. Bunu çalıştığınız Python mülakat soruları arasına cevap olarak eklediğinizden emin olun.
Encapsulation, alakalı veri üyelerini tek bir yere gruplama işlemidir. Encapsulation üyelerin yanı sıra fonksiyonlarını da gruplar.
Soru 6: Abnormal Termination ne zaman gerçekleşir?
Öncelikle şunu söylememiz gerek; abnormal termination oldukça kötüdür. Neredeyse kaçınılmaz olsa da kodlama hayatınızda başınıza gelmesini istemezsiniz.
Abnormal termination programınızın ana görevleri yerine getirirken çökmesidir. Bu genellikle hatalı bir koddan veya bazı yazılım sorunlarından dolayı gerçekleşir.
Soru 7: Dosyanızdaki tüm büyük harfleri sayacak bir kod yazın.
with open(I_LIKE_APPLES) as fh:
count = 0
text = fh.read()
for character in text:
if character.isupper():
count += 1
Soru 8: Python bir derleyiciye sahip mi?
Bu soru zor Python soruları arasında yer alıyor çünkü çoğu insan dikkat etmiyor.
Evet, Python’un kendi derleyicisi mevcut ama genellikle gözden kaçırılıyor. Bunun sebebi otomatik olması. Yani kimse fark etmiyor.
Soru 9: Monkey Patching nedir?
Monkey patching, kod çalışırken yaptığınız değişiklikleri ifade eder.
Soru 10: URL’yi bildiğinizde bir resim nasıl kaydedilir?
Bir resmi kaydetmek için şöyle bir kod kullanmalısınız:
import urllib.request
urllib.request.urlretrieve("URL", "image-name.jpg")
Soru 11: Eğer list1 [4, 6, 8, 1, 0, 3] ise list1[-1] nasıl olur?
“-” her zaman listedeki son dizini belirtir. Yani cevap 3’tür.
Soru 12: “Decorator” nedir?
Decorator’ler önceden var olan bir class veya fonksiyonun içine yeni kod parçaları eklemek için kullanılır. Decorator’lerin yardımıyla bu kodları aslından önce veya sonra çalıştırabilirsiniz.
Soru 13: 'sub()', 'subn()' ve 'split()' metotları nedir?
Python’da “re” isimli bir modül string’lerinizi değiştirmenize izin verir. Bunu yapabileceğiniz üç metot vardır:
- sub(): Belli bir string’i bulur ve değiştirir.
- subn(): sub(), ile aynıdır ancak yeni string’leri tam değiştirme sayısıyla geri getirir.
- split(): Belli bir string’i bir list’e ayırır.
Bu Python’daki üç “re” string değiştirme metotları hakkında oldukça genel bir açıklamasıdır. Mülakatınızdan önce bu konu hakkında daha fazla araştırma yapmanızı tavsiye ederim. String’ler potansiyel müşterilerin adaylara yönelttiği popüler Python soruları arasında yer alır.
Soru 14: “Compiling” ve “linking” işlemleri ne yapar?
Daha önce Python derleyicisinden bahsetmiştim ama bu soru da faydalı Python iş görüşmesi soruları ve cevapları arasında yer alıyor.
Compiling size kodunuzdaki yeni eklentileri hatasız bir şekilde derlemenizi sağlıyor. Sonrasında linking işlemi akıcı bir şekilde gerçekleşiyor. Başarılı bir derleme linking işlemini sorunsuz hale getirerek işlem boyunca karşılaşılabilecek tüm olası sorunları ortadan kaldırıyor.
Mülakatı gerçekleştiren kişi daha kapsamlı bir şekilde anlatmanızı istemezse bu soru daha basit Python soruları arasında görülebilir.
- Kullanması kolay
- Kaliteli içeriğe sahip
- Fiyat konusunda saydam
- Tamamlamada ücretsiz sertifikalar
- Veri bilimi becerilerine odaklanıyor
- Esnek eğitim programları
- Basit tasarım (gereksiz bilgi yok)
- Yüksek kaliteli dersler (ücretsizler dahil)
- Çeşitli özellikler
- Nanodegree programları
- Firmalara uygun
- Ücretli tamamlama sertifikası
- Sektörde iyi biliniyor
- Pek çok özelliğe sahip
- Dersler üniversite düzeyinde
- Üniversite düzeyince dersler
- Şirketler için uygun
- Ücretli tamamlama sertifikası
Soru 15: ‘help()’ ve ‘dir()’ fonksiyonları ne yapar?
İleri düzey Python mülakat soruları içerisinde son soru biraz teknik.
Her iki fonksiyon da Python yorumlayıcısı tarafından erişilebilir. Dahili fonksiyonlardaki birleştirilmiş dump’ları görüntülemek için kullanılır.
help() size belgeleme string’ini gösterirken dir() tanımlanmış sembolleri görüntüler.
İleri düzey Python sorularını da tamamladığımıza göre gelin biraz da iş görümesi öncesinde ve esnasında yapmanız gerekenlerden bahsedelim.
Genel İpuçları
İş görüşmeleri stresli ve zorlu gelebilir ama bunun sizi yıldırmasına izin vermemelisiniz. İnternetteki tüm Python sorularını okuyup yine de başarısız olabilirsiniz. Peki nasıl?
Öncelikle potansiyel işvereniniz size sadece Python soruları sormayacak. Daha önceki deneyimlerinizi bilmek isteyecek, nasıl bir insan olduğunuzu tartacak, hobilerinizi öğrenecek. İşe girerken tüm bu etkenler önemli rol oynuyor.
İyi bir izlenim bırakmanın bir yolu hayatınız bu mülakata bağlıymış gibi davranmamaktır. Oturup teknik Python sorularını terleye terleye stres içinde cevaplarsanız karşınızdakini korkutabilirsiniz.
Ayrıca ukala davranmadığınızdan emin olun. 20 yıllık Python deneyimine sahip olabilirsiniz ama yani basit sorulardan birinde hata yapar ve kibirli görünürseniz?
İyi uyuyun ve endişelenmeyin. Potansiyel işvereninize nasıl bir insan olduğunuzu gösterin. Unutmayın bu insanlar her gün çalışan adaylarıyla uğraşan profesyoneller. Yalan söylerseniz anında farkedebilirler.
Biliyor Muydunuz?
Kariyeriniz için hangi online eğitim platformunun daha iyi olduğunu merak etmiş miydiniz?
Son
Python programcılarına ve geliştiricilerine ihtiyacın artışıyla birçok Python mülakatına katılırsanız şaşırmayın. Aslında bu iyi bir şey! Sürekli Python’la alakalı sorularla karşılaştıkça daha rahat ve kendinizden emin hale geleceksiniz. Unutmayın kendinizden emin olmak ukala olmak anlamına gelmez.
Python soruları rehberimizin sonuna geldik. Umarım bu bilgiler işinize yarar ve hayalinizdeki işe girmenize yardımcı olur!