Deviopath

Node.js coding challenges

  1. Is Production? (Easy)
  2. Greet from the Command Line (Easy)
  3. Status Code Class (Easy)
  4. Status Code Text (Easy)
  5. Bytes to Hex (Easy)
  6. UTF-8 Byte Length (Easy)
  7. JSON Response (Easy)
  8. Safe JSON Parse (Easy)
  9. Is It a JSON Request? (Easy)
  10. Dependency Type (Easy)
  11. npm Script Command (Easy)
  12. Should It Log? (Easy)
  13. Format a Log Line (Easy)
  14. Port from Environment (Easy)
  15. Allowed Methods (Easy)
  16. MIME Type from File Name (Easy)
  17. File Extension (Easy)
  18. Bearer Token (Easy)
  19. Text to Base64 (Easy)
  20. Parse the Query String (Easy)
  21. Parse Cookies (Easy)
  22. Build a Query String (Easy)
  23. Base Name of a Path (Easy)
  24. Parse a Version (Easy)
  25. Format Uptime (Easy)
  26. Format File Size (Easy)
  27. Promise Delay (Easy)
  28. Callback to Promise (Easy)
  29. Total File Size (Easy)
  30. Mini Event Emitter (Easy)
  31. Error Handler Middleware (Medium)
  32. Paginate a List Endpoint (Medium)
  33. Validate a Signup Body (Medium)
  34. Serialize a Set-Cookie Header (Medium)
  35. Parse a Basic Auth Header (Medium)
  36. Diff package.json Dependencies (Medium)
  37. Match a Route Pattern (Medium)
  38. path.posix.normalize (Medium)
  39. path.posix.join (Medium)
  40. Decode a JWT (Medium)
  41. Parse a Raw HTTP Request (Medium)
  42. Serialize a Raw HTTP Response (Medium)
  43. Parse Command-Line Arguments (Medium)
  44. Parse a .env File (Medium)
  45. Split a Stream into Lines (Medium)
  46. Count Words with for await (Medium)
  47. Retry with Exponential Backoff (Medium)
  48. Timeout with Cleanup (Medium)
  49. Sequential vs Parallel Tasks (Medium)
  50. Mini Router with 404 and 405 (Medium)
  51. CORS Headers (Medium)
  52. Fixed-Window Rate Limiter (Medium)
  53. TTL Cache (Medium)
  54. Content Negotiation (Medium)
  55. Sort Semantic Versions (Medium)
  56. Caret and Tilde Ranges (Medium)
  57. Node-style EventEmitter (Medium)
  58. Structured Logger with Children (Medium)
  59. Koa-style compose() (Medium)
  60. In-Memory Todo REST API (Medium)
  61. Token Bucket Rate Limiter (Hard)
  62. Signed Cookies with HMAC (Hard)
  63. Sliding Window Log Limiter (Hard)
  64. Client IP Behind Trusted Proxies (Hard)
  65. Retry With Exponential Backoff (Hard)
  66. HTTP Range Requests (Hard)
  67. Worker Thread Pool Scheduler (Hard)
  68. Length-Prefixed Binary Protocol (Hard)
  69. LRU Cache With TTL (Hard)
  70. Load Balancer with Health Checks (Hard)
  71. Circuit Breaker (Hard)
  72. Access Log Statistics (Hard)
  73. Promise Pool With a Concurrency Limit (Hard)
  74. Safe Static File Server (Hard)
  75. util.promisify and util.callbackify (Hard)
  76. JWT Sign and Verify (HS256) (Hard)
  77. NDJSON Stream Parser (Hard)
  78. Chunked Transfer Decoder (Hard)
  79. Async Generator Pipeline (Hard)
  80. Router with Route Priority (Hard)
  81. Writable Stream Backpressure (Hard)
  82. Multipart Form Parser (Hard)
  83. In-Memory fs With Real Error Codes (Hard)
  84. Mustache-Lite Template Engine (Hard)
  85. Background Job Queue With Retries (Hard)
  86. DataLoader Batching (Hard)
  87. Streaming CSV Parser (Hard)
  88. Graceful Shutdown on SIGTERM (Hard)
  89. Simulate the Node.js Event Loop (Hard)
  90. Schema Validator (Hard)
  91. Glob Pattern Matching (Hard)
  92. Incremental HTTP Request Parser (Hard)
  93. Cron Expression: Next Runs (Hard)
  94. Nested Query Parser (qs-style) (Hard)
  95. CommonJS require() Resolution (Hard)
  96. Express-Like Middleware Engine (Hard)
  97. package.json "exports" Resolution (Hard)
  98. In-Memory REST API (Hard)
  99. npm Semver Ranges (Hard)
  100. WebSocket Frame Decoder (Hard)