seniorRuby

What is the internal structure of a Ruby symbol and why are symbols faster than strings?

Updated May 17, 2026

Short answer

Symbols are immutable, interned identifiers stored once in a global symbol table.

Deep explanation

Symbols in CRuby are stored in an internal symbol table and referenced via unique IDs. Unlike strings, symbols are not duplicated in memory and are immutable. This allows fast pointer comparison instead of full string comparison. Modern Ruby also allows GC of dynamically created symbols, but core symbols remain interned.

Unlock with a Pro subscription to view this section.

View pricing

Real-world example

No real-world example available yet.

Unlock with a Pro subscription to view this section.

Upgrade to Pro

Common mistakes

No common mistakes listed yet.

Unlock with a Pro subscription to view this section.

Upgrade to Pro

Follow-up questions

No follow-up questions available yet.

Unlock with a Pro subscription to view this section.

Upgrade to Pro

More Ruby interview questions

View all →