Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/andresfernandez89/challenge-pigma

Trainee Technical Exam
https://github.com/andresfernandez89/challenge-pigma

javascript jest nodejs typescript

Last synced: 8 days ago
JSON representation

Trainee Technical Exam

Awesome Lists containing this project

README

        

# TECHNICAL CHALLENGE

Trainee Technical Exam

## Intruccions

Dada la siguiente problemática:

¿puede un número X formarse usando la suma de 2 elementos de un array?

Ejemplo 1
Input: nums = [1,4,3,9], requiredSum = 8
Output: False

Ejemplo 2
Input: nums = [1,2,4,4], requiredSum = 8
Output: True

Desarrolle (en pseudo código o su lenguaje de preferencia):
1. Un algoritmo que resuelva el problema asumiendo que la máquina en donde va a correrse el
programa tiene recursos infinitos, que el tiempo de ejecución no importa y que lo más
importante es realizar el desarrollo en el menor tiempo posible.

2. Un algoritmo que resuelva el problema asumiendo que los recursos son un bien preciado,
que el tiempo de ejecución si importa y que el tiempo de desarrollo no es importante.

Ante cualquier duda o ambigüedad en el enunciado, es libre de hacer todas las suposiciones
necesarias, siempre y cuando las especifique.

Objetivos del ejercicio:

Estamos interesados en analizar tus habilidades de programación, estilo y lógica. Todo comentario
introducido en el código será bienvenido.
El ejercicio podrá ser codificado en cualquier lenguaje de programación y con cualquier herramienta.

## Tech Stack

Programming language:
- TypeScript ^5.3.3.
- Node 20.10.0
- NPM 10.2.5

Tools:
- Prettier 3.1.1
- Jest ^29.7.0

## Run Locally

Clone the project

```bash
git clone https://github.com/andresfernandez89/challenge-pigmalion.git
```

Go to the project directory

```bash
cd my-project
```

Install dependencies

```bash
npm install
```

Start the server

```bash
npm run start
```

Start the all tests

```bash
npm run test
```

Measure memory usage

```bash
npm run performance-memoryUsage
```

Measure execution time

```bash
npm run performance-executionTime
```