1
Hatchling0 / 300 XP
0day streak 0stars
Your Python practice
Mock tests Readiness
More
Guest mode · saved on this device.

Test day and free practice

What CodeSignal publishes about the day itself:

  • Web search is allowed for syntax only. AI is not allowed, even for syntax.
  • You code in its IDE, which has autocomplete. Outside IDEs are not allowed.
  • The test is proctored: camera, microphone, screen and a photo of your ID, with human review. The timer starts after setup, so you don't need to rush through it.
  • Retakes are limited by a cooldown: 1 to 3 attempts per rolling 180 days, and you need a new invitation.

Before the day, try CodeSignal's own free practice, which has one question per type:

https://app.codesignal.com/assessments/practice

Constrictor is not affiliated with CodeSignal, and our questions are our own. Rules can change, so check its help center and your invitation too.

In the visual, watch done count the setup checks. The timer only starts after the last one.

See it run

checks = ["camera", "microphone", "screen", "ID photo"]
done = 0
for item in checks:
    done += 1
print("Timer starts after", done, "checks")

The published setup steps, as a list. Setup does not use up your test time.

Practice test day and free practice

Exercise 1

needed lists the setup steps for a test and done lists the ones you have finished, in any order.

Return a list of the steps still to do, in the same order as needed.

Rules:

  • done may contain steps that are not in needed; ignore those.
  • If nothing is left, return [].

Constraints: 0 ≤ len(needed), len(done) ≤ 100. Steps in needed are all different.

Example: solution(["camera", "microphone", "screen"], ["screen"]) returns ["camera", "microphone"].

Exercise 2

This exercise uses a simplified retake rule. Days are whole numbers. attempts lists the days you sat a test, and an attempt still counts against you while it is fewer than 180 days old (today - day < 180).

Return True if you may sit another attempt today, which means the number of attempts that count is below limit. Otherwise return False.

Rules:

  • An attempt exactly 180 days old no longer counts.
  • Empty attempts gives True.

Constraints: 0 ≤ len(attempts) ≤ 100; 0 ≤ attempts[i] ≤ today ≤ 10^5; 1 ≤ limit ≤ 3.

Example: solution([10, 100], 200, 2) returns True: the attempt on day 10 is 190 days old, so only one counts.

Exercise 3

log lists your practice runs as [pattern, minutes] pairs, and target is your goal in minutes. A pattern's best time is its lowest number of minutes.

Return a list of the patterns whose best time is above target, sorted alphabetically.

Rules:

  • A best time equal to target meets the goal.
  • A pattern appears at most once in the answer.
  • Empty log gives [].

Constraints: 0 ≤ len(log) ≤ 1000; patterns are non-empty lowercase strings; 1 ≤ minutes, target ≤ 300.

Example: solution([["grids", 14], ["hashing", 9], ["grids", 12]], 10) returns ["grids"].

The explanation and tasks are public. Running this lesson requires an account with course access.

Practice

Loading Python…
More
Loading exercise content…
Visualizer Watch your code run line by line

Run your code, then choose Play to follow its execution.

Memory · names → values
Variables appear here as Python creates them.
Output & plots

One-line daily quest