A)Karmaşık bir alt sistemler bütünü için daha basit ve birleşik bir arayüz sağlamak.
B)Nesne oluşturma sürecini gizlemek.
C)Algoritmaların çalışma süresini ölçmek.
D)Sınıflar arasındaki döngüsel bağımlılıkları kaldırmak.
2. Binary Search (İkili Arama) algoritmasının 'worst-case' zaman karmaşıklığı nedir?
A)O(n)
B)O(n log n)
C)O(log n)
D)O(1)
3. SQL'de bir tablodan belirli bir sütundaki benzersiz değerleri çekmek için hangi anahtar kelime kullanılır?
A)UNIQUE
B)DISTINCT
C)PRIMARY
D)SEPARATE
4. Bellek yönetiminde 'Segmentation' ve 'Paging' arasındaki temel fark nedir?
A)Segmentation mantıksal birimlere, Paging ise sabit boyutlu bloklara böler
B)Paging daha yavaştır
C)Segmentation sadece disk belleğinde kullanılır
D)Paging dışsal parçalanmaya (external fragmentation) neden olur
5. İç içe iki döngü (nested loops) içeren ve her döngünün 1'den n'e kadar döndüğü bir fonksiyonun zaman karmaşıklığı nedir?
A)O(n^2)
B)O(n)
C)O(2^n)
D)O(n log n)
6. Breadth-First Search (BFS) algoritmasının V düğüm ve E kenar sayısı için zaman karmaşıklığı nedir?
A)O(V + E)
B)O(V * E)
C)O(V^2)
D)O(log V)
7. Aşağıdaki CPU zamanlama algoritmalarından hangisi 'convoy effect' (konvoy etkisi) sorununa en çok yol açar?
A)Round Robin
B)Shortest Job First (SJF)
C)First-Come, First-Served (FCFS)
D)Priority Scheduling
8. Liskov Substitution Principle (LSP) ihlal edildiğinde genellikle ne tür bir sorunla karşılaşılır?
A)Kodun derleme zamanında hata vermesi.
B)Alt sınıfın, üst sınıfın beklenen davranışını bozması ve beklenmedik runtime hatalarına yol açması.
C)Arayüzlerin çok fazla metod içermesi.
D)Bellek sızıntısı (memory leak) problemleri.
9. Hash tablosunda anahtar çakışması (collision) durumunda aşağıdaki çözümlerden hangisi kullanılamaz?
A)Chaining
B)Open addressing
C)Rehashing
D)Binary search
10. Dijkstra algoritmasının negatif ağırlıklı kenarları olan graflarda başarısız olmasının temel nedeni nedir?
A)Bellek yetersizliği
B)Açgözlü (greedy) yaklaşımın yolu tekrar ziyaret etmemesi
C)Döngüsel bağımlılıkların oluşması
D)Düğümlerin sıralanamaması
11. Bir hash tablosunda çakışmaları (collision) çözmek için kullanılan 'Chaining' yöntemi nedir?
A)Daha büyük bir tabloya geçmek
B)Aynı indekse düşen değerleri bağlı liste ile tutmak
C)Yeni bir hash fonksiyonu atamak
D)Değeri bir sonraki boş slota koymak
12. Dijkstra algoritması hangi tür graf üzerinde çalışmak için uygundur?
A)Negatif ağırlıklı kenar içeren grafikler
B)Ağaç yapıları
C)Pozitif ağırlıklı kenar içeren grafikler
D)Döngüsüz yönlendirilmiş grafikler
13. UDP protokolünün TCP'ye göre 'connectionless' (bağlantısız) olarak tanımlanmasının temel nedeni nedir?
A)Hata denetimi yapmaması
B)Veri iletiminden önce bir oturum kurulumu gerçekleştirmemesi
C)Sadece yerel ağlarda çalışabilmesi
D)Şifreleme standartlarını desteklememesi
14. HTTP/2 protokolünün HTTP/1.1'den en önemli farkı nedir?
A)Metin tabanlı mesajlaşma yerine binary çerçeveleme (binary framing) kullanması
B)Sadece HTTPS protokolünü desteklemesi
C)TCP yerine UDP protokolünü temel alması
D)Daha fazla HTTP metodu (PUT, PATCH vb.) eklemesi
15. Bir ağ uygulamasında istemci ile sunucu arasındaki bağlantının sürekliliğini sağlamak için hangi protokol daha uygundur?
A)UDP
B)IPX
C)TCP
D)SMTP
16. TCP 'Sliding Window' mekanizmasının temel işlevi nedir?
A)Veri paketlerinin şifrelenmesini sağlamak
B)Ağ tıkanıklığını kontrol etmek ve veri iletim hızını optimize etmek
C)Bağlantının kesilip kesilmediğini kontrol etmek
D)IP adreslerinin dinamik olarak dağıtılmasını yönetmek
17. İşletim sistemlerinde 'Context Switching' süreci sırasında aşağıdakilerden hangisi gerçekleşir?
A)İşlemci hızı artırılır
B)CPU durumu kaydedilir ve yeni işlemin durumu yüklenir
C)Sabit disk verileri RAM'e aktarılır
D)Kullanıcı yetkileri değiştirilir
18. OSI modelinde yönlendirme (routing) işlemi hangi katmanda gerçekleşir?
A)Data Link Layer
B)Network Layer
C)Transport Layer
D)Session Layer
19. Dosya sistemlerinde 'Journaling' (günlükleme) mekanizmasının ana amacı nedir?
A)Dosya erişim hızını artırmak
B)Sistem çökmelerinden sonra veri tutarlılığını sağlamak
C)Dosyaları sıkıştırarak yer kazanmak
D)Kullanıcı erişim kayıtlarını tutmak
20. Bellek yönetiminde 'Segmentation Fault' hatasının en yaygın sebebi nedir?
A)Stack taşması
B)İzin verilmeyen bir bellek adresine erişmeye çalışmak
C)Sonsuz döngüye girmek
D)Hatalı tip dönüşümü
21. Semaphor (Semafor) kullanımıyla ilgili olarak, 'Binary Semaphore' neyi temsil eder?
A)Sadece 0 ve 1 değerlerini alabilen, mutual exclusion için kullanılan bir değişken
B)Birden fazla kaynağın kontrolünü sağlayan bir sayaç
C)Sürecin önceliğini belirleyen bir işaretçi
D)Bellek adresleme birimi
22. Merge Sort algoritmasının zaman karmaşıklığı her durumda (best, average, worst) nedir?
A)O(n^2)
B)O(n log n)
C)O(n)
D)O(log n)
23. Bir AVL ağacının dengede kalmasını sağlayan temel özellik nedir?
A)Her düğümün sol ve sağ alt ağaçlarının yükseklik farkının en fazla 1 olması
B)Tüm yaprak düğümlerin aynı seviyede olması
C)Düğümlerin ardışık olarak eklenmesi
D)İkili arama ağacı özelliğinin sadece kök düğüm için geçerli olması
24. Dependency Inversion Principle (DIP) temel olarak neyi önerir?
A)Düşük seviyeli modüllerin, yüksek seviyeli modüllere bağımlı olması.
B)Tüm bağımlılıkların bir Singleton üzerinden yönetilmesi.
C)Yüksek seviyeli modüllerin düşük seviyeli modüllere değil, her ikisinin de soyutlamalara (abstractions) bağımlı olması.
D)Nesnelerin doğrudan 'new' anahtar kelimesi ile oluşturulması.
25. Dinamik programlama yaklaşımının en temel özelliği nedir?
A)Problemi alt problemlere bölüp, sonuçları saklayarak (memoization) tekrar hesaplamayı önlemek
B)Her adımda en iyi seçeneği seçmek
C)Tüm olasılıkları denemek
D)Veriyi rastgele işlemek
26. Bir HTTP isteğinde 'ETag' başlığının kullanım amacı nedir?
A)İsteğin gönderildiği zaman damgasını belirtmek
B)Sunucunun desteklediği dilleri bildirmek
C)Kaynağın belirli bir sürümünü tanımlayan bir tanımlayıcı ile önbellek doğrulaması yapmak
D)İstemcinin tarayıcı sürümünü sunucuya iletmek
27. Bir bağlı listenin başına eleman ekleme işleminin zaman karmaşıklığı nedir?
A)O(1)
B)O(log n)
C)O(n)
D)O(n log n)
28. Single Responsibility Principle (SRP) bir sınıf için neyi şart koşar?
A)Sınıfın sadece bir metodu olmasını.
B)Sınıfın sadece bir yazılım geliştirici tarafından yazılmasını.
C)Sınıfın değişmesi için sadece tek bir nedenin (sorumluluğun) bulunmasını.
D)Sınıfın başka sınıflara bağımlı olmamasını.
29. Big Omega (Ω) notasyonu neyi ifade eder?
A)Algoritmanın en kötü durum (worst-case) performansını
B)Algoritmanın en iyi durum (best-case) performansını
C)Algoritmanın ortalama durum (average-case) performansını
D)Algoritmanın kesin (tight bound) performansını
30. İşletim sistemlerinde 'Deadlock' (Kilitlenme) oluşumu için gerekli olan Coffman koşullarından hangisi, kaynakların bir işlemden zorla alınamayacağını belirtir?
A)Karşılıklı dışlama (Mutual Exclusion)
B)Tut ve bekle (Hold and Wait)
C)İptal edilemezlik (No Preemption)
D)Döngüsel bekleme (Circular Wait)
31. Deadlock (kilitlenme) oluşumu için gerekli olan 4 koşuldan hangisi, kaynakların süreçler tarafından zorla alınamayacağını ifade eder?
A)Mutual Exclusion
B)Hold and Wait
C)No Preemption
D)Circular Wait
32. SQL'de 'LEFT JOIN' işlemi neyi döndürür?
A)Sadece eşleşen kayıtları
B)Sol tablodaki tüm kayıtlar ve sağ tablodaki eşleşenler
C)Sağ tablodaki tüm kayıtlar
D)Her iki tablodaki tüm kayıtları
33. Theta (Θ) notasyonu ile ilgili aşağıdakilerden hangisi doğrudur?
A)Sadece üst sınırı (upper bound) ifade eder.
B)Sadece alt sınırı (lower bound) ifade eder.
C)Hem alt hem de üst sınırı (tight bound) ifade eder.
D)Ortalama çalışma süresini ifade eder.
34. Dinamik programlama ile çözülen 'Fibonacci' dizisinin özyinelemeli (memoization olmadan) hesaplanmasının zaman karmaşıklığı nedir?
A)O(n)
B)O(n^2)
C)O(log n)
D)O(2^n)
35. Singleton tasarım örüntüsünün en temel amacı nedir?
A)Nesneleri çalışma anında dinamik olarak oluşturmak.
B)Bir sınıftan sadece bir nesne örneği üretilmesini ve buna her yerden erişilmesini sağlamak.
C)Karmaşık nesne oluşturma süreçlerini bir yapıcıdan (builder) ayırmak.
D)Bir nesnenin durumunu başka nesnelere bildirmek.
36. Bir algoritmanın çalışma zamanı T(n) = 3n^2 + 5n + 10 olarak tanımlanmıştır. Bu algoritmanın Big O notasyonu nedir?
A)O(n)
B)O(n^2)
C)O(n log n)
D)O(1)
37. Quick Sort algoritmasının en kötü durum (worst-case) zaman karmaşıklığı nedir?
A)O(n^2)
B)O(n log n)
C)O(n)
D)O(log n)
38. İlişkisel veritabanlarında birincil anahtar (primary key) ile ilgili doğru ifade hangisidir?
A)Bir tabloya birden fazla birincil anahtar atanabilir
B)Birincil anahtarın değeri tekrar edebilir
C)Birincil anahtar NULL değer alabilir
D)Birincil anahtar her kaydı benzersiz olarak tanımlar
39. Aşağıdakilerden hangisi nesne yönelimli programlamada çok biçimlilik (polymorphism) kavramını en iyi açıklar?
A)Bir sınıfın birden fazla yapıcıya sahip olması
B)Bir nesnenin birden fazla veri üyesi tutabilmesi
C)Aynı arayüz ile farklı işlevlerin gerçekleştirilebilmesi
D)Bir sınıfın başka bir sınıftan türetilmesi
40. Bir sürecin (process) 'Context Switch' yapması ne anlama gelir?
A)CPU'nun bir süreçten diğerine geçiş yaparken durumunu kaydetmesi ve yüklemesi