APIs & Platforms
30 guides
Designing APIs that survive retries and versioning, and choosing the right platform for the job.
REST API designREST API design is the discipline of exposing resources, representations, and state transitions through a contract that clients can evolve against.API design3 min readIdempotent HTTP methodsAn HTTP method is idempotent when repeating the same request has the same intended server effect as sending it once, even though responses may differ.API design3 min readAPI versioningAPI versioning is a compatibility strategy for changing a contract while existing clients continue to function against the guarantees they adopted.API design3 min readPagination API designPagination API design controls how a client traverses a changing collection without duplicates, missing records, or unbounded database work.API design3 min readAPI rate limitingAPI rate limiting bounds request or resource consumption over time so one caller cannot exhaust a shared service budget.API design3 min readHTTP status code designHTTP status code design maps an operation’s outcome to a stable protocol signal that clients, operators, and intermediaries can act on.API design3 min readWebhook designWebhook design delivers state changes to another system over an unreliable boundary, so authenticity, retries, ordering, and duplicate effects must be part of the contract.API design3 min readAPI error handlingAPI error handling turns validation, domain rejection, conflicts, and infrastructure failures into stable signals without leaking implementation details.API design3 min readOptimistic concurrency with ETagsOptimistic concurrency with ETags prevents a client from overwriting a newer representation by requiring its update to match the version it read.API design3 min readGraphQL vs RESTGraphQL and REST make different trade-offs in contract shape, client flexibility, caching, authorisation, and operational control; neither is a universal replacement for the other.API design3 min readBulk endpoint designBulk endpoint design handles many logical operations while preserving bounded work, useful result reporting, and safe retry semantics for each item.API design3 min readAPI authentication and authorizationAPI authentication establishes who or what is calling, while authorization decides whether that identity may perform this operation on this resource in this context.API design3 min readREST vs gRPCREST is the safer public default; gRPC is a strong internal choice for typed, streaming service calls. Compare compatibility, tooling, latency, and failure handling.API design3 min readJWT authentication vs Session authenticationServer sessions are the safer browser default; JWTs fit distributed consumers when stateless verification and explicit revocation limits are acceptable.API design3 min readOAuth vs API keyAPI keys suit simple server integrations; OAuth is the right default for delegated user access, scoped permissions, and token rotation.API design3 min readPolling vs WebhooksPolling is simplest and resilient to inbound restrictions; webhooks deliver changes efficiently when the receiver can expose a secure endpoint and handle retries.API design3 min readWebSockets vs Server-sent eventsSSE is the simpler one-way browser stream; WebSockets fit bidirectional low-latency interaction. Compare reconnects, proxies, and operational failure modes.API design3 min readLong polling vs WebSocketsLong polling fits simple notification delivery through HTTP; WebSockets fit sustained bidirectional traffic. Compare proxies, reconnects, and server resource use.API design3 min readLeetCode vs Repository-based machine coding practiceLeetCode is excellent for algorithm fluency; repository-based practice is a better fit for implementing and debugging backend services. Choose by the interview skill you need.Platforms3 min readVideo and prompt libraries vs Repository-based practice platformsCompare prompt libraries with runnable repository practice for backend machine coding. The best platform is the one that gives executable feedback on the skill you need.Platforms3 min readGronex vs LeetCodeGronex focuses on broken backend repositories and machine coding; LeetCode focuses on algorithmic problems. Compare the practice loop before choosing.Platforms3 min readGronex vs InterviewBitInterviewBit is strong for structured algorithm and interview courses; Gronex focuses on runnable backend repositories. Choose based on the round you are preparing for.Platforms3 min readGronex vs HackerRankHackerRank provides broad timed coding assessments; Gronex provides repository-based backend failures. Compare the feedback loop to the interview you expect.Platforms3 min readGronex vs EducativeEducative offers structured interactive courses; Gronex offers runnable backend repositories. Compare guided learning with executable debugging practice.Platforms3 min readGronex repository practice vs System design coursesSystem design courses teach architecture reasoning; Gronex exercises implementation and debugging in backend repositories. Use each for the interview stage it matches.Platforms3 min readMachine coding interviews vs DSA interviewsMachine coding evaluates working service design and implementation; DSA evaluates algorithmic problem solving. Compare the format before choosing practice.Platforms3 min readLLD interviews vs HLD interviewsLLD interviews test interfaces, state, and implementation detail; HLD interviews test scale, topology, and trade-offs. Prepare for the evidence each format requires.Platforms3 min readMachine coding interview vs Take-home assignmentMachine coding tests scoped implementation under observation; take-home assignments test a fuller engineering loop. Compare time, feedback, and what quality means.Platforms3 min readRepository-based interviews vs Whiteboard interviewsRepository interviews expose code navigation and executable behaviour; whiteboards expose reasoning and communication. Prepare for the evidence each format produces.Platforms3 min readRepository-based LLD practice vs Diagram and prompt practiceUse diagrams and prompts to learn modelling, then repositories to practise interfaces, state, and tests. Compare LLD practice formats by the evidence they produce.Platforms3 min read