IKM Mülakat Soruları ve Cevapları 2015
Giriş
IKM (International Knowledge Measurement) mülakatları, şirketlerin adayların bilgi ve becerilerini değerlendirmek için kullandığı bir araçtır. Bu mülakatlar, genellikle yazılı olarak gerçekleştirilir ve adayların teknik bilgilerini, yeteneklerini ve deneyimlerini ölçmeyi amaçlar. 2015 yılında popüler olan IKM mülakat soruları ve cevapları, adaylara rehberlik etmek ve hazırlık yapmalarına yardımcı olmak amacıyla bu makalede ele alınmıştır.
1. Soru: Java’da Abstract sınıf ve Interface arasındaki farklar nelerdir?
Bu soru, Java programlama dilinde temel bir kavram olan Abstract sınıf ve Interface arasındaki farkları ölçer. İşverenler, adayların nesne yönelimli programlama prensiplerini anlayıp anlamadığını ve bu kavramları nasıl kullanabileceğini değerlendirmek isteyebilir. İşte bir örnek cevap:
Abstract sınıf ve Interface arasındaki farklar şunlardır:
– Bir Abstract sınıf, hem somut hem de soyut metotlara sahip olabilirken, Interface sadece soyut metotlara sahip olabilir.
– Bir sınıf sadece bir Abstract sınıfı genişletebilirken, birden fazla Interface’i implemente edebilir.
– Bir Abstract sınıfın alt sınıfı, Abstract sınıfın somut metotlarını miras alırken, bir Interface’in alt sınıfı, tüm metotları tamamen uygulamak zorundadır.
– Bir Abstract sınıfın değişkenleri, farklı erişim belirteçleriyle tanımlanabilirken, Interface’in değişkenleri otomatik olarak public, static ve final olarak kabul edilir.
Bu soru, adayın Java programlama dilini ve nesne yönelimli programlama kavramlarını ne kadar iyi anladığını ölçer.
2. Soru: SQL’de INNER JOIN ve OUTER JOIN arasındaki farklar nelerdir?
Bu soru, adayların veritabanı konusundaki bilgi seviyesini ölçmek için kullanılan bir sorudur. INNER JOIN ve OUTER JOIN, SQL sorgularında sıkça kullanılan join tipleridir. İşverenler, adayların bu join tiplerini ne zaman ve nasıl kullanacaklarını anladığını görmek isteyebilir. İşte bir örnek cevap:
INNER JOIN ve OUTER JOIN arasındaki farklar şunlardır:
– INNER JOIN, iki tablonun ortak verilerini döndürürken, OUTER JOIN, bir veya her iki tablodaki verileri döndürür. INNER JOIN, sadece eşleşen kayıtları döndürürken, OUTER JOIN, eşleşen ve eşleşmeyen kayıtları döndürebilir.
– INNER JOIN, sadece ortak alanları temel alırken, OUTER JOIN, belirli bir koşula göre kayıtları birleştirir. LEFT OUTER JOIN, sol tablodaki tüm kayıtları ve eşleşen kayıtları döndürürken, RIGHT OUTER JOIN, sağ tablodaki tüm kayıtları ve eşleşen kayıtları döndürür.
– INNER JOIN, tablolar arasındaki ilişkileri zorunlu kılar, yani eşleşen kayıtların olması gereklidir. OUTER JOIN ise ilişkileri zorunlu kılmaz, yani eşleşmeyen kayıtlar da döndürebilir.
Bu sor
Devam
3. Soru: C# programlama dilinde Boxing ve Unboxing nedir?
Bu soru, C# programlama dilindeki Boxing ve Unboxing kavramlarını ölçmek için kullanılan bir sorudur. İşverenler, adayların C# dilindeki veri türleri arasındaki dönüşümleri ve performans etkilerini anlamalarını bekleyebilir. İşte bir örnek cevap:
Boxing ve Unboxing, C# programlama dilinde değer türleri ile referans türleri arasında dönüşüm yapmayı sağlayan işlemlerdir. İşte bu kavramların tanımları:
– Boxing: Değer türündeki bir nesneyi, Object türündeki referans değişkenine atamak için kullanılan işlemdir. Bu işlemde, değer türündeki nesne heap bellekte oluşturulur ve referans değişkeni tarafından referanslanır. Bu sayede değer türü, referans türü olarak kullanılabilir. Örneğin, bir int değerini bir Object değişkenine atadığınızda boxing işlemi gerçekleştirilir.
– Unboxing: Bir referans türündeki nesneyi, değer türünde bir değişkene atamak için kullanılan işlemdir. Bu işlemde, heap bellekteki referans türündeki nesne, değer türüne dönüştürülerek atanır. Bu sayede referans türü, değer türü olarak kullanılabilir. Örneğin, bir Object değişkenini int bir değişkene atadığınızda unboxing işlemi gerçekleştirilir.
Boxing ve Unboxing işlemleri performans açısından maliyetli olabilir, çünkü bellekte fazladan işlem yapılmasını gerektirir. Bu yüzden, gereksiz boxing ve unboxing işlemlerinden kaçınılmalıdır.
4. Soru: JavaScript’te Promise nedir ve nasıl kullanılır?
Bu soru, JavaScript programlama dilindeki Promise kavramını ölçmek için kullanılan bir sorudur. İşverenler, adayların asenkron işlemleri yönetme ve hata yönetimi konusundaki becerilerini değerlendirmek isteyebilir. İşte bir örnek cevap:
Promise, JavaScript’te asenkron işlemleri yönetmek için kullanılan bir yapıdır. Promise, bir işlemin tamamlanması, başarılı olması veya hata vermesi durumunda gerçekleştirilecek eylemleri temsil eder. İşte Promise kullanımının temel adımları:
1. Promise oluşturma: Yeni bir Promise nesnesi oluşturulur ve bu nesne bir işlemi temsil eder.
2. Asenkron işlemi başlatma: İşlem başlatılır ve Promise nesnesi durumu “pending” (beklemede) olarak ayarlanır.
3. İşlem tamamlandığında: İşlem başarılı bir şekilde tamamlandığında, Promise nesnesi durumu “fulfilled” (gerçekleştirildi) olarak değişir ve sonuç değeri ile birlikte geri döner.
4. Hata durumunda: İşlem hata verdiğinde, Promise nesnesi durumu “rejected” (reddedildi) olarak değişir ve hata mesajı ile birlikte geri döner.
5. Sonuçları işleme: then() ve catch() gibi Promise yöntemleri kullanılarak işlem sonuçları işlenebilir ve uygun eylemler gerçekleştirilebilir.
Promise yapısı, JavaScript’te asenkron işlemleri daha okunabilir ve yönetilebilir hale getirir. Hata yönetimi ve zincirleme işlemler gibi faydalı özellikleri vardır