Online test sections and how they are scored
30 min · Beginner
Need help? Ask a tutor on WhatsApp (opens in a new tab)The online test is the first real filter in most drives, and many candidates lose it before the timer even starts: they do not know the sections, how marks are counted or how many seconds each question deserves.
Common sections in a placement test
A section is one timed part of a placement test, with its own questions and often its own timer. Common sections are quantitative, logical, verbal, technical MCQs and coding.
A test is a list of sections, each with a question count and a time. The example below stores one sample pattern in Python and adds up its totals.
Example 1 · A sample test pattern and its totals
sections = ["Quantitative aptitude", "Logical reasoning", "Verbal ability", "Technical MCQs", "Coding"]questions = [20, 20, 20, 15, 2]minutes = [25, 25, 20, 15, 45]
for name, q, m in zip(sections, questions, minutes): print(f"{name:<22} {q:>3} questions {m:>3} min")print(f"{'Total':<22} {sum(questions):>3} questions {sum(minutes):>3} min")Quantitative aptitude 20 questions 25 min Logical reasoning 20 questions 25 min Verbal ability 20 questions 20 min Technical MCQs 15 questions 15 min Coding 2 questions 45 min Total 77 questions 130 min
What this code does
- This is a sample pattern, not any company's real test. It shows the usual shape: four MCQ sections and a coding section with far fewer, longer problems.
- A test of 130 minutes is long. Plan water, a quiet room and your energy, not only your topics.
Most fresher tests mix quantitative aptitude (arithmetic), logical reasoning (patterns and puzzles), verbal ability (grammar and reading), technical MCQs (programming, OS, DBMS, networks) and a coding section of one to three problems. Some add a written email or essay. The mix changes by company, so read the pattern in the drive notice.
This course covers the technical and coding parts of the test. It does not teach quantitative, logical or verbal aptitude, so practise those separately with a good aptitude book or free practice tests.
Adaptive and fixed tests
An adaptive test chooses each next question from your answers so far: a right answer tends to bring a harder question, a wrong one an easier question. In a fixed test everyone gets a set of the same difficulty.
The format decides whether you may skip. The example below is a simplified adaptive model; real platforms use more detailed statistics.
Example 2 · A simplified adaptive test
correct = [True, True, False, True, True, False, False, True]level = 3 # difficulty 1 (easy) to 5 (hard)
for i, ok in enumerate(correct, start=1): print(f"Q{i} at level {level}: {'correct' if ok else 'wrong'}") level = min(5, level + 1) if ok else max(1, level - 1)print(f"Next question would be at level {level}")Q1 at level 3: correct Q2 at level 4: correct Q3 at level 5: wrong Q4 at level 4: correct Q5 at level 5: correct Q6 at level 5: wrong Q7 at level 4: wrong Q8 at level 3: correct Next question would be at level 4
What this code does
- Each right answer moves the difficulty up one level and each wrong answer moves it down, capped between 1 and 5. Because the next question depends on this answer, such tests usually do not let you skip.
- In a real adaptive test, getting harder questions is a good sign: your score depends on the level you reach, not only on how many you got right.
In a fixed test you can usually move back and forth inside a section, so skipping a hard question and returning later is a normal strategy. Adaptive tests often do not let you skip or go back, because each answer decides what comes next.
Raw score, sectional score and percentile
Raw score is your marks for right answers minus any penalty for wrong ones. A sectional score is the same sum for one section only; many companies also set a minimum for each section.
With +1 for right and -0.25 for wrong, 30 right and 8 wrong give 30 - 8 × 0.25 = 28. The examples below compute raw, sectional and percentile scores.
Example 3 · Raw, sectional and total score
sections = ["Section 1", "Section 2", "Section 3"]right = [14, 10, 6]wrong = [4, 2, 2]penalty = 0.25
total = 0for name, r, w in zip(sections, right, wrong): score = r - w * penalty total += score print(f"{name}: {r} right, {w} wrong -> {score}")print("Total raw score:", total)Section 1: 14 right, 4 wrong -> 13.0 Section 2: 10 right, 2 wrong -> 9.5 Section 3: 6 right, 2 wrong -> 5.5 Total raw score: 28.0
What this code does
- Each section is scored on its own first: 14 - 4 × 0.25 = 13.0 for Section 1. The total of 28.0 matches 30 right and 8 wrong overall.
- If this company needs at least 6 marks in every section, the Section 3 score of 5.5 fails the test even though the total looks fine.
Example 4 · Percentile in a batch of 20
batch = [12, 15, 18, 19, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27, 28, 29, 31, 33, 35, 38]mine = 28
below = sum(1 for score in batch if score < mine)percentile = 100 * below / len(batch)print(f"Scores below mine: {below} of {len(batch)}")print("Percentile:", percentile)Scores below mine: 14 of 20 Percentile: 70.0
What this code does
- The batch includes my own score of 28. Fourteen students scored lower, so I am at the 70th percentile with this definition.
- A raw score of 28 out of 50 looks average, but the percentile shows it beats most of this batch. Shortlists often use this comparison.
A percentile compares you with everyone else. One common definition is the percentage of test-takers who scored below you: a 70th percentile means 70% scored lower.
Platforms differ in the exact formula, and many shortlist by percentile or rank, not raw marks.
Seconds per question: the time budget
A time budget is the seconds you can spend on each question: section time divided by question count. Twenty questions in 25 minutes gives 25 × 60 / 20 = 75 seconds each.
Work the budget out for every section before the test, so you know when a question is taking too long. The example below prints the budget for each section of a sample pattern.
Example 5 · Seconds per question for each section
sections = ["Section 1", "Section 2", "Section 3", "Section 4"]questions = [20, 20, 20, 15]minutes = [25, 25, 20, 15]
for name, q, m in zip(sections, questions, minutes): per_question = m * 60 / q with_buffer = m * 60 * 0.9 / q print(f"{name:<9} {per_question:5.1f} s each, {with_buffer:5.1f} s with a 10% buffer")Section 1 75.0 s each, 67.5 s with a 10% buffer Section 2 75.0 s each, 67.5 s with a 10% buffer Section 3 60.0 s each, 54.0 s with a 10% buffer Section 4 60.0 s each, 54.0 s with a 10% buffer
What this code does
- Multiply minutes by 60 first, then divide by the question count. In Python
/always keeps the decimals;//would drop them. - The buffer column is the number to practise with: about one minute per MCQ is a common budget in fresher tests.
Keep a small buffer, often about 10% of the section, for marked questions and a last look. With a 10% buffer the same section leaves 67.5 seconds per question.
Reading the instructions screen
The question palette is the grid of question numbers at the side of the test screen. It shows each question's status: not visited, not answered, answered, marked for review, or answered and marked.
Before the timer starts, the instructions screen explains the rules. Read how you move between questions, whether sections lock once you leave them, and what the palette colours mean.
Example 6 · Summarising the question palette
# A = answered, N = visited but not answered, M = marked (no answer),# B = answered and marked, V = not visitedpalette = "AAANMAABAAVNAAMBAAAV"counts = {c: palette.count(c) for c in "ANMBV"}revisit = [str(i) for i, c in enumerate(palette, start=1) if c in "NMV"]
print(f"Answered: {counts['A']}, answered and marked: {counts['B']}")print(f"Not answered: {counts['N']}, marked: {counts['M']}, not visited: {counts['V']}")print("Go back to:", " ".join(revisit))Answered: 12, answered and marked: 2 Not answered: 2, marked: 2, not visited: 2 Go back to: 4 5 11 12 15 20
What this code does
- Fourteen questions have an answer (12 plain plus 2 also marked). Six have none, and the program lists them so you know where to spend the remaining minutes.
- Questions 11 and 20 were never opened. An unopened question may be the easiest one in the section, so open every question at least once.
On many platforms an answer that is also marked for review is still evaluated, but some treat it differently, so check the instructions screen every time.
Next step
Check your understanding
12 quick questions