Node JS Wywiad Pytania (od podstawowego do zaawansowanego) Część 5
Dzisiaj kontynuuję serię pytań do wywiadów w Node JS. Ta seria będzie oparta na 5 częściach obejmujących ważne pytania zadawane podczas wywiadów od poziomu podstawowego do zaawansowanego
Przed rozpoczęciem. Jeśli chcesz być częścią CODE Culture Community. Wystarczy wypełnić formularz, aby wziąć udział w niedzielnych bezpłatnych sesjach kultury kodowania i uzyskać odpowiedzi na pytania dotyczące kodowania i kariery. Jestem z formularza kliknij mnie
1. Jak korzystasz z Redis w Node.js?
Redis to magazyn danych w pamięci używany do buforowania i przechowywania danych w aplikacji Node.js. Oto przykład użycia Redis do buforowania danych:
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 to popularna baza danych NoSQL używana w aplikacjach Node.js. Oto przykład użycia oficjalnego sterownika MongoDB Node.js do połączenia z bazą danych MongoDB:
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 to biblioteka mapowania dokumentów obiektowych (ODM) dla MongoDB w Node.js. Zapewnia sposób definiowania modeli i schematów dla dokumentów MongoDB oraz ułatwia interakcję z MongoDB w aplikacji Node.js. Oto przykład:
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 Tokens (JWT) to sposób na bezpieczne przesyłanie informacji między stronami w aplikacji Node.js. Oto przykład użycia jsonwebtoken
biblioteki do podpisywania i weryfikowania tokenów JWT:
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 to popularna biblioteka służąca do wykonywania żądań HTTP w aplikacji Node.js. Oto przykład:
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);
});