Python Online Test
For Jobseekers
Practice your skills and earn a certificate of achievement when you score in the top 25%.
Take a Practice TestFor Companies
Test candidates with real-world problems and interview the best ones.
Sign Up to Offer this TestAbout the test
The Python online test assesses knowledge of programming in the Python language and commonly used parts of the Python Standard Library. This test requires solving live coding problems in Python.
The assessment includes work-sample tasks such as:
- Working with Python collections and language constructs.
- Using proper algorithms and data structures to optimize application performance.
- Serializing to/from JSON to handle web requests.
A good Python developer needs a solid understanding of the Python programming language and knowledge of its data structures and language constructs to write robust and maintainable code.
Sample public questions
Your company is analyzing malware which targets numerical record files.
The malware uses a sliding window over the array of numbers in a file, and tries to match the following pattern:
T, -, -, X, -, -, -, T
Where the position ‘X' is compared to each position 'T'. The window is moved so 'X’ passes through all the values.
The malware has the following rules:
- If any of the ‘T' positions in the pattern are bigger or equal to 'X’ the malware replaces 'X' with 0.
- If the 'X' position in the pattern is near the left or right border and is missing a 'T' position neighbor, only the other side is considered.
- The malware finds all the positions first and only then sets them to 0.
For example, if the values in a record file are the following:
[1, 2, 0, 5, 0, 2, 4, 3, 3, 3]
The expected values after the malware runs are:
[1, 0, 0, 5, 0, 0, 0, 3, 3, 0]
In this example, number 4 was set to 0 because 5 is the bigger number.
Implement the simulate function so that the malware behavior is replicated for further study.
A user interface contains two types of user input controls: TextInput, which accepts all characters and NumericInput, which accepts only digits.
Implement the class TextInput that contains:
- Method add(self, character) - adds the given character to the current value
- Method get_value(self) - returns the current value
Implement the class NumericInput that:
- Inherits TextInput
- Overrides the add method so that each non-numeric character is ignored
For example, the following code should output "10":
input = NumericInput()
input.add("1")
input.add("a")
input.add("0")
print(input.get_value())
For jobseekers: get certified
Earn a free certificate by achieving top 25% on the Python test with public questions.
Take a Certification TestSample silver certificate
Sunshine Caprio
Java and SQL TestDomeCertificate
For companies: premium questions
Buy TestDome to access premium questions that can't be practiced.
Get money back if you find any premium question answered online.
55 more premium Python questions
Category Tree, Greeter, Tuple Slice, Kilometer Converter, Count Hobbies, Chain Link, Unique Numbers, Moving Total, Max Sum, Reward Points, Flight Connections, Internal Nodes, Is Alpha, Hobbies, Medical Record, Read First Line, Shipping, Book Authors, Crop Ratio, Username, Friend, Log Parser, Random Playlist, File Format, Special Actions, Cargo Ship, Log Patch, Veterinarian, Document Store, Paper Strip, Car Rental, Chinese Box, Segment, Language Teacher, Numbers To Text, Read Write Execute, Action Stack, Ceramic Store, String Occurrence, Stories, Node, XML Navigation, Driver Exam, Paragraph, Procedural Generator, Worker, Flimsy Ladder, Construction Game, Calories Burned, Chemical Machine, Circuit Simulator, Vectors, Products, Date Transform, Book Sale.
Skills and topics tested
- Python
- Dictionary
- Exceptions
- Language
- Strings
- Tuples
- Inheritance
- Method Overriding
- OOP
- Conditional Statements
- Linked List
- Algorithmic Thinking
- Set
- Graphs
- Lists
- Tree
- List Comprehension
- Iteration
- Named Tuple
- Arithmetic
- Performance Tuning
- Bug Fixing
- Integer Division
- Regex
- Serialization
- XML
- Closures
- Multithreading
- Monkey Patching
- Queue
- Sorting
- Data Structures
- Stack
- Stream
- Dynamic Programming
- Recursion
- Dynamic Objects
- Random
- Memory Management
- Conditions
- JSON
For job roles
- Back-End Developer
- Python Developer
- Web Developer
Sample candidate report
What others say
Simple, straight-forward technical testing
TestDome is simple, provides a reasonable (though not extensive) battery of tests to choose from, and doesn't take the candidate an inordinate amount of time. It also simulates working pressure with the time limits.
Jan Opperman, Grindrod Bank
Product reviews
Used by
Solve all your skill testing needs
150+ Pre-made tests
From web development and database administration to project management and customer support. See all pre-made tests.
90+ skills
From JavaScript and SQL to English and customer support. See all questions to filter by skill.
Multi-skills Test
Mix questions for different skills or even custom questions in one test. See an example.
How TestDome works
Choose a pre-made test
or create a custom test
Invite candidates via
email, URL, or your ATS
Candidates take
a test remotely
Sort candidates and
get individual reports