Anasayfa Bloglar Node.js Mülakat Soruları

Node.js Mülakat Soruları

Yazılım Geliştirme
7 Dakika Okuma Süresi · 29.08.2023
Blog Small Image

Node.js mülakatları, bir şirketin yazılım geliştirme pozisyonlarına alacağı adayları belirlemek için yaptığı teknik mülakatlardır. Bu mülakatlarda adayların, Node.js hakkındaki bilgileri, uygulama geliştirme konusundaki deneyimleri ve problem çözme becerileri test edilir. 

Bir Node.js Developer mülakatına girecekseniz gelebilecek teknik sorulara çalışmanızı tavsiye ederiz. Bu nedenle, mülakatlarda sorulan en popüler Node.js mülakat soruları ve cevaplarını listeledik. 👇💼


 

En Sık Sorulan Node.js Mülakat Soruları

1. Node.js nedir?

Node.js, açık kaynaklı ve platformlar arası bir JavaScript çalıştırma ortamıdır. Çalışma zamanı, JavaScript yürütme motoru olan Chrome V8'i dahili olarak kullanır ve ayrıca C++ ile de yazılmıştır.

Sunucu taraflı web uygulamaları oluşturmak için kullanır. Genellikle büyük ölçekli uygulama geliştirme için, özellikle video akış siteleri, tek sayfa uygulaması ve diğer web uygulamaları için kullanılır. 


 

2. Node.js hangi mimariyi kullanır?

Node.js, birden çok istemciyi aynı anda işlemek için "Tek Kanallı Olay Döngüsü" yani tek iş parçacıklı bir mimariyi kullanır. Node.js'in bu mimarisi, aynı anda birden fazla isteği işlemek için tek bir iş parçacığı kullanmasını ve girdi/çıktı operasyonları sırasında beklemek yerine olay döngüsünü kullanarak verimli çalışmasını sağlar.


 

3. JavaScript ve Node.js arasındaki farklar nelerdir?

JavaScript

Node.js

JavaScript bir programlama dilidir.

Node.js, JavaScript için bir çalışma ortamıdır. 

Web uygulamalarının istemci tarafında kullanılır.

Herhangi bir işletim sisteminin herhangi bir işlemine erişmek için kullanılır.

Web tarayıcılarında çalışır ve kullanıcı arayüzünü etkilemek için kullanılır.

Ağ tabanlı uygulamalar, sunucu taraflı kodlama, API geliştirme gibi alanlarda kullanılır.

Herhangi bir motor JavaScript çalıştırabilir.

Node.js ise yalnızca V8 motorunu etkinleştirir.


 

4. Angular ve Node.js arasındaki farklar nelerdir?

Angular

Node.js

Angular, açık kaynaklı bir web uygulama geliştirme framework’üdür.

Uygulamalar için platformlar arası bir  çalışma zamanı ortamıdır.

Angular, TypeScript ile yazılmıştır.

C, C++ ve JavaScript dillerinde yazılmıştır.

Tek sayfalık istemci taraflı web uygulamaları oluşturmak için kullanılır. 

Hızlı ve ölçeklenebilir sunucu taraflı ağ uygulamaları oluşturmak için kullanılır.

Karmaşık ve etkileşimli web uygulamaları oluşturmak için kullanılır.

Küçük boyutlu projeler için kullanılır.


 

5. package.json nedir?

package.json, projenin kök dizininde bulunan bir JSON dosyasıdır. package.json, proje hakkında önemli bilgiler içerir. 

Proje hakkında kullanıcılar tarafından okunabilen meta verilerini (proje adı ve açıklaması gibi), paket sürüm numarası gibi işlevsel meta verilerini ve uygulamanın gerektirdiği bağımlılıkların listesini içerir.

package.json şu şekilde görülebilir 👇: 


 

6. Node.js'deki olay döngüsü nedir ve nasıl çalışır?

Olaya Dayalı (Event-driven) programlama, çeşitli işlevleri tetiklemek için olayları yoğun bir şekilde kullanan bir yaklaşımdır. Bir olay, fare tıklaması, tuşa basma gibi şeyler olabilir.

 

Node.js'deki olay döngüsü, Node.js’nin en önemli özelliklerinden biridir ve uygulamadaki tüm eşzamansız geri aramaları işler. Node.j olaya dayalı bir dil olduğundan, uygulama başlatıldığında, olay döngüsü de başlar. Bu döngü, işlemi sürekli olarak izleyen ve gelen olayları işlemek için bekleyen bir döngüdür.

 

