Bilgisayar Mühendisliği / Mülakat Soruları

Merhaba arkadaşlar ,yoğunluktan dolayı uzun bir süredir paylaşım yapamıyordum.

Bugün sizlere mülakatlarda çıkan bazı soruları ve cevaplarını paylaşacağım.

Böylelikle merakınızı gidermiş olurum hem de kendim için daha kalıcı olur diye düşündüm 🙂 Daha detaylı bilgi almak isteyenler bana facebook hesabımdan ulaşabilirler.Karşılaştığım hemen her soruyu sizlerle paylaşmak istiyorum.İK kısmı zaten klasik ,kendiniz hakkında soruluyor ben teknik olanlara değineceğim.

Bildiğiniz üzere mülakatlar çeşitli şekillerde olabiliyor.Kimi şirket önce arayıp sonra mailinize çözmeniz için mülakat soruları yolluyor ve daha sonra yüzyüze veya skype üzerinden sizle iletişime geçerlerken ,bazı şirketler ise direkt ik ve teknik mülakat şeklinde elemelerini gerçekleştiriyor.

Mutlu bloglamalar 🙂

 

SQL Hakkında ->

Sql hakkında size temel select,update,insert,delete vb. komutlar soruluyor.Tabiki mülakatlarda sorguları düzgün bir şekilde yazabilmek önemli.Yoksa direkt olarak elenebilirsiniz.Sql ‘e iyi hakim olmak gerekiyor.

1)Kaç tür komut çeşidi vardır,bunlar nelerdir?  (Tabiki tek tek komut açıklamaları sorulmadı sadece kısaca bahsedin dendi)

4 çeşit.

DDL

Data Definition Language (DDL)veritabanı yapısı için kullanılır. Bazı örnekler:

  • CREATE – Veritabanına objeyi yarat,
  • ALTER -Veritabanının yapısını değiştirir
  • DROP – Nesneleri veritabanından sil
  • TRUNCATE – Bir tablodan tüm kayıtları kaldırı kayıtlar için ayrılan tüm alanlar da dahil olmak üzere kaldırılır.
  • COMMENT – Veri sözlüğüne yorumlar ekle.
  • RENAME – Nesneyi yeniden adlandır.

DML

Data Manipulation Language (DML) veritabanındaki nesneleri yönetmek için.

  • SELECT – veritabanındaki nesneye erişim
  • INSERT INTO -tabloya veri ekleme
  • UPDATE – tablodaki veriyi güncelleme
  • DELETE –  tablodaki istenilen kayıtları silmek
  • MERGE – UPSERT operation (insert or update)
  • CALL – PL/SQL veya Java altprogramı çağırma

DCL

Data Control Language (DCL)

  • GRANT – Veritabanına kullanıcının erişim ayrıcalıklarını verir
  • REVOKE –   “GRANT “komutuyla verilen erişim ayrıcalıklarını geri çekme

TCL

Transaction Control (TCL),DML ifadeleri tarafından yapılan değişiklikleri yönetmek için ifadeler kullanılır. Tabloların mantıksal işlemlerle birlikte gruplanmasına olanak tanır.

  • COMMIT – yapılan işi kaydet
  • SAVEPOINT – Daha sonra geri sarılabileceğiniz bir işlemdeki bir noktayı belirle
  • ROLLBACK – Son COMMIT’ten bu yana veritabanını orjinale geri getir
  • SET TRANSACTION – hangi isolation leveli ve rollback segment kullanılacağı gibi işlem seçeneklerini değiştirme

2) MSSQL in kullandığı dilin adı nedir?

Cevap: T-Sql (Transact Sql)

3)Hangi veritabanlarını kullandın (En çok sorulanı ise Oracle kullandın mı oluyor)

4)MVC’de veritabanı bağlantısını nasıl yaptın?

Cevap: Entity Framework sayesinde.

Entity Framework nedir ? >> Entity Framework Microsoft tarafından geliştirilen ve yazılım geliştiricilerin fazladan sql sorguları yazmalarını ortadan kaldırmasını sağlayan framework’tür. ORM (Object Relational Mapping) sayesinde bunu yapıyor.ORM ise ilişkisel veritabanı yönetim sistemlerine direkt olarak müdahale yerine nesneler aracılığı ile müdahale edilmesini sağlayan bir köprüdür diyebiliriz.

 

 

Nesneye yönelik programlama hakkında sorulanlar ise şöyle :

Not: Bunları bu kadar kısa değilde örneklerle açıklarsanız daha iyi olacaktır.Ben hatırlamanız açısından kısa kısa geçiyorum.

      1)OOP nedir?

Object Oriented Programming yazılım dünyasında karmaşıklığı ya da boyutu artan yazılımların kolayca ve kısa sürede geliştirilebilmesi için kullanılmaktadır.Nesneye yönelik programlama da 3 temel yapı üzerine durulur. Bunlar :

  • Veri Soyutlama
  • Kalıtım
  • Çok Biçimlilik

     2) Enkapsülasyon nedir?

Bir sınıf içeriğinin, onun üyelerini kullananlar tarafından bilinmesine gerek duymadan sadece metodun verdiği hizmetin gösterilmesi işlemidir.

Kapsülleme ile bir sınıf, kendi iç bütünlüğünü gizleyebilir ve koruyabilir.

Sınıfın bazı özellik ve metodlarına dışarıdan erişim sınıfın güvenliği açısından tehlikeli olabilir.Bunları erişim belirleyiciler sayesinde(public,private,final,protected) ile sağlayabiliriz.

 3)Kalıtım(inheritance) nedir?

