HomeCheatsheetsSoftware Engineer
Pre-Interview Cheatsheet

Software Engineer — Confidence Cheatsheet

A printable, focused refresher tuned for Software Engineer. Open the sections that matter to you and walk in confident.

Tuned for Software Engineer · Technology & AI > Software Development
  • Know data structures, algorithms, system design basics, testing, debugging, version control and clean code.
  • Understand APIs, databases, concurrency basics, performance, security hygiene and deployment flow.
  • Refresh arrays, hash maps, stacks, queues, trees, graphs, sorting/searching, Big-O.
  • Strong engineers explain tradeoffs and write maintainable code, not just working code.
  • Be ready to discuss a project, bug, design decision and code review.
  • Big-O: how runtime/memory grows with input size.
  • API: contract for interaction between software components.
  • Refactoring: improving code structure without changing behavior.
  • Unit test: test for small isolated behavior.
  • CI/CD: automated integration and deployment pipeline.
  • Coding interview: clarify, examples, brute force, optimize, implement, test edge cases.
  • Design answer: requirements, constraints, components, data model, APIs, scaling, failure modes.
  • Debug: reproduce, isolate, inspect, fix, test regression.
  • Code quality: readability, correctness, simplicity, testability.
  • How do you approach a coding problem?
  • Explain a technical project you built.
  • How do you debug production issues?
  • What makes code maintainable?
  • How would you design a URL shortener/API/service?
  • Jumping into code without clarifying requirements.
  • No testing.
  • Overengineering.
  • Poor explanation of tradeoffs.
  • Not understanding complexity.
  • Communicates reasoning clearly.
  • Writes simple tested code.
  • Thinks about reliability and maintainability.
  • Can discuss architecture and user impact.
Strong engineering answer: clarify requirements, choose a simple design, explain tradeoffs, test edge cases and improve maintainability.