The free placement readiness test
10 questions in one subject — DSA, SQL, aptitude, OOP or DBMS — easy to hard, about fifteen minutes. You get a readiness score out of 100 with its arithmetic printed underneath, every topic you were tested on marked weak, developing or stable, the primary gap named, and a practice set sized for today. Free, no card, and you can try three questions before creating an account.
What you get in fifteen minutes
This is a real diagnosis from a test account that sat the SQL diagnostic — the name has been left off, the numbers are as they came out. Seven multiple-choice questions scored, three short answers self-marked and shown beside the score, a primary gap, three root causes, and today’s fix.

- The score, with its working. Multiple-choice questions only, weighted easy 1 · medium 2 · hard 3; short answers you mark yourself are counted alongside, never inside. How the score works.
- The primary gap and its root causes. Every tested topic ranked, weakest first, with the evidence behind each.
- Today’s fix. A practice set sized around the gap. On free you practise any topic from the map, 15 problems a day; paid serves the set and sequences the days.
- A readiness map — one cell per topic across all 5 subjects — that fills in as you assess and practise, and a retake that rotates to what the last sitting could not test.
One question, exactly as the diagnostic asks it
From the SQL bank — 60 questions across the subject, 338 in all. In a sitting you choose first, then see why each option is right or wrong; here the answer is marked because this one is public.
Table Departments(dept_id, dept_name). Table Employees(emp_id, name, dept_id). Which query returns all departments, including those that currently have no employees?
- 1SELECT * FROM Departments RIGHT JOIN Employees ON Departments.dept_id = Employees.dept_id;
- 2SELECT * FROM Departments LEFT JOIN Employees ON Departments.dept_id = Employees.dept_id;correct
- 3SELECT * FROM Departments INNER JOIN Employees ON Departments.dept_id = Employees.dept_id;
- 4SELECT * FROM Departments, Employees WHERE Departments.dept_id = Employees.dept_id;
A LEFT JOIN keeps every row from the left (first-listed) table even when there's no matching row on the right, filling the right-hand columns with NULL. Here Departments is listed first, so every department survives, including those with no employees. INNER JOIN and the equivalent comma-style join with a WHERE condition both drop departments without any employees, since a match is required on both sides. The RIGHT JOIN query keeps every row of the right-hand table, Employees, and only the departments that match one, so it too drops any department that has no employees -- the exact opposite of what's needed.
What it is, and what it isn’t
- A measurement of 10 questions in one sitting, not a prophecy. The useful number is the trend across sittings and the topics it names.
- Five subjects: DSA, SQL, Aptitude, OOP, DBMS. Not verbal ability, not live coding rounds, not HR interviews.
- A preparation tool. December Code does not recruit, place, or guarantee employment, interviews or offers, and no company sees your scores.
Free and paid, plainly
Free never expires: 1 diagnostic a month and 15 problems a day, every subject, every explanation, no card. Paid — ₹299 / month or ₹2,499 / year — removes the caps and adds unlimited retakes, the personalised roadmap and timed mock tests. Pricing.
Start
Fifteen minutes from now: a figure, a gap, a fix.
Pick a subject. Three questions need no account; the full diagnostic needs one so the diagnosis can be kept and retaken.