0% found this document useful (0 votes)
2 views3 pages

Technical Task v2

The document outlines a technical task for junior Python software engineer candidates, consisting of three parts: resume parsing from job websites, sorting candidates by relevance, and developing a Telegram bot for user interactions. Candidates can choose to complete any part of the task, with specific deliverables and requirements for each section. General requirements include using Python 3.x, adhering to OOP principles, and uploading the solution to a GitHub repository.

Uploaded by

lynnyk.first
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views3 pages

Technical Task v2

The document outlines a technical task for junior Python software engineer candidates, consisting of three parts: resume parsing from job websites, sorting candidates by relevance, and developing a Telegram bot for user interactions. Candidates can choose to complete any part of the task, with specific deliverables and requirements for each section. General requirements include using Python 3.x, adhering to OOP principles, and uploading the solution to a GitHub repository.

Uploaded by

lynnyk.first
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Technical Task for Junior Python Software Engineer

Candidates
Description: The task consists of 3 parts, where candidates can stop on any of them.
Objective: Develop a Python solution that allows parsing and sorting of resumes
from popular job websites and interfaces with a Telegram bot for user-friendly
interactions.

Part 1: Resume Parsing


Task Description:
 Parse resumes from the following websites: work.ua and robota.ua.
 The parsing system should have the ability to filter the search based on various
criteria, including but not limited to:
 Job position (e.g., Data Scientist, Web Developer, etc.)
 Years of experience
 Skills or keywords
 Location
 Salary expectation
 Your criterias
Expected Deliverables:
 A Python module/script that, given specific criteria, fetches resumes from the
specified sites.
 A well-defined data structure that holds the parsed resume information.

Part 2: Sort Candidates by Relevance


Task Description:
 Once resumes have been parsed, sort the candidates by their relevance.
 Define a scoring mechanism. For instance:
 Assign scores based on the completeness of a resume.
 Give weightage to certain keywords that match the desired profile.
 Consider any other factors you believe would make one candidate more
suitable than another for a given position.
Expected Deliverables:
 A Python module/script capable of sorting candidates based on the criteria you
define.
 A brief documentation/comment within the code explaining the rationale
behind your scoring mechanism.

Part 3: Telegram Bot Interface


Task Description:
 Develop a Telegram bot that interfaces with the user (typically HR personnel).
 The bot should have capabilities such as:
 Allowing the user to select the job site (either work.ua or robota.ua).
 Letting the user specify the filtering criteria for the desired candidates.
 Retrieving and presenting links to the 5 most relevant resumes based on
the user's request.
Expected Deliverables:
 A working Telegram bot, integrated with the solutions from Part 1 and Part 2.
 Clear instructions on how to set up and run the bot.

General Requirements:
1. The entire project must be developed using Python 3.x.
2. Ensure that your code and solution are uploaded to a GitHub repository. Share
the link to this repository upon completion.
Implementation Tips:
1. Adhere to object-oriented programming (OOP) principles to maintain code
modularity and readability.
2. Design your solution with adaptability and extensibility in mind. For instance,
it should be straightforward to add more job sites in the future or tweak the
scoring mechanism.
3. Think about exception handling. Your code should be robust and handle
potential errors gracefully, such as when a website is down or if unexpected
data formats are encountered.
Bonus Points:
 Enhance user experience or add features you think would be beneficial.
 Make the Telegram bot more interactive, perhaps with inline keyboards or
other advanced functionalities.
 Consider scalability. If your script were to be used on hundreds or thousands of
resumes, how would it perform?
Good luck! We look forward to seeing your creative and efficient solution!

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy