Ana içeriğe geç

Mülakat soruları · Kitap 03

Backend ve API'ler mülakat soruları

52 sayfadan 205 soru, her birinin kısa bir cevabıyla. Önce kendi cevabınızı söyleyin, sonra soruyu açıp kontrol edin.

Quiz'i çöz Özet sayfa

s. 1 · 4 soru

.NET

Sayfanın tamamı
  1. 1

    .NET nedir?

    .NET, Microsoft'un başta C# ile web, masaüstü, mobil, bulut ve oyun uygulamaları geliştirmeye yarayan ücretsiz ve açık kaynaklı platformudur.

  2. 2

    .NET ile .NET Framework arasındaki fark nedir?

    .NET Framework, artık bakım modunda olan, yalnızca Windows'ta çalışan ilk sürümdür. Eski adıyla .NET Core olan .NET ise bütün yeni geliştirmenin yapıldığı, modern, platformlar arası ve açık kaynaklı haleftir.

  3. 3

    ASP.NET Core nedir?

    Modern .NET'in web framework'üdür. REST API'leri, sunucuda render edilen web siteleri, gerçek zamanlı uygulamalar ve Blazor web arayüzleri kurmak için kullanılır.

  4. 4

    .NET yalnızca C# için mi?

    Hayır. Açık farkla en çok kullanılan C#'tır, ama F# ve Visual Basic de .NET üzerinde çalışır ve hepsi aynı kütüphaneleri kullanabilir.

s. 2 · 3 soru

API

Sayfanın tamamı
  1. 1

    API nedir?

    API, bir yazılımın başka bir yazılımdan veri ya da işlem talep etmesini sağlayan, belgelenmiş ve öngörülebilir kurallar bütünüdür.

  2. 2

    API ile REST API aynı şey midir?

    Hayır. API genel kavramdır; REST API ise HTTP üzerine kurulu ve REST ilkelerini izleyen bir API stilidir.

  3. 3

    API anahtarı (API key) nedir?

    API anahtarı, isteklerle birlikte gönderilen gizli bir değerdir; API bu sayede isteği yapanı tanır ve erişimi denetler ya da sınırlar.

s. 3 · 4 soru

API Gateway

Sayfanın tamamı
  1. 1

    API gateway nedir?

    API gateway, bir grup backend servisinin önünde duran ve API isteklerini alan, kontrol eden ve yönlendiren tek giriş noktası görevi gören bir sunucudur.

  2. 2

    API gateway ile load balancer arasındaki fark nedir?

    Load balancer, yükü paylaştırmak için trafiği aynı servisin birkaç kopyası arasında dağıtır. API gateway ise istekleri API yoluna göre farklı servislere yönlendirir, kimlik doğrulama ve rate limiting gibi özellikler ekler ve çoğu zaman load balancer'ların önünde durur.

  3. 3

    API gateway ile reverse proxy arasındaki fark nedir?

    API gateway bir tür reverse proxy'dir. Sade bir reverse proxy esas olarak trafiği iletir; API gateway ise API anahtarı kontrolleri, istemci başına rate limit'ler ve istek dönüştürme gibi API'ye özgü özellikler ekler.

  4. 4

    API gateway'e ihtiyacım var mı?

    Her zaman değil. Tek bir monolitik uygulama çoğu zaman kimlik doğrulama ve rate limiting'i kendisi halledebilir; ancak istemciler aksi halde birçok ayrı servisi doğrudan çağıracaksa gateway değerli hale gelir.

s. 4 · 4 soru

API Versioning

Sayfanın tamamı
  1. 1

    API versioning nedir?

    API versioning, bir API'deki değişiklikleri etiketleyip yönetmektir; mevcut istemciler çalışmaya devam ederken yeni sürümler özellik ekler veya değiştirir.

  2. 2

    Bir API'yi sürümlemenin en iyi yolu nedir?

    Tek bir en iyi yol yoktur, ancak /v1/ gibi URL yolu ile sürümleme; basit, görünür, önbelleğe alması ve test etmesi kolay olduğu için en yaygın olanıdır. Header tabanlı sürümleme URL'leri temiz tutar ancak tarayıcıda denemesi daha zordur.

  3. 3

    Yeni bir API sürümünü ne zaman oluşturmalıyım?

    Yalnızca alanları kaldırmak veya yeniden adlandırmak, veri tiplerini değiştirmek ya da zorunlu parametre eklemek gibi geriye dönük uyumsuz değişiklikler için oluşturun. Yeni isteğe bağlı alanlar ya da yeni endpoint'ler gibi geriye dönük uyumlu değişiklikler mevcut sürümde yayımlanabilir.

  4. 4

    Eski API sürümleri ne kadar süre desteklenmelidir?

    Kullanıcılarınıza bağlıdır, ancak herkese açık API'ler bir sürümü kaldırmadan önce yaygın olarak en az 6 ile 12 ay önceden haber verir. Takvimi duyurun, kullanımdan kaldırma başlıkları gönderin ve hangi istemcilerin hâlâ eski sürümü kullandığını izleyin.

s. 5 · 4 soru

Arka Plan İşi

