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.
All levels 路 All roles 路 All technologies
Every question in one place. Combine filters to narrow the list, or search for a concept, such as closure, JOIN, useEffect or rate limiter.
169 questions
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.
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.
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.
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.
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.
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.
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.
Describe a problem you noticed, why you decided to act, how you coordinated with others, and the impact of taking ownership.
Explain how you identified ambiguity, clarified the important decisions, made reasonable assumptions and kept delivery moving.
Explain how you assessed urgency, impact, dependencies and risk, then communicated the resulting priorities.
Show respectful disagreement, evidence-based reasoning, willingness to listen and commitment after the final decision.
Identify a recurring source of wasted time or risk, make a focused improvement, and demonstrate its impact.
Explain the manual problem, why automation was worthwhile, how you implemented it safely and what time or error reduction resulted.
Show how you adapted your explanation to the audience, focused on the outcome and avoided unnecessary technical jargon.
Show how you noticed a risk early, validated it, communicated it and added a safeguard.
Describe how you understood the stakeholder鈥檚 goals, handled disagreement professionally and reached a workable outcome.
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.
HashMap is not thread-safe, Hashtable is thread-safe by locking the whole map on every method, and ConcurrentHashMap is thread-safe with much finer-grained locking and lock-free reads, so it scales far better.
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.
Explain why you accepted, reduced or paid down technical debt and how you managed the associated risk.