Câu hỏi phỏng vấn Node JS (Từ cơ bản đến nâng cao) Phần 5
Hôm nay tôi sẽ tiếp tục Chuỗi câu hỏi phỏng vấn Node JS. Loạt bài này sẽ dựa trên 5 phần bao gồm các câu hỏi quan trọng được hỏi trong các cuộc phỏng vấn từ Cơ bản đến Nâng cao
Trước khi bắt đầu. Nếu bạn muốn trở thành một phần của Cộng đồng Văn hóa CODE. Chỉ cần điền vào biểu mẫu để tham gia Phiên văn hóa mã miễn phí vào Chủ nhật và nhận được câu trả lời cho câu hỏi của bạn về viết mã và nghề nghiệp. Tôi là hình thức nhấp vào tôi

1. Bạn sử dụng Redis trong Node.js như thế nào?
Redis là kho lưu trữ dữ liệu trong bộ nhớ được sử dụng để tạo bộ nhớ đệm và lưu trữ dữ liệu trong ứng dụng Node.js. Đây là một ví dụ về việc sử dụng Redis để lưu trữ dữ liệu:
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 là một cơ sở dữ liệu NoSQL phổ biến được sử dụng trong các ứng dụng Node.js. Đây là một ví dụ về việc sử dụng trình điều khiển MongoDB Node.js chính thức để kết nối với cơ sở dữ liệu 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 là thư viện Ánh xạ tài liệu đối tượng (ODM) cho MongoDB trong Node.js. Nó cung cấp một cách để xác định các mô hình và lược đồ cho các tài liệu MongoDB và giúp tương tác với MongoDB trong ứng dụng Node.js dễ dàng hơn. Đây là một ví dụ:
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) là một cách để truyền thông tin một cách an toàn giữa các bên trong ứng dụng Node.js. Đây là một ví dụ về việc sử dụng jsonwebtoken
thư viện để ký và xác minh 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 là một thư viện phổ biến được sử dụng để thực hiện các yêu cầu HTTP trong ứng dụng Node.js. Đây là một ví dụ:
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);
});