All levels 路 All roles 路 All technologies

Browse All Software Engineer Interview Questions

Every question in one place. Combine filters to narrow the list, or search for a concept, such as closure, JOIN, useEffect or rate limiter.

Download all (PDF)169 questions

169 questions

  • System DesignMedium

    What is idempotency in REST APIs and why does it matter?

    An operation is idempotent if repeating it any number of times has the same effect as doing it once; it matters because network retries can otherwise create duplicate orders or payments.

    Mid-level 路 Senior 路 REST API
  • System DesignMediumSystem design

    How do you design a rate limiter?

    Choose an algorithm such as token bucket or sliding window, store a counter per client (by user ID, API key or IP) in a fast shared store like Redis, and return HTTP 429 with a Retry-After header when the limit is exceeded.

    Mid-level 路 Senior 路 System Design
  • GitMedium

    What is the difference between git reset and git revert?

    git revert creates a new commit that undoes an earlier one and is safe on shared branches; git reset moves the branch pointer back to an earlier commit, effectively removing later commits from that branch鈥檚 history.

    Mid-level 路 Senior 路 Git
  • DockerMedium

    What is Docker Compose used for?

    Docker Compose defines a multi-container application (services, networks and volumes) in one YAML file so you can start, stop and rebuild the whole stack with a single command, typically for local development and testing.

    Mid-level 路 Senior 路 DevOps
  • Software TestingMedium

    How do you deal with flaky tests?

    Treat a flaky test as a bug: quarantine it so it stops blocking the pipeline, reproduce it by running it repeatedly, fix the root cause (usually timing, shared state or external dependencies), then bring it back.

    Mid-level 路 Senior 路 Testing
  • Software TestingMedium

    Selenium vs Cypress vs Playwright: which should you choose for test automation?

    Selenium is the long-established, language-agnostic standard built on WebDriver; Cypress runs inside the browser with an excellent developer experience for JavaScript apps; Playwright offers fast, auto-waiting cross-browser automation with multiple tabs, contexts and languages. For a new web project, Playwright is usually the strongest default.

    Mid-level 路 Senior 路 Testing
  • BehavioralMediumBehavioral

    How do you answer "Tell me about a time you disagreed with a teammate"?

    Describe a real technical or process disagreement, show that you listened and argued with evidence rather than opinion, explain how a decision was reached, and how you supported it afterwards even if it was not your idea.

    Mid-level 路 Senior 路 Behavioral Interviews
  • BehavioralMediumBehavioral

    Tell me about a repetitive task you automated.

    Explain the manual problem, why automation was worthwhile, how you implemented it safely and what time or error reduction resulted.

    Mid-level 路 Senior 路 Behavioral Interviews
  • Node.jsHard

    How do you secure a Node.js Express API?

    Validate all input, use parameterised queries, add security headers with helmet, rate-limit requests, restrict CORS, hash passwords, keep secrets in environment variables, and keep dependencies updated and audited.

    Mid-level 路 Senior 路 Security
  • JavaHard

    How does JVM memory management and garbage collection work in Java?

    The JVM divides memory into a per-thread stack, a shared heap (split into young and old generations) and Metaspace; the garbage collector frees heap objects that are no longer reachable, collecting short-lived young objects frequently and old objects less often.

    Mid-level 路 Senior 路 Memory Management