Nesne Yönelimli Programlama dillerinde kalıtım olgusu, bir sınıfta (class) tanımlanmış değişkenlerin ve/veya metotların (fonksiyon, procedure) yeniden tanımlanmasına gerek olmaksızın yeni bir sınıfa taşınabilmesidir. Bunun için yapılan iş, bir sınıftan bir alt-sınıf (subclass) türetmektir. Türetilen alt-sınıf, üst-sınıfta tanımlı olan bütün değişkenlere ve metotlara sahip olur. Bu özeliğe kalıtım özeliği (inheritance) diyoruz.

Programcı, yeni alt-sınıfları tanımlarken, üst-sınıftan (superclass) kalıtsal olarak geleceklere ek olarak, kendisine gerekli olan başka değişken ve metotları da tanımlayabilir.

Bu yolla, bir kez kurulmuş olan sınıfın tekrar tekrar kullanılması olanaklı olur. Böylece, programlar daha kısa olur, programın yazılma zamanı azalır ve gerektiğinde değiştirilmesi ve onarılması (debug) kolay olur.

Alt-sınıf türetme hiyerarşik bir yapıda olur. Bir alt-sınıfın türetildiği sınıf, o alt-sınıfın üst-sınıfıdır. Java’da bir alt-sınıfın ancak bir tane üst-sınıfı olabilir (C++ ‘dakinden farklı olduğuna dikkat ediniz). Ama bir sınıftan birden çok alt-sınıf türetilebilir.

Üst-sınıfa ata (parent), alt-sınıfa da oğul (child) denir.

4) Çok biçimlilik (polimorfizm) nedir?

Temel sınıftan, türetilmiş sınıfa kalıtım yoluyla aktarılan, fakat türetilmiş sınıfta farklı bir şekilde kullanılabilmesine izin verilen sınıf üyesi, çok biçimli bir üyedir.Upcast ve downcast şeklinde iki türü vardır.

Örnek için bu blogu incelemenizi tavsiye ederim:

Link

 5) İnterface nedir?

Bir interface sınıfında sadece metotlar açıklanır. Bu metotların gövdeleri boştur. Alt sınıflar bu metotların gövdeleri için gerekli kodu oluştururlar (implemente ederler). Metot gövdesi olmayan bir interface sınıftan nesne oluşturulamaz, çünkü sadece metot bildirimine sahip bir nesnenin hiçbir işlevsel görevi olamaz.Java’da tanımlanmış bir interface sınıftan, normal bir sınıfta olduğu gibi new() operatörü ile
bir nesne oluşturulamaz.

Daha fazlası için bu blog:

Link

6) Erişim belirleyicisi nedir,nelerdir?

Bir programda kullanıcının bir sınıf içindeki değişkenlere, metotlara nasıl, ne şekilde ulaşabileceğini belirleyen niteleyici ifadelere access modifier yani erişim belirleyici adı verilir.

Daha fazlası için sevgili hocamız Engin Polatın yazısı:

Link

7)Abstract class nedir?

Abstract sınıflar içerisinde normal yani içi dolu metodların,değişkenlerin ve interface’lerdeki gibi abstract (boş) metodların tanımlanabildiği yapılardır.Bu sınıflar new kelimesi ile oluşturulamazlar. Bir sınıfın abstract metod bulundurabilmesi için Abstract bir sınıf olması gerekir.herhangi bir sınıfı Abstract bir sınıftan türetmek istediğinizde genel olarak dikkat etmeniz gereken durum aralarında ISA özelliği olmasıdır.(parça bütün ilişkisi diyelim)

8) Enum nedir?

Kısaca veritabanındaki gibi bir yapıyı bir classta yazarsınız.Bunlar sabit değerlerdir.Oluşturuken de class yerine enum denir.(public enum Classadi)

Link

9)Constructor nedir?

Constructor, yalnızca üyesi bulunduğu class’dan nesne üretimi sırasında çalışacak olan metoddur. Classdan nesne üretilirken; üyelerin varsayılan değerlerini ayarlamak için constructor kullanılır.

10)Bir sınıf diğer bir interface ‘i implemente edip hem de başka bir sınıfı extend edebilir mi nasıl?

“public class C extends A implements B”   şeklinde..

11) Hangi projelerde bunları kullandın?

12)Garbage collector nedir?

Bilgisayar Biliminde garbage collection kaynak yönetiminin özel bir adımıdır. Bilgisayar hafızasının yönetilmesi işleminde kullanılmaktadır.

Programlama yaparken hafıza yönetimini otomatiğe bağlamak geliştiricilerin işini kolaylaştırmıştır. Böylelikle bir programcı program yazarken hafıza alanını garbage collector sisteminden talep edip, iade işlemine karışılmamaktadır. Kalan tüm işlemler garbage collection mekanizması tarafından yapılmaktadır.

Devamı

 

Diğer sorulanlar:

  • En hızlı sıralama algoritması hangisidir? > Quick sort
  • Master Page nedir?
  • Ekran çıktısını herhangi bir dilde yazınız..
  • Veritabanı İlişki kümesi çizimi(E-R)
  • Ref type ve value type nedir?Kullanımı nasıl vs..

 

Dip Not : Bir yanlışlık bulduğunuz takdirde bana ulaşırsanız çok sevinirim .Aşağıya yorum olarak bırakabilirsiniz.Teşekkürler.

1,685 total views, 8 views today

Bunlar da hoşunuza gidebilir...

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir