cial Icons

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

Java .Net, C# Genel Bilgisayar Mühendisliği Mülakat Soruları

Anahtar Kelimeler

Static
Metodunun, nesnenin veya değişkenin şahsına münhasır olduğunu gösterir. Hafızada ne kadar kullanılırsa kullanılsın hep tek kopya tutar.
Soru : Static nesneyi new diyerek mi ulaşırsınız?

Protected
Aynı paket içerisinden ve bu sınıfdan türemiş alt sınıflar tarafından erişilmeyi sağlayan erişim belirleyicisi. 

Friendly
Yalnızca aynı paket içerisinden erişilmeyi sağlayan erişim belirleyicisi.

Final
Final  olarak oluşturulmuş değişkenler : Değiştirilemez . Static ile beraber Constant olarak kullanılabilir
Final class :Extend edilemez
Final methods : Override edilemez

Inheritance(Kalıtım)

İnherit :miras almak
Bir sınıfın metotlarını değişkenlerini onu miras alan sınıflara aktarmasıdır.
Superclass(miras alınan sınıf) içerisinde tanımlanan bir alan(field) , sublass(miras alan sınıf) içerisinde de tanımlanırsa bu alan hiding edilir. Türler farklı bile olsa durum aynıdır.

Override : Kalıtım yoluyla miras olarak aldığımız metodu subclass da aynısını yazarak onu geçersiz kılmaktır.

Overload : Bir sınıf içerisinde metodu aynı isimle , aynı geri dönüş değeriyle fakat farklı parametrelerle kullanmaktır.


Polimorfizm (Çok biçimlilik)

Bir class'ın çok biçimli olması; yani implement ya da extends ettiği classın özelliğini taşıyabilir olması demektir.
Class A extends B olduğunda A classı hem A hemde B olarak işlenebilir,

Parametre olarak B alan bir metoda A classı nesnesi gönderilebilir tabi ki bu durumda A clasının B ile gelen extend metotları kullanılabilir A'nın kendi metotları görülmez.


void Parametrem(B b){}

Main() {
            A a= new A();
Parametrem(a);
}
(Detaylı araştırmanızı tavsiye ederim)


ORM (object relation mapping)

“İlişkisel veritabanı (RDBMS) ile nesneye yönelik programlanın (OO) arasında bir tür köprü özelliği gören ve ilişkisel veri tabanındaki bilgilerimizi yönetmek için, nesne modellerimizi kullandığımız bir tekniktir/metottur”

Basite indirgemek istersek: “Nesnelerimizi ilişkisel veri tabanındaki tablomuza bağlayan ve veri alış-verişini bizim için yapan bir tekniktir/metottur”

 Programlama diline bağlı değildir ve her nesne yönelimli dilde kullanılabilir.

Java için: Hibernate.
.Net için: Entity Framework.

ArrayList VS Hashmap (ayrıca HashTable)

  • Arraylist List implemente eder yani ondan türemiştir, Hashmap ise map ten. 
  • Arraylist sadece value şeklinde kayıt alırken Hashmap key value çifti şeklinde alır. 
  • Arraylist  değerlere indexleme ile ulaşılır yani 2. Eleman 5. Eleman gibi Hashmap key alır value verir. 
  • Arraylistte Çoklu değer(value) olur ama Hashmapte Çoklu key olmaz 

Hashmap senkronize edilmemiştir ve thread güvensizdir.
Hashtable ise senkronizedir ve thread güvenlidir.

Encapsulation 


Bir sınıf içerisindeki değişkenlerin private yapılarak bu değişkenlere diğer sınıflardan erişimin get ve set metodlarıyla yapılmasına denir.

Error VS Exception

ExceptionYakalama şansımız olan hatalardır Try/Catch kullanarak yakalanabilir
Error : Yakalama şansımızın olmadığı hafızanın dolması gibi hatalardır.

Unchecked ve checked Exceptionlar vardır. Bunlardan Unchecked Try/catch zorlamayan Checked ise Try/Catch'e zorlayan Exceptionlardır.

SERİALİZATİON ve DE-SERİALİZATİON

Nesnenin byte dizisine çevrilmesi işlemine“Serialization”, byte dizisi kullanılarak nesnenin yeniden oluşturulmasına ise “De-Serialization” denir.

Transient anahtar kelimesi ise bize serializable nesne içindeki serialize olmasını istemediklerimizi serialize etmememizi sağlar.

private transient String gizliBilgi;



Integer VS int 

int : primitive değişken tipidir. Sınıf olmadığı için herhangi bir metoduda yoktur
Integer : Bir sınıftır . parseInt gibi metodları mevcuttur.

HashMap VS ConcurrentHashMap(Ayrıca SynchronizedMap)

HashMap 

  •  Thread-safe değil, yani içeriğe aynı anda birden fazla thread erişmeye çalışabilir ve bu da concurrency problemlerine yol açar
  •  Thread-safe olmadığı için multi-thread olmayan uygulamalarda diğerlerine göre daha yüksek performans sağlar 
  •  İçerisine NULL değer konulabilir, diğer ikisi NULL kabul etmez 
  •  Iterate sırasında içeriği değiştirilmeye çalışılırsa ConcurrentModificationException hatasına neden olur 


SynchronizedMap

  •  HashMap’in synchronized özellik kazandırılmış halidir 
  • Synchronized özelliğinden dolayı yazma performansı HashMap’e göre daha düşüktür 
  • Synchronized özelliği sayesinde map’te bulunan bir içeriğe erişilmeye çalışıldığında tüm objeyi lock’lar, bu özellik multi-threaded uygulamalarda dezavantaj sağlar 
ConcurrentHashMap  

  • Synchronized özelliği bulunan bir Map implementasyonudur 
  •  Bir thread içeriğe erişmeye çalıştığında sadece o kısmı lock’lar (partial lock) tüm objeyi lock’lamaz, böylece başka bir thread içindeki başka bir içeriğe erişebilir.

WEB SERVER VS APP SERVER 

Web Server sadece HTTP tipi requestlerin alıp işlenip, response inşa ettinten sonra bunu client'a iletmek ile sorumlu iken Application Server bunun yanında kullanıcıya Session Management, Transaction Management, E-mail Service gibi bir çok özellik sunar. Web Server'dan sadece response alınabilirken Application Serverlardan Component API'ler sayesinde bir çok bilgi çekilebilir.


Diğer Sorular:

  • Session nedir?
  • JNODE nedir?
  • AJAX nedir?
  • Jsonmu xml mi neden?
  • Angularjs nedir?
  • 5 adet pattern anlatır mısınız?
  • Veritabanı yönetim sistemleri genel bilgiler ve procedure function ve tetikleyici ?
  • TCP UDP genel bilgiler ve farklılıkları ?
  • Compile etmek ne demektir ?
  • Fonksiyonel programlama nedir anlatabilir misiniz?
  • Reflection nedir? 
  • JSF, JSP açılımı nedir biraz bilgi verebilir misiniz? 
  • HTTP Servlet hakkında bilgi verebilir misiniz?
  • SDK NDK JDK ? 
  • MVC hakkında bilgi verebilir misiniz?
  • Neden Java
  • Garbage collector nedir?
gibi sorularla karşı karşıya kalabilirsiniz.



Hiç yorum yok :

Yorum Gönder