This is a repository containing the solutions to different challenges, time by time approached in my free time.
- Andela: some basic PHP tasks working with files and mathematical functions.
- Aptus.ai: a Typescript function able to return the "leaders" in an array, i.e. the elements that are greater than all the elements to their right.
- Boolean to String: a very basic challenge in Node.js aiming to mplement a function which will convert the given boolean value into its string representation.
- Canonical Vanilla-Framework: a frontend task in Vanilla Javascript submitted for Canonical.
- Change directory: the test is proposed on TestDome, asking to write a function that provides change directory (cd) function for an abstract file system.
- Count Vowels: implementation in Typescript of a solution to the following problem. Write a function that returns the number (count) of vowels in a given string. Letters considered as vowels are: a, i, e, o, and u. The function should be able to take all types of characters as input, including lower case letters, upper case letters, symbols, and numbers.
- Describe Function: implementing a Typescript function, calcType, taking two numbers and an unknown operation result. Return the corresponding operation string (+, -, *, /).
- Deliveristo: the objective of the test is to reproduce a simple ecommerce operating in the restaurant industry. Technologies used: Apollo Server V4, GraphQL, Prisma, SQLite as the data source for Prisma, Typescript (lib and target es2021), Eslint, JWT authentication
- Diamond Shape string: implementing a function in Typescript able to return a string that displays a diamond shape on the screen using asterisk (“*”) characters.
- HackerRank - Arrays: solutions, in Python or Typescript, about some problems related to Arrays.
- Klarna (Preliminary): Node.Js methods implementing two algorithms: the former, able to calculate the balance in each requested category within the specified time period, the latter, aiming to find similar transactions and categorize them if possible.
- Klarna (Frontend): adjusting Facewall, a bugged application written in ReactJs.
- Klarna (Backend): a simple service in Node.js for making credit decisions based on purchase amount and total outstanding debt.
- Loneliest number: implementing the Loneliest number problem in Typescript. Each digit's range of vision is its own value, and the loneliness is the sum of visible digits. The function identifies the loneliest number in the given non-negative integer.
- Longest Word: implementation in Typescript of the test able to find the longest word in a string, where a word can be composed by letters and/or numbers.
- Matrix: implementation of a class, in PHP and Typescript, able to manage matrices.
- Next Palindromic Number: implementation in Typescript of the test able to find the next palindromic number, given a positive integer For example: if num is 24, then your program should return 33 because that is the next largest number that is a palindrome.
- Obfuscate Phone Number: this is a solution in Typescript to the following problem. write a function that encrypts phone numbers. The method should hide the last six digits of each phone number.
- Percentage of the zone covered by shoppers: implementation in PHP of a code aiming to calculate the percentage of the zone covered by enabled shoppers.
- Pizza Rewards: a Node.js function for a pizzeria's rewards system. Return a set of eligible customers based on orders and order value criteria.
- Polish Notation Calculator - Canonical DevSkiller
- Pooled Download: the goal was to write an asynchronous function pooledDownload. This function needs to be able to download (with parallel executors) and save files from a given array of URLs, using a connection pool of a given size.
- Prime number: a PHP function implementing the evaluation of prime numbers.
- Rank players: a ranking system where we can sort points and calculate the position of an individual or a team competing in a game/competition.
- Register.it: this is the PHP code prepared by myself for the code challenge proposed by Register.it during their selection process. Given a log registering HTTP requests to a server, extract and describe the successful ones.
- Simple Website Builder: given a broken React.js / Redux web app, solve the bugs.
- Stock List: a bookseller has lots of books classified in 26 categories labeled A, B, ... Z. Each book has a code c of 3, 4, 5 or more capital letters. The 1st letter of code is the capital letter of the book category. In the bookseller's stocklist, each code c is followed by a space and by a positive integer n (int n >= 0) which indicates the quantity of books of this code in stock. The code is implemented in Node.Js with Typescript.
- TheFork: this is the NodeJS code prepared by myself for the code challenge proposed by TheFork during their selection process. The goal is the creation of a GraphQL API in Node.js.
- Userbot: a Node.Js API endpoint, written in Express.Js, implementing a Bot able to analyze the number of words, letters, spaces, word occurrences and repeated words starting from the path of a file.
- WeRoad: the frontend (VueJs 3) and the backend (Typescript, Node.js, GraphQL, TypeORM, Nest.js, API endpoints exposed behind a Role-ACL based Guard) of a WebApp for WeRoad selection process. The used database is a PostgreSQL one, with separated Docker containers for the frontend and the backend (mimicking a microservice based infrastructure).
- WoV full stack interview: a number of backend and frontend challenges, involving Node.js and React.JS (Typescript), Nest.Js and GraphQL with the goal of data analysis and exposure of an API endpoint triggering, with GraphQL, a SQLite database.
- Xtream.ai: Jupyter Notebooks and Python code for data analysis, machine learning, implementation of a training pipeline and exposure of an API endpoint. The goal of classifying the probability of employee churn in a company. The dataset is included within the repository. Moreover, a pipeline for training ML models is provided and an API endpoint for the prediction of the churn probability is implemented and exposed.