Bird
Raised Fist0
Node.jsframework~15 mins

Creating buffers in Node.js - Try It Yourself

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Creating Buffers in Node.js
📖 Scenario: You are working on a Node.js application that needs to handle raw binary data. Buffers are used to store this data efficiently.
🎯 Goal: Build a simple Node.js script that creates buffers from strings and arrays, and then combines them.
📋 What You'll Learn
Create a buffer from a string
Create a buffer from an array of bytes
Create a buffer of a fixed size filled with zeros
Concatenate two buffers into one
💡 Why This Matters
🌍 Real World
Buffers are essential when working with binary data such as files, network packets, or images in Node.js applications.
💼 Career
Understanding buffers is important for backend developers working with Node.js to efficiently process and manipulate raw data streams.
Progress0 / 4 steps
1
Create a buffer from a string
Create a buffer called bufferFromString from the string 'Hello' using Buffer.from().
Node.js
Hint

Use Buffer.from('Hello') to create the buffer.

2
Create a buffer from an array of bytes
Create a buffer called bufferFromArray from the array [72, 101, 108, 108, 111] using Buffer.from().
Node.js
Hint

Use Buffer.from([72, 101, 108, 108, 111]) to create the buffer.

3
Create a fixed-size buffer filled with zeros
Create a buffer called zeroBuffer of size 5 bytes using Buffer.alloc().
Node.js
Hint

Use Buffer.alloc(5) to create a zero-filled buffer of length 5.

4
Concatenate two buffers
Create a buffer called combinedBuffer by concatenating bufferFromString and bufferFromArray using Buffer.concat().
Node.js
Hint

Use Buffer.concat([bufferFromString, bufferFromArray]) to join the buffers.

Practice

(1/5)
1. What does Buffer.alloc(10) do in Node.js?
easy
A. Creates a buffer of 10 bytes filled with zeros
B. Creates a buffer of 10 bytes filled with random data
C. Creates a buffer from a string of length 10
D. Creates an empty array of length 10

Solution

  1. Step 1: Understand Buffer.alloc usage

    Buffer.alloc(size) creates a buffer of the given size filled with zeros.
  2. Step 2: Analyze the argument 10

    The argument 10 means the buffer will have 10 bytes, all initialized to zero.
  3. Final Answer:

    Creates a buffer of 10 bytes filled with zeros -> Option A
  4. Quick Check:

    Buffer.alloc(10) = zero-filled buffer [OK]
Hint: Buffer.alloc creates zero-filled buffer of given size [OK]
Common Mistakes:
  • Thinking Buffer.alloc fills with random data
  • Confusing Buffer.alloc with Buffer.from
  • Assuming it creates an empty array
2. Which of the following is the correct syntax to create a buffer from the string 'hello'?
easy
A. Buffer.alloc('hello')
B. Buffer.from('hello')
C. new Buffer('hello')
D. Buffer.create('hello')

Solution

  1. Step 1: Recall correct Buffer creation methods

    In modern Node.js, Buffer.from(string) creates a buffer from a string.
  2. Step 2: Check options

    Buffer.alloc expects a size number, new Buffer is deprecated, and Buffer.create does not exist.
  3. Final Answer:

    Buffer.from('hello') -> Option B
  4. Quick Check:

    Buffer.from(string) creates buffer from string [OK]
Hint: Use Buffer.from(string) to create buffer from text [OK]
Common Mistakes:
  • Using Buffer.alloc with string argument
  • Using deprecated new Buffer() constructor
  • Assuming Buffer.create exists
3. What will be the output of the following code?
const buf = Buffer.from('abc');
console.log(buf.length);
medium
A. Error
B. 6
C. undefined
D. 3

Solution

  1. Step 1: Create buffer from string 'abc'

    Buffer.from('abc') creates a buffer with bytes representing 'a', 'b', 'c'.
  2. Step 2: Check buffer length

    The length property returns the number of bytes, which is 3 for 'abc'.
  3. Final Answer:

    3 -> Option D
  4. Quick Check:

    Buffer length of 'abc' = 3 [OK]
Hint: Buffer length equals number of bytes in string [OK]
Common Mistakes:
  • Assuming length is number of characters times 2
  • Expecting undefined or error
  • Confusing length with string length property
4. Identify the error in this code snippet:
const buf = Buffer.alloc('5');
console.log(buf.length);
medium
A. Buffer.alloc does not have length property
B. Buffer.alloc cannot be used without 'new'
C. Buffer.alloc expects a number, not a string
D. No error, code runs fine

Solution

  1. Step 1: Check Buffer.alloc argument type

    Buffer.alloc expects a number for size, but '5' is a string.
  2. Step 2: Understand type coercion in Buffer.alloc

    Passing a string causes a TypeError because size must be a number.
  3. Final Answer:

    Buffer.alloc expects a number, not a string -> Option C
  4. Quick Check:

    Buffer.alloc('5') causes type error [OK]
Hint: Pass number, not string, to Buffer.alloc size [OK]
Common Mistakes:
  • Using string instead of number for size
  • Thinking Buffer.alloc needs 'new' keyword
  • Assuming length property is missing
5. You want to create a buffer from an array of bytes [72, 101, 108, 108, 111] representing 'Hello'. Which code correctly creates this buffer and converts it back to a string?
hard
A. const buf = Buffer.from([72,101,108,108,111]); console.log(buf.toString());
B. const buf = Buffer.alloc([72,101,108,108,111]); console.log(buf.toString());
C. const buf = Buffer.from('72,101,108,108,111'); console.log(buf.toString());
D. const buf = Buffer.alloc(5); buf.write([72,101,108,108,111]); console.log(buf.toString());

Solution

  1. Step 1: Create buffer from array of bytes

    Buffer.from(array) creates a buffer from an array of byte values correctly.
  2. Step 2: Convert buffer back to string

    buf.toString() converts the buffer bytes to the string 'Hello'.
  3. Step 3: Analyze other options

    Using Buffer.alloc([72,101,108,108,111]) is wrong because alloc expects a number. Using Buffer.from('72,101,108,108,111') creates a buffer from the string of numbers, not bytes. Using buf.write([72,101,108,108,111]) is invalid as write doesn't accept arrays directly.
  4. Final Answer:

    const buf = Buffer.from([72,101,108,108,111]); console.log(buf.toString()); -> Option A
  5. Quick Check:

    Buffer.from(array) + toString() = 'Hello' [OK]
Hint: Use Buffer.from(array) to create buffer from bytes [OK]
Common Mistakes:
  • Using Buffer.alloc with array argument
  • Passing string of numbers instead of array
  • Trying to write array directly into buffer