Node JS Mülakat Soruları (Temelden İleriye) Bölüm 5
Bugün Node JS Mülakat Soruları Serisine devam ediyorum. Bu seri, Temelden İleriye kadar mülakatlarda sorulan önemli soruları kapsayan 5 bölümden oluşacaktır.
Başlamadan önce. CODE Kültür Topluluğu'nun bir parçası olmak istiyorsanız. Pazar günü Ücretsiz Kodlama Kültürü Oturumlarına katılmak için formu doldurmanız, kodlama ve kariyerle ilgili sorularınızın yanıtını almanız yeterli. formdayım beni tıkla

1. Redis'i Node.js'de nasıl kullanırsınız?
Redis, bir Node.js uygulamasında önbelleğe alma ve veri depolama için kullanılan bir bellek içi veri deposudur. Verileri önbelleğe almak için Redis kullanımına bir örnek:
javascriptCopy code
const redis = require('redis');
const client = redis.createClient();
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
const data = 'Data fetched';
resolve(data);
}, 2000);
});
}
async function getCachedData() {
const data = await client.get('data');
if (data) {
console.log('Data retrieved from cache');
return data;
}
const newData = await fetchData();
await client.set('data', newData);
console.log('Data retrieved from server');
return newData;
}
getCachedData().then((data) => {
console.log(data);
}).catch((error) => {
console.error(error);
});
MongoDB, Node.js uygulamalarında kullanılan popüler bir NoSQL veritabanıdır. Bir MongoDB veritabanına bağlanmak için resmi MongoDB Node.js sürücüsünü kullanmanın bir örneğini burada bulabilirsiniz:
javascriptCopy code
const { MongoClient } = require('mongodb');
async function main() {
const uri = 'mongodb://localhost:27017';
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
console.log('Connected to MongoDB');
const database = client.db('mydb');
const collection = database.collection('mycollection');
await collection.insertOne({ name: 'John' });
const documents = await collection.find().toArray();
console.log(documents);
} catch (error) {
console.error(error);
} finally {
await client.close();
console.log('Disconnected from MongoDB');
}
}
main();
Mongoose, Node.js'de MongoDB için bir Nesne Belgesi Eşleme (ODM) kitaplığıdır. MongoDB belgeleri için modeller ve şemalar tanımlamanın bir yolunu sağlar ve bir Node.js uygulamasında MongoDB ile etkileşimi kolaylaştırır. İşte bir örnek:
javascriptCopy code
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydb', { useNewUrlParser: true, useUnifiedTopology: true });
const personSchema = new mongoose.Schema({
name: String,
age: Number
});
const Person = mongoose.model('Person', personSchema);
const person = new Person({
name: 'John',
age: 30
});
person.save().then(() => {
console.log('Person saved');
}).catch((error) => {
console.error(error);
});
JSON Web Belirteçleri (JWT), bir Node.js uygulamasındaki taraflar arasında bilgileri güvenli bir şekilde iletmenin bir yoludur. JWT'leri imzalamak ve doğrulamak için kitaplığı kullanmanın bir örneğini burada bulabilirsiniz jsonwebtoken
:
javascriptCopy code
const jwt = require('jsonwebtoken');
const secret = 'mysecret';
const payload = {
name: 'John',
email: '[email protected]'
};
const token = jwt.sign(payload, secret, { expiresIn: '1h' });
console.log(token);
jwt.verify(token, secret, (error, decoded) => {
if (error) {
console.error(error);
} else {
console.log(decoded);
}
});
Axios, bir Node.js uygulamasında HTTP istekleri yapmak için kullanılan popüler bir kitaplıktır. İşte bir örnek:
javascriptCopy code
const axios = require('axios');
async function fetchData() {
try {
const response = await axios.get('<https://jsonplaceholder.typicode.com/posts>');
console.log(response.data);
} catch (error) {
console.error(error);
}
}
fetchData();
javascriptCopy code
const fs = require('fs');
const readableStream = fs.createReadStream('input.txt');
readableStream.on('data', (chunk) => {
console.log(`Received ${chunk.length} bytes of data.`);
});
readableStream.on('end', () => {
console.log('Finished reading data.');
});
readableStream.on('error', (error) => {
console.error(error);
});