Sayfanın tamamı
  1. 1

    Arka plan işi (background job) nedir?

    Arka plan işi, bir sunucunun normal istek-yanıt döngüsünün dışında çalıştırdığı görevdir; e-posta gönderme gibi yavaş işler kullanıcıları bekletmez.

  2. 2

    Arka plan işi ile cron job arasındaki fark nedir?

    Cron job, her gece 02.00 gibi sabit bir zamanlamayla çalışır. Arka plan işi ise genellikle bir kullanıcının dosya yüklemesi gibi bir olayla isteğe bağlı olarak oluşturulur ve bir worker boşalır boşalmaz çalışır; yine de birçok iş sistemi zamanlanmış işleri de destekler.

  3. 3

    Arka plan işlemede worker nedir?

    Worker, bir kuyrukta işleri bekleyen, onları çalıştıran ve başarılı olup olmadıklarını bildiren ayrı bir süreçtir. İşleri daha hızlı işlemek için birkaç worker'ı paralel çalıştırabilirsiniz.

  4. 4

    Arka plan işini ne zaman kullanmalıyım?

    İş bir saniyenin küçük bir kesrinden uzun sürüyorsa, yavaş bir dış servise bağlıysa ya da kullanıcı yanıt almadan önce bitmesi gerekmiyorsa kullanın. E-posta göndermek, yüklemeleri işlemek ve rapor oluşturmak klasik örneklerdir.

s. 6 · 3 soru

Backend

Sayfanın tamamı
  1. 1

    Backend nedir?

    Backend, bir uygulamanın sunucu tarafıdır: veriyi saklayan, iş kurallarını uygulayan ve frontend'in isteklerine cevap veren kod, veritabanları ve servisler.

  2. 2

    Backend geliştirmede hangi diller kullanılır?

    Neredeyse her genel amaçlı dil: Node.js ile JavaScript ya da TypeScript, Python, Java, C#, Go, PHP ve Ruby yaygındır. Seçim genellikle ekibe, kullanılabilen kütüphanelere ve servisin ne kadar hızlı olması gerektiğine bağlıdır.

  3. 3

    Bir uygulamanın hiç backend'i olmayabilir mi?

    Tamamen statik bir site ya da her şeyi cihazda tutan bir uygulama kendi backend'i olmadan çalışabilir. Pek çok uygulama ise sunucuları başkasının işletmesi için backend-as-a-service ya da serverless fonksiyonlar gibi yönetilen servislere dayanır.

s. 7 · 4 soru

Backpressure

Sayfanın tamamı
  1. 1

    Backpressure nedir?

    Backpressure, yavaş tüketicinin hızlı üreticiye yavaşlaması için sinyal vermesini sağlayan, verinin işlenebileceğinden hızlı birikmesini önleyen mekanizmadır.

  2. 2

    Backpressure olmazsa ne olur?

    Sistemin hızlı ve yavaş parçaları arasında veri bellekte birikir. Birikme büyüdükçe gecikme artar ve sonunda süreç belleği tüketir, çöker ya da veri bırakmaya başlar.

  3. 3

    Backpressure ile rate limiting aynı şey midir?

    Hayır. Rate limiting isteklere sabit, önceden tanımlı bir sınır uygular; backpressure ise tüketicinin o anda ne kadarını kaldırabildiğine dayanan dinamik bir sinyaldir. Sistemler çoğunlukla ikisini birlikte kullanır.

  4. 4

    Mesaj kuyrukları backpressure'ı nasıl yönetir?

    Tüketiciler mesajları kendi hızlarında, çoğunlukla bir seferde kaç tane alacaklarına dair bir sınırla çeker; böylece kuyruk ani artışları emer. Consumer lag denen büyüyen birikme, tüketici eklemek ya da üreticileri yavaşlatmak için sinyaldir; sınırlı kuyruklar da dolduklarında yeni mesajları reddedebilir.

s. 8 · 4 soru

Bun

Sayfanın tamamı
  1. 1

    Bun nedir?

    Bun; paket yöneticisi, bundler ve test çalıştırıcı da olan, Node.js'in yerine geçmek üzere tasarlanmış hızlı bir JavaScript ve TypeScript çalışma ortamıdır.

  2. 2

    Bun ile Node.js arasındaki fark nedir?

    İkisi de JavaScript'i tarayıcı dışında çalıştırır ve aynı npm paketlerini kullanır. Node.js V8 motorunu kullanır, npm ile birlikte gelir ve paketlemeyi ayrı araçlara bırakır; Bun ise JavaScriptCore kullanır, daha hızlı açılır ve kendi paket yöneticisini, bundler'ını ve test çalıştırıcısını içinde getirir.

  3. 3

    Bun'ı mevcut bir Node.js projesinde kullanabilir miyim?

    Çoğu zaman evet. Uygulama Node.js üzerinde çalışmaya devam ederken yalnızca bun install ya da bun test ile başlayabilir, testler geçtiğinde bun run komutunu deneyebilirsiniz; çünkü birkaç paket hâlâ farklı davranabilir.

  4. 4

    Bun üretime hazır mı?

    Bun'ın 2023'teki 1.0 sürümünden beri kararlı sürümleri var ve birçok ekip onu üretimde çalıştırıyor. Yine de önce test paketinizi onunla çalıştırmaya değer, çünkü her Node.js API'si ve paketiyle uyumluluk garanti değildir.

Daha fazla

Ayarlar