Kotlin Mülakat Soruları #1

Vefa Can Beytorun
Paycell Tech Team
Published in
3 min readDec 6, 2023

Kotlin, son yıllarda hızla popülerlik kazanan ve özellikle android uygulama geliştirmek için tercih edilen bir programlama dilidir. Bu nedenle özellikle android geliştiricileri için, kotlin bilgisine sahip adaylar, yazılım geliştirme mülakatlarında sıkça karşılaşılan konular arasında yer alır. Eğer bir android geliştirici pozisyonu için başvuruda bulunmayı düşünüyorsanız, işte sizi bekleyen olası mülakat sorularına hazırlanmanıza yardımcı olacak bir rehber.

  1. Neden Kotlin?

Mülakat sırasında karşılaşabileceğiniz ilginç bir soru, neden sadece tek bir platforma değil de birden fazla platforma hizmet eden flutter gibi çok platformlu bir dil yerine, native bir dil olan kotlin’i tercih ettiğinizle ilgilidir. Bu soru, sadece dil bilgisi ve yeteneklerinizi değil, aynı zamanda yazılım geliştirme tercihlerinizin arkasındaki stratejileri ve düşünce süreçlerini anlama amacına yöneliktir. Bu soruya verebileceğiniz net bir cevap ile dil seçimindeki bilinçli kararlarınızı ifade etme ve mevcut projelerdeki deneyimlerinizden elde ettiğiniz öğrenmeleri paylaşma fırsatı sunar.

2. Var ve Val arasındaki fark nedir?

Genelde giriş seviyesi olarak sorulan klasik bir sorudur. Bir değişkenin değeri değişip değişmeyeceğini belirlemek istediğinizde val veya varseçersiniz. Eğer değeri bir kez atandıktan sonra değişmeyecekse val, değeri değişebilirse var kullanılır.

3. Elvis Operator (?:) Nedir?

Kotlin programlama dilinde null değerleri kontrol etmek ve alternatif bir değer belirlemek için kullanılan bir operatördür. Elvis operatörü, bir ifade null değilse bu ifadeyi döndürür; ancak null ise, operatörün sağ tarafındaki değeri döndürür.

Burada uzunluk değişkenini metin değişkeninin uzunluğuna eşitliyoruz. Eğer ki metin değişkeni null ise print edilen değer elvisin sağında yazmış olduğumuz “-1” değeri olur.

4. Visibility Modifiers’lar Nelerdir?

  • public: Herkes tarafından erişilebilir. Varsayılan olarak, bir sınıf, fonksiyon veya özellik public olarak işaretlenir.
  • internal: Aynı modül içindeki tüm yerel paketlere erişilebilir.
  • protected: Yalnızca alt sınıflar tarafından erişilebilir.
  • private: Sadece tanımlandığı sınıf veya dosyadaki fonksiyon ve özellikler tarafından erişilebilir.

Detaylı bilgi için aşağıdaki makaleme göz atabilirsiniz.

5. Nesne Tabanlı Programlamadadaki 4 Prensip Nedir? Kısaca Açıkla.

  • Inheritance

Inheritance, bir sınıfın başka bir sınıftan özelliklerini ve davranışlarını miras almasını ifade eder. Alt sınıf, üst sınıfın özelliklerini ve metodlarını kullanabilir ve gerektiğinde bunları genişletebilir veya değiştirebilir. Inheritance, kodun yeniden kullanılabilirliğini artırır ve sınıflar arasında bir hiyerarşi oluşturulmasını sağlar.

Detaylı bilgi için aşağıdaki makaleme göz atabilirsiniz.

  • Encapsulation

Encapsulation, verileri ve ilgili metodları bir sınıf içinde bir araya getirme ve sınıf dışındaki kodun doğrudan bu verilere erişimini kısıtlama prensibidir. Bu, veri bütünlüğünü korur ve sınıf içindeki uygulama ayrıntılarını gizleyerek sınıfın daha güvenli ve kullanımı kolay olmasını sağlar.

  • Abstraction

Abstraction, bir nesnenin önemli özelliklerini vurgulayarak gereksiz ayrıntıları soyutlama prensibidir. Soyutlama, karmaşıklığı azaltır ve sınıflar arasında ortak bir arayüz oluşturarak genel bir yapı sağlar. Soyut sınıflar veya interfaceler aracılığıyla gerçekleştirilir. Abstract olan sınıfların veya fonksiyonların tanımlamaları yapılmaz. Bunun yerine abstract olan bu sınıfların veya fonksiyonların genişletilmesi sağlanır.

  • Polymorphism

Polymorphism, aynı isimle fakat farklı davranışlara sahip metodların kullanılabilmesini ifade eder. Polymorphism, statik (derleme zamanında) ve dinamik (çalışma zamanında) olabilir. Bu özellik, aynı arayüzü kullanarak farklı sınıflarla etkileşimde bulunmayı sağlar ve genişletilebilir ve esnek kod yazma yeteneği sunar.

6. Enum Class Nedir?

Kotlin’de enum class, özel bir veri türüdür ve genellikle belirli bir sınıfta bulunan bir dizi önceden tanımlanmış sabit değeri temsil eder. Kotlin'deki enum class kullanımı, diğer programlama dillerindeki enum yapısına benzerdir.

İşte basit bir enum class örneği:

Sonuç

Mülakatlarda vereceğiniz net ve emin cevaplar sizi her zaman diğer adaylardan bir adım öne taşayacaktır. Ayrıca mülakat sırasında başarılı olmak için hem dilin temel kavramlarını hem de güncel gelişmeleri kapsayacak şekilde hazırlıklı olmayı gerektirir.

Herkese iyi çalışmalar dilerim

Referanslar

--

--