setTimeout, http.get ve fs.readFile gibi işlevler her çağrıldığında, Node.js olay döngüsünü yürütür ve ardından çıktıyı beklemeden sonraki kodla devam eder. 

Tüm işlem bittiğinde, Node.js çıktıyı alır ve ardından geri arama işlevini yürütür. Bu nedenle, tüm geri arama işlevleri döngüde bir kuyruğa yerleştirilir. Yanıt alındıktan sonra, bunlar tek tek yürütülür.

Konu Modeli - Node.js Mülakat Soruları - Edureka

Görsel kaynak: Edureka


 

7. Node.js’deki REPL nedir?

Node.js'deki REPL’ın açılımı Read Eval Print Loop’tur. REPL, Node.js ifadelerini işleyen etkileşimli bir kabuktur. Kabuk, kullanıcının girdiği JavaScript kodunu okur, kod satırının sonucunu değerlendirir, sonucu yazdırır ve kullanıcı çıkmak için işaret verene kadar döngüde kalır .

Node.js, varsayılan olarak bir REPL ortamıyla birlikte gelir. REPL’ın avantajı, JavaScript kodunu bir dosyada depolamak zorunda kalmadan, hızlı bir şekilde test etmeye olanak tanımasıdır. 

💡 Node.js REPL yorumlayıcısını başlatmak için işletim sistemi komut yorumlayıcısına “node” komutunu yazıp çalıştırabilirsiniz.


 

8. REPL kısayolları nelerdir? 

Kısayol

İşlev

Ctrl + c 

Çalışan komutu sonlandırmak için kullanılır.

Ctrl + c

REPL yorumlayıcısını kapatmak için kullanılır. İki defa tekrarlanması gerekir.

Ctrl + d

REPL yorumlayıcısını kapatmak için kullanılır.

Aşağı / Yukarı yön tuşları

Yazılan komutlar arasında dolaşmayı sağlar.

Tab tuşu

Komutların listesini almak için kullanılır.

Başlangıç karakteri) Tab tuşu

Başlangıç karakterine ait komutları verir. 


 

9. Node.js'de hata öncelikli geri arama (error - first callback) nedir?

Node.js'deki hata öncelikli geri aramalar, hataları ve verileri iletmek için kullanılır. Geri arama (callback) fonksiyonlarını kullanırken, hata durumlarını ele almayı kolaylaştırmayı amaçlar.


 

10. Node.js module.exports nedir?

Node.js programlamasında modüller, projeler arasında paylaşılabilen ve yeniden kullanılabilen bağımsız işlevsellik birimleridir. Uygulamaları işlevlerle zenginleştirmek için kullanılır. Ayrıca kodu organize etmeye ve ayrıştırmaya izin vererek kodun anlaşılmasını kolaylaştırır.

module.exports, Node.js'te modül sisteminde kullanılan bir nesnedir ve modülün dışa aktarılan içeriğini belirlemek için kullanılır. Node.js'de, her dosya bir modül olarak kabul edilir ve bu modüllerin içeriğini diğer modüllerle paylaşmak veya kullanmak için module.exports nesnesi kullanılır.

 

📍 Örneğin, aşağıda greet.js adlı bir dosya bulunuyor. module.exports ile bu fonksiyonlar dışa aktarılmıştır. 


 

11. Node.js'deki Reactor Pattern nedir?

Node.js’deki Reactor Pattern, Giriş/Çıkış işlemlerinin engellenmesini önlemek için kullanılan bir kavramdır. Bu kavram, her bir G/Ç işlemleriyle ilişkili bir işleyici sağlar. 


 

12. Node.js’deki güvenlik uygulamaları nelerdir?

Temel olarak Node.js'de iki tane güvenlik uygulaması bulunur:

1️⃣ Kimlik doğrulama: Güçlü kimlik doğrulama politikaları, potansiyel saldırganlara karşı önemli bir korumadır.

2️⃣ Hata yönetimi: Hataları işlemek için kod hazırlanarak, uygulamanın performansı ve güvenlik sorunu azaltılabilir.


 

13. Node.js’deki hata ayıklayıcılar nelerdir?

Node.js, yerleşik olarak TCP tabanlı protokol ve hata ayıklama istemcisi sunar. 

📍 JavaScript dosyasında hata ayıklamak için, aşağıdaki hata ayıklama bağımsız değişkeni ve ardından hata ayıklamak istenilen js dosya adı kullanılır. 


 

14. Node.js callback hell nedir?

Geri arama işlevleri, başka bir işlev yürütmesini tamamlayıp verilerle geri dönene kadar bir işlevin gecikmeli olarak yürütülmesi anlamına gelir. 

