All questions
of 29Explain the basic building blocks of a Neo4j graph: nodes, relationships, and properties.
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Nodes represent entities in your data model (like Person, Product, Company). They can have:
- Labels to categorize them (e.g.,
:Person,:Movie) - Properties as key-value pairs
Relationships connect nodes and represent how entities are related. They: - Always have a direction (though can be traversed both ways)
- Must have exactly one type (e.g.,
:ACTED_IN,:FRIENDS_WITH) - Can have properties
Properties are key-value pairs that store data on both nodes and relationships.
Example:
(person:Person {name: "Tom Hanks", born: 1956})
-[:ACTED_IN {role: "Forrest"}]->
(movie:Movie {title: "Forrest Gump", released: 1994})
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
The model's verdict: “”
The interactive diagram is below the answer - jump to diagram ↓
This answer is explained by a shared concept diagram - open →
What is Cypher and how does it differ from SQL?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Cypher is Neo4j's declarative query language designed specifically for working with graph data. Key differences from SQL:
Cypher characteristics:
- Uses ASCII art to represent graph patterns:
(a)-[:REL]->(b) - Focuses on pattern matching rather than table joins
- More intuitive for expressing graph traversals
- Supports path expressions naturally
Example comparison:
// Cypher: Find friends of friends
MATCH (me:Person {name: "Alice"})-[:FRIEND]-(friend)-[:FRIEND]-(fof)
RETURN fof.name
// SQL equivalent would require multiple JOINs and be more complex
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
The model's verdict: “”
The interactive diagram is below the answer - jump to diagram ↓
This answer is explained by a shared concept diagram - open →
How do you create nodes and relationships in Neo4j?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Creating nodes:
CREATE (p:Person {name: "John", age: 30})
Creating relationships:
// Between existing nodes
MATCH (a:Person {name: "John"}), (b:Person {name: "Jane"})
CREATE (a)-[:KNOWS {since: 2020}]->(b)
// Create nodes and relationship together
CREATE (a:Person {name: "Bob"})-[:WORKS_FOR]->(c:Company {name: "TechCorp"})
Best practices:
- Use MERGE instead of CREATE to avoid duplicates
- Always specify node labels for better performance
- Use meaningful relationship types
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
The model's verdict: “”
The interactive diagram is below the answer - jump to diagram ↓
This answer is explained by a shared concept diagram - open →
What is the difference between CREATE and MERGE commands?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
CREATE always creates new nodes/relationships, potentially causing duplicates:
CREATE (p:Person {name: "John"}) // Always creates new node
MERGE finds existing patterns or creates them if they don't exist:
MERGE (p:Person {name: "John"}) // Creates only if doesn't exist
MERGE with ON CREATE/MATCH:
MERGE (p:Person {email: "john@example.com"})
ON CREATE SET p.created = timestamp(), p.name = "John"
ON MATCH SET p.lastSeen = timestamp()
MERGE is safer for avoiding duplicates but can be slower than CREATE when you're certain the data doesn't exist.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
The model's verdict: “”
The interactive diagram is below the answer - jump to diagram ↓
This answer is explained by a shared concept diagram - open →
Explain the MATCH, WHERE, and RETURN clauses in Cypher.
What is the difference between OPTIONAL MATCH and regular MATCH?
How do you implement indexing in Neo4j and why is it important?
What are constraints in Neo4j and what types are available?
How do you perform aggregation operations in Neo4j?
What is the purpose of the WITH clause in Cypher?
How do you find the shortest path between two nodes?
What are APOC procedures and how are they useful?
How do you handle transactions in Neo4j?
How do you model many-to-many relationships in Neo4j?
How do you implement full-text search in Neo4j?
What is the difference between Neo4j Community and Enterprise editions?
What strategies would you use to optimize Neo4j query performance?
Explain the difference between nodes and relationships in terms of storage and performance.
How do you handle large dataset imports in Neo4j?
What are some common Neo4j anti-patterns to avoid?
How do you implement graph algorithms in Neo4j?
How do you secure a Neo4j database?
How do you monitor and troubleshoot Neo4j performance issues?
How do you implement data modeling best practices in Neo4j?
How do you handle concurrent writes and locking in Neo4j?
What are the key considerations for Neo4j clustering and high availability?
How do you handle versioning and temporal data in Neo4j?
What are the key differences between Neo4j's native graph processing and external graph analytics tools?
How do you implement custom procedures and functions in Neo4j?
This answer is part of Pro.
The full written answer, with the trade-offs and follow-ups an interviewer will probe.
No matches
Try a different filter or search term.
25 of 29 Neo4j answers are gated.
Full answers, code samples, AI explanations - simpler, deeper, or as an interactive diagram. Cancel anytime.
- Full answers + code
- AI explain - simpler, deeper, or visualized
- 1,000 AI credits / month
- Cancel anytime
Change topic
Pick a different technology or stack. Your current topic stays put until you choose a new one.
MEAN
MongoDB, Express, Angular, Node.jsMERN
MongoDB, Express, React, Node.jsLAMP
Linux, Apache, MySQL, PHPRuby on Rails
Convention over ConfigurationJAM
JavaScript, APIs, and MarkupServerless on AWS
Serverless Architecture on AWSInterviewers also test these - they're common to every stack, whichever one you picked above.
Flutter Mobile
Flutter Cross-Platform Mobile DevelopmentInterviewers also test these - they're common to every stack, whichever one you picked above.
Spring Boot
Enterprise Java Development.NET
Microsoft EcosystemVue
Vue.js, Vite, TypeScript, Tailwind, Node.jsGo Backend
Golang, gRPC, PostgreSQL, Redis, RabbitMQFastAPI
Python, FastAPI, SQLAlchemy, PostgreSQLReact Native
React, TypeScript, Redux, FirebaseiOS Native
Swift, SwiftUI, UIKit, FirebaseAndroid Native
Java, Jetpack Compose, FirebaseWeb3 / Ethereum
Solidity, Ethereum, Hardhat, FoundryDevOps / Platform
Docker, Kubernetes, Terraform, CI/CDCore SWE Interview Prep
Data structures, algorithms, OS, concurrency, networking, gitInterviewers also test these - they're common to every stack, whichever one you picked above.
Interviewers also test these - they're common to every stack, whichever one you picked above.