Turning Learners Into Developers
Codekilla
CODEKILLA
// coding.practice

Practice. Ship. Repeat.

Hand-picked problems across 6 languages — banking, e-commerce, analytics, system design. Run them right in your browser; ask AI when stuck.

63 problems
37f5a1a8-0d9b-4432-81e0-f1773c9f0692easy

Hello, World!

Write a program that prints exactly: Hello, World!

basics
fb3acd90-6b1c-49c5-b07e-3cb667d79badeasy

Sum of Two Numbers

Write a function `sum(a, b)` that returns the sum of a and b. Call sum(2, 3) and log the result.

mathfunctions
c9c6fd79-5be0-4d04-8e7c-572e46942985easy

FizzBuzz 1–15

Print numbers 1 to 15. Replace multiples of 3 with 'Fizz', multiples of 5 with 'Buzz', and multiples of both with 'FizzBuzz'.

loopsconditionals
92898954-4116-4ce4-b043-0e8f9fdf24deeasy

Reverse a String

Write a function reverse(s) that returns the reverse of a string. Log reverse('codekilla').

strings
88466489-260c-4e0d-b3fe-eefd2f78bd8amedium

Factorial

Write a function factorial(n) that returns n! using recursion. Log factorial(5).

recursionmath
91801010-cbb9-44ad-94e9-e245cee1c726medium

Is Palindrome?

Write isPalindrome(s) that returns true if s reads the same backwards. Log isPalindrome('level') and isPalindrome('hello').

stringsconditionals
527c58ca-66ac-43ea-b88c-7b5a47d7ed54medium

Fibonacci Sequence

Print the first 10 Fibonacci numbers (0, 1, 1, 2, 3, 5, 8, 13, 21, 34).

recursionloops
a27c982e-30dd-4666-80d5-8d4b8e60b7c0easy

Find Maximum in Array

Given an array [3, 7, 2, 9, 5], find and print the maximum value without using Math.max.

arrays
PY-001Easy

Two Sum (Banking)

You're auditing a set of transaction amounts and need to find two transactions that together reconcile to exactly `target`. Return the 0-based indices of the two transactions. Exactly one solution exists.

pythonhash-maparraysbasics
PY-002Easy

Reverse a String

Reverse a given string without using Python's built-in slice `[::-1]` — demonstrate the two-pointer technique.

pythonstringstwo-pointersbasics
PY-003Medium

Group E-Commerce Orders by Customer

You're given `n` order lines from an online store. Each line has a customer ID and an amount. Compute the total revenue per customer and print customers in ascending order of ID.

pythonhash-mapsortingaggregation
PY-004Medium

Longest Substring Without Repeating

Given a string, return the length of the longest substring with all distinct characters. Classic sliding-window problem.

pythonsliding-windowstringshash-map
PY-005Hard

Build an LRU Cache

Implement an LRU (Least Recently Used) cache with O(1) `get` and `put`. Used by every web browser, CDN, and database query planner.

pythonhash-maplinked-listdesignoop
JS-001Easy

FizzBuzz (Marketing Dashboard)

Print 1..n. Replace multiples of 3 with 'Fizz', multiples of 5 with 'Buzz', both with 'FizzBuzz'.

javascriptloopsconditionalsbasics
JS-002Medium

Implement Debounce

Write `debounce(fn, ms)` that returns a function which, when called repeatedly, will fire `fn` only once `ms` milliseconds have passed since the last call. This is the pattern behind 'search-as-you-type' that doesn't hammer the server.

javascriptclosurestimersfunctionaldesign
JS-003Medium

Flatten Nested Array to Depth N

Implement `flat(arr, depth)` without using the built-in `Array.prototype.flat`.

javascriptrecursionarraysfunctional
JS-004Hard

Implement Promise.all

Write `myAll(promises)` that returns a promise resolving to the array of results in input order, OR rejects with the first rejection. Without using Promise.all.

javascriptpromisesasyncdesign
JS-005Hard

Build an EventEmitter

Implement a Node-style EventEmitter with `on`, `off`, `emit`, and `once`. Foundation of every pub/sub system.

javascriptdesignoopclosuresobserver
JAVA-001Easy

Max Subarray Sum (Stock Analytics)

Given daily profit/loss numbers for a stock, find the maximum total profit over any contiguous window of days (Kadane's algorithm — a trading interview classic).

javadparrayskadane
JAVA-002Medium

Group Anagrams

Given a list of words, group them into anagram families. Any ordering is acceptable.

javahash-mapstringssorting
JAVA-003Medium

Valid Parentheses

Given a string of brackets `()[]{}`, return `true` if every opener has a matching closer in the correct order.

javastackstringsdesign
JAVA-004Hard

Coin Change (Minimum Coins)

Given coin denominations and an amount, return the fewest coins needed, or -1 if impossible.

javadpgreedy-failunbounded-knapsack
JAVA-005Hard

Serialize a Binary Tree

Serialize a binary tree to a string and deserialize it back. A classic system-design interview question — how would you transmit a tree over a network? Use level-order with `null` sentinels.

javatreebfsdesignserialization
C-001Easy

Sum of an Array (Inventory)

You run a small shop. Given N daily sales figures, compute the total revenue for the week.

carraysloopsbasics
Page 1 / 3