FazendaTech - Programming Challenge

This repo contains the full instructions you should follow to complete the challenge.

Please read them carefully and follow them as closely as possible, though you may take some creative liberties if you wish (that's what makes a great software engineer!).

Preparation

This is a "take-home" challenge, so you can complete it at your own pace. We expect you to spend 2 to 3 hours on it, but you can take as long as you need.

Important

Your solution should be submitted as a fork of this repository, on your own GitHub account (or on any other Git provider you use).

You're free to use any resources you want (ask a friend, Google, ChatGPT, ...), but we highly encourage you to try solving each problem on your own first.

Your solutions to the challenge will be the subject of a technical discussion, so be ready to explain your choices (no trick questions, I promise!). We also encourage you write down a few notes to help you out during the discussion.

Note

The technical discussion will be in Portuguese, but we encourage any comments and notes you make to be in English.

With that said, let's get started!

The Challenge

The challenge consists of 4 sections:

  1. Programming tools
  2. Algorithms and Time Complexity
  3. React
  4. Generative AI

They are presented in no particular order, so feel free to start with the one you feel most comfortable with.

Warning

The interview will consist of a discussion about all 4 sections, so even if you're unable to complete all of them, you're still expected to talk about your thought process. So try your best!

When you're ready, pick one of the sections above and follow the instructions in the corresponding folder.

Hint!

Some problems may be a little difficult, and that's okay! We've included a few hints throughout the challenge. If you're stuck, they might help you get back on track.

Since these are plainly visible in the README source, we recommend following the challenge through the rendered version on GitHub (if you're not already).