Nodejs.’de callback hell, okunamayan ve hantal olan, yoğun şekilde iç içe geçmiş geri aramaların neden olduğu durumdur. Pyramid of Doom olarak da bilinir.

✅ Bu durum, kodun okunmasını ve hata ayıklamasını zorlaştıran birden çok iç içe geçmiş geri arama işlevi içerir.


 

15. Node.js'de callback hell’den nasıl kaçınılır?

Node.js'de bu sorunu çözmek için Promises yöntemi kullanılır. 

Örnek syntax 👇:


 

16. Libuv nedir? 

Libuv, eşzamansız giriş/çıkış işlemleri için kullanılan Node.js'nin çok platformlu bir destek kütüphanesidir. Node.js için geliştirilse de, zamanla Luvit, pyuv, Julia gibi diğer sistemlerde de kullanılmaya başlandı.

 

✔️ Asenkron işlemleri yönetmek için kullanılır. 

✔️ Node.js'in olay döngüsü, libuv tarafından yönetilir. 

✔️ G/Ç işlemleri için kullanılır. 

✔️ Libuv, platformdan bağımsızdır. Farklı işletim sistemlerinde kullanılabilir.

✔️ CPU yoğun işlemlerinden kaynaklı performans sorunlarını engeller.


 

17. URL modülü nedir?

Node.js Url modülü, URL'i ve diğer özelliklerini ayrıştırmak için kullanılan yerleşik bir modüldür. Web adresini okunabilir bir biçime bölmeye yardımcı olur.

👇 URL modülünü dahil etmek için require () yöntemi kullanılır: 


 

18. async.queue modülü nedir? 

NodeJS'de async.queue modülü, JavaScript ile eşzamansız çalışmak için tasarlanmış bir modüldür.  async.queue şu adımları takip ederek kullanılabilir: 

1️⃣ Bir package.json dosyası oluşturun. “npm init” komutu çalıştırılarak bir package.json dosyası oluşturulur.
2️⃣ Async modülünü “npm i async“ komutunu kullanarak kurun. 

3️⃣ Async modülünü “const async = require('async')” içe aktarın.
4️⃣ async.queue modülünü “const queue = async.queue('function', 'concurrency value')“ syntax’ını kullanarak oluşturun.
 

 

19. Node.js'de spawn() ve fork() yöntemleri ne işe yarar?

Spawn() ve fork() yöntemlerinin her ikisi de, artan iş yükünü azaltmak için Node.js'de alt süreçler oluşturmanın yollarıdır.

1️⃣ Spawn() yöntemi: Spawn() yöntemi, komut dizisiyle yeni bir işlem başlatmak için kullanılır. Syntax’ı şöyledir 👇: 

 

2️⃣ fork() yöntemi: Node.js'deki fork() yöntemi, V8 motorunun yeni bir örneğini çalıştıran özel bir spawn() örneğidir. Syntax’ı şöyledir 👇: 


 

20. Node.js Global nesneler nedir?

✅ Node.js'deki global nesneler, uygulamanın tüm modüllerinde bulunan nesnelerdir. 

✅ Global nesneler modüller, fonksiyonlar ve diziler olabilir. 

✅ Global değişkenlerin kapsamı, belirli bir JavaScript dosyası ile sınırlı değildir. Tek bir yerde ilan edilebilir ve daha sonra birden çok yerde kullanılabilir.


 

21. Node.js buffer nedir?

Node.js Buffer, ham verileri bir tamsayı dizisine benzer şekilde depolamak için kullanılır. Bilgisayar belleğindeki fiziksel bir bölgedir. Veri, belleğin bir yerinden diğerine aktarılırken, geçici olarak burada saklanır.

Bazı yaygın kullanılan Buffer yöntemleri şunlardır 👇:

Buffer.alloc

Belirtilen boyutta bir boş tampon oluşturur.

Buffer.from

Verilen verilerle tamponu başlatır.

Buffer.write

Verileri tampona yazar.

buf.toString

Tampon içeriğini bir dizeye dönüştürür.

Buffer.isBuffer

Nesnenin tampon olup olmadığını kontrol eder.


 

22. Node.js .env nedir?

NODE_ENV, sunucunun üretim modunda mı yoksa geliştirme modunda mı çalıştığını gösterir. NODE_ENV ortam değişkeni, bir uygulamanın çalıştığı ortamı belirtir.

NODE_ENV'ye diğer herhangi bir ortam değişkeni gibi erişilebilir 👇:

 

NODE_ENV kullanılan platforma göre ayarlanır 👇: 

İÇERİKLER
Konu içeriği

Önerilen İçerikler

Tüm İçerikler