Node JS Questions d'entretien (de base à avancé) Partie 5

May 08 2023
Aujourd'hui, je continue la série de questions d'entrevue Node JS. Cette série sera basée sur 5 parties couvrant les questions importantes posées dans les entretiens de base à avancé avant de commencer.

Aujourd'hui, je continue la série de questions d'entrevue Node JS. Cette série sera basée sur 5 parties couvrant les questions importantes posées dans les entretiens de base à avancé

Avant de commencer. Si vous voulez faire partie de la communauté CODE Culture. Remplissez simplement le formulaire pour participer aux sessions gratuites sur la culture du code le dimanche et obtenez des réponses à vos questions sur le codage et la carrière. je suis formulaire cliquez sur moi

1. Comment utilisez-vous Redis dans Node.js ?

Redis est un magasin de données en mémoire utilisé pour la mise en cache et le stockage de données dans une application Node.js. Voici un exemple d'utilisation de Redis pour mettre en cache des données :

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 est une base de données NoSQL populaire utilisée dans les applications Node.js. Voici un exemple d'utilisation du pilote officiel MongoDB Node.js pour se connecter à une base de données 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 est une bibliothèque ODM (Object Document Mapping) pour MongoDB dans Node.js. Il fournit un moyen de définir des modèles et des schémas pour les documents MongoDB et facilite l'interaction avec MongoDB dans une application Node.js. Voici un exemple :

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) est un moyen de transmettre en toute sécurité des informations entre les parties dans une application Node.js. Voici un exemple d'utilisation de la jsonwebtokenbibliothèque pour signer et vérifier des jetons 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 est une bibliothèque populaire utilisée pour effectuer des requêtes HTTP dans une application Node.js. Voici un exemple :

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);
});