Questions
Practice prompts and answer frameworks
Use these as preparation prompts. The goal is to explain your reasoning, trade-offs and failure cases clearly.
Represent a netlist as a graph
Design data structures for a small netlist. You need fast traversal from cells to nets and nets to connected cells.
Answer framework
- Define entities: cell, pin, net and connection edges.
- Choose stable IDs or indexes instead of pointer-heavy structures when scale matters.
- Discuss adjacency lists, memory locality and bidirectional lookup.
- Explain validation: dangling pins, duplicate connections and topological constraints.
Detect cycles and produce topological order
Given a directed dependency graph, detect whether it has a cycle and return a valid evaluation order when possible.
Answer framework
- Use DFS coloring or Kahn's algorithm.
- State time and space complexity clearly.
- Explain how to return a helpful cycle error for debugging.
- Connect the idea to build systems, netlists, scheduling or data-flow graphs.
Design a simple parser for an EDA input format
You need to parse a large line-oriented design file. How do you structure parsing, validation and error reporting?
Answer framework
- Split lexical scanning, parsing and semantic validation.
- Preserve source locations for useful errors.
- Use streaming or chunked processing for large files.
- Discuss test cases, malformed input and performance bottlenecks.