background

Intro

We want to provide some guidelines on how to prepare for our selection process which is similar to internship interviews, but easier.

We are aware that in many schools in Spain don't teach basics of algorithm/data structures, and we want to cover that in here. Take a look at our recommendations.

image

How-to

We recommend you to organize your study around themes. We have provided a checklist of exercises to build a super strong knowledge. Once you feel comfortable with all topics, you should start mixing exercises from each topic up + researching on general tips for coding questions. The questions that we will be asking in the test will be very similar to the ones that you are going to practice with (but you will have a timer ;))

Don't give up in the exercise and keep trying until you pass all tests. If you get stuck, feel free to check the solution in this github repository.

Before jumping off. Something to keep in mind all the time, is how to analyze how good a solution is. One of the things to measure in here is how long it takes your solution to run. Watch this video to get familiar with Big O notation

Themes

Topic 1 → Arrays & Strings

Topic 2 → Lists

Topic 3 → Stacks & Queues

Topic 4 → Hash & Maps

Topic 5 → Sorting Algorithms

Topic 6 → Trees

Topic 7 → Graphs (BFS & DFS)

Topic 8 → Recursion

Alternatives to this Material

HackerRank's 30 days of Code

Find it here. It could be a little bit more basic than this guide at the beginning.

Udacity's Course

Find here their Technical Interview Course. If you are into courses, you might rather do this.

Cracking the Coding Interview

This book is to prepare for the interviews at Google, Facebook, etc. once you are trying to become a full time employee. It is more advanced than our coursework

Frequently Asked Questions

What language should I choose?

Our advice is for you to choose the one that you are most comfortable with

Shall I read a book on algorithms?

Is always good to read these books, but you have to manage your time wisely. I would rather practice timed exercises on pages like HackerRank than reading a book.

Are you going to ask an algorithm such as Knapsack or Traveling salesman? How far should I be studying for?

We will not go very deep on algorithms for our selection process. These could be good as extra for the internship selection process. But I would prioritize other type of exercises, like mastering Searching or Trees before these ones. 

What should I have doubts on what type of problems to practice?

You can always shoot us a message on our Facebook page to solve further doubts.

What is the estimate on study time for each week?

We recommend to spend approximately 9 hours per Topic. The more the merrier :)