1

Step 1

Algorithms Overview - Week 1 - Union Find & Time and Space Complexity

10 June—20 June

2

Step 2

Algorithms Overview - Week 1.5 Repeat Union Find

21 June—27 June

3

Step 3

Algorithms Overview - Week 2 - Stack, Queues, Basic Sorting

28 June—04 July

4

Step 4

Algorithms Overview - Week 3 - Merge, Quick sort

05 July—11 July

5

Step 5

Algorithms Overview - Week 3.5 - Refresher for Sorting Algorithms

12 July—18 July

6

Step 6

Algorithms Overview - Week 4 - Priority Queues and Elementary Symbol Tables

19 July—22 July

1

Step 1

Algorithms Overview - Week 1 - Union Find & Time and Space Complexity

10 June—20 June

2

Step 2

Algorithms Overview - Week 1.5 Repeat Union Find

21 June—27 June

3

Step 3

Algorithms Overview - Week 2 - Stack, Queues, Basic Sorting

28 June—04 July

4

Step 4

Algorithms Overview - Week 3 - Merge, Quick sort

05 July—11 July

5

Step 5

Algorithms Overview - Week 3.5 - Refresher for Sorting Algorithms

12 July—18 July

6

Step 6

Algorithms Overview - Week 4 - Priority Queues and Elementary Symbol Tables

19 July—22 July

09 June 2021 22 July 2021
The goal is overdue by 1220 days

Goal abandoned

The author does not write in the goal 3 years 4 months 4 days

Career & Work

Prepare for FAANG Interview

Disclaimer

This goal is a clone of Evgenii Ray' achieved goal.

The reason behind this goal

I want to grow as a specialist in my sphere and live in a country where I will be socially secured and can rely upon laws which the country has. An opportunity to work in an International company should give me the motivation to explore new things and grow in different areas of IT. To be a successful software developer is to has the ability to do something valuable. Get a job in the international companies which are the top ones in their industry and can give the most relevant experience.

The location where I want to live:

I've decided to move to Canada, Vancouver. I like this city because it has many things that I love.

  1. Ecology - close to mountains, lakes, fresh air, and the ocean.
  2. Much better social programs in comparison to the USA
  3. No Guns :)
  4. IT sector is quite developed, and many famous companies have their branch offices in Canada
  5. English language - several times I thought about Germany as a relocation country, but I realized that when you move to a new country, you want to be a part of society. This obliges you to learn German inevitably, which I am not ready to invest my time in.
  6. Close to the USA

Why making this goal public

"Life is for sharing" (c)
As one of the many developers who want to move to another country, I feel the lack of descriptive stories of how people get a job in the FAANG level companies. I hope this "diary" will help me in structuring my preparation process and, in the end, will serve as a plan for people who also want to choose such a path.

Companies I'd like to go for:

  • Amazon ( AWS )
  • Facebook
  • Apple
  • Microsoft

Author background:

  • MS Degree in CS
  • 5 years of experience in software development (mostly Back-End)
  • Successfully accomplished several big projects well-known companies
  • Location: Saint-Petersburg

Target Role: Back-End Engineer

 Goal Accomplishment Criteria

All parts of preparation are done

  1. Algorithms Overview - Week 1 - Union Find & Time and Space Complexity

    Algorithms, Part I - Standford University - Coursera

    1. Union Find - Quick Union Approach - Coursera
    2. Union Find - Quick Find Approach - Coursera
    3. Union Find - Path Compression - Coursera
    4. Union find videos by Google Engineer
    5. Programming Assignment - Coursera
    6. Analysis of Algorithm - Coursera
    7. 1-16 videos by Abdul Bari
  2. Algorithms Overview - Week 1.5 Repeat Union Find

    It's impossible to keep in the head all the material that you've learned. So, you have to make refreshers regularly. The best way to remember is by applying your knowledge on a practical problem. For that, let's do a problem from LeetCode on Union Find Topic

    The task for a step:

    1. Refresh Last Week
    2. Regions Cut by slashes - https://leetcode.com/problems/regions-cut-by-slashes/
    3. Refactor - Regions Cut by slashes
    4. Upload Solution on GitHub and share in on leet code
    5. Number of Provinces - https://leetcode.com/problems/number-of-provinces/
    6. Redundant Connection - https://leetcode.com/problems/redundant-connection/
    7. Most Stones removed with same row or column - https://leetcode.com/problems/most-stones-removed-with-same-row-or-column/
  3. Algorithms Overview - Week 2 - Stack, Queues, Basic Sorting

    The second week of the course. Material to learn:

    • Stack, Queues
    • Sorting algorithms
    1. Stack and Queues
    2. Elementary Sort
    3. Solve 3 Easy LeetCode tasks applying Stack
    4. Solve 3 Easy LeetCode Tasks applying Queues
  4. Algorithms Overview - Week 3 - Merge, Quick sort

    Continue to review sorting algorithms

    1. Merge Sort
    2. Abdul Bari videos 18-25 about Divide and Conquer
    3. Quick Sort
    4. Coursera Week 3 Assignment
    5. Abdul Bari's video on quick sort
  5. Algorithms Overview - Week 3.5 - Refresher for Sorting Algorithms

    1. Make a sorting comparison table with a Time and Space Complexity
    2. No need for remembering algorithm implementation, but remember cases for applying each of them.
  6. Algorithms Overview - Week 4 - Priority Queues and Elementary Symbol Tables

    1. Priority Queues - Coursera
    2. Abdul Bari videos about PQ, Heap, Binary Tree
    3. Google Engineer videos about PQ
    4. 8 Puzzle - Coursera
    5. Elementary Symbol Table - Coursera
    6. DS Implementation
  • 1724
  • 09 June 2021, 06:42
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?