Goal abandoned
The author does not write in the goal 1 year 10 months 21 days
Prepare to FAANG interview
The world has changed, and the political situation globally has changed. I want to live in a modern, non-corrupted country and work in a top IT company. For reaching this goal I need a lot of practies and work.
-
Algorithms Overview - Week 1 - Union Find & Time and Space Complexity
Be Prepared for War
This is the most important part of my interview preparation and also the most time consuming one. If I am good at this topic, I can pass all interviews easy-cheesy. Most companies in North America love the algorithmics problems in the interview. Most of them actually from well-known websites such as LeetCode or HackerRank. But before I start solving problems from these sites, I need to make a "quick-refresher" for myself.Here is a short plan for that:
- Algorithms, Part I - Standford University - Coursera
- Algorithms, Part II - Standford University - Coursera
- Union Find - Quick Union Approach - Coursera
- Union Find - Quick Find Approach - Coursera
- Union Find - Path Compression
- Union find videos by Google Engineer
- Programming Assignment - Coursera
- Analysis of Algorithm - Coursera
- Time Complexity by Bari
-
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:
- Union Find
- Refresh Last Week
- Regions Cut by slashes - https://leetcode.com/problems/regions-cut-by-slashes/
- Refactor - Regions Cut by slashes
- Upload Solution on GitHub and share in on leet code
- Let be friends - https://leetcode.com/problems/friend-circles/
- Friends circles - https://leetcode.com/problems/friend-circles/
- Redundant Connection - https://leetcode.com/problems/redundant-connection/
- Most Stones removed with same row or column - https://leetcode.com/problems/most-stones-removed-with-same-row-or-column/
-
Algorithms Overview - Week 2 - Stack, Queues, Basic Sorting
The second week of the course. Material to learn:
- Stack, Queues
- Sorting algorithms
- Stack and Queues
- Elementary Sort
- Data Structures By Google Engineer - Stack and Queues
- Implement Stack and Queue in JavaScript from scratch
- Solve 3 Easy LeetCode tasks applying Stack
- Solve 3 Easy LeetCode Tasks applying Queues
-
Algorithms Overview - Week 3 - Merge, Quick sort
Continue to review sorting algorithms
- Merge Sort
- Abdul Bari videos 18-25 about Divide and Conquer
- Quick Sort
- Coursera Week 3 Assignment
- Abdul Bari's video on quick sort
-
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 case for applying each of them. -
Algorithms Overview - Week 4 - Priority Queues and Elementary Symbol Tables
- Priority Queues - Coursera
- Abdul Bari videos about PQ, Heap, Binary Tree
- Google Engineer videos about PQ
- 8 Puzzle - Coursera
- Elementary Symbol Table - Coursera
- DS Implementation
-
Algorithms Overview - Week 5 - Balanced Search Trees
Work on Tree data structure. I feel like I will spend a little more time on this topic.
- Balanced Search Trees
- Data Structure Implementation
- Abdul Bari - B-tree
- Abdul Bari - BST
-
Algorithms Overview - Week 6 - HashTables
Work on HashTable
- HashTable - Coursera
- Symbol Table Applications
- Hash Table implementation
- Google Engineer playlist
-
Algorithms Overview Part 1 - Finish
Update materials
-
Algorithms Overview - Week 7 - Undirected and Directed graphs
This is the beginning of the second part of the course. Graphs topic is quite a large one. I'll try to cover more information on it to make sure that I understand everything
- Undirected Graphs
- Directed Graphs
- Graph Theory by William Set (5 videos) - https://www.youtube.com/watch?v=eQA-m22wjTQ&list=PLDV1Zeh2NRsDGO4--qE8yH72HFL1Km93P&index=1
- Programming assignment - Word Net
- 2 Leet code problems on graphs
- Implement Graph DS
- Implement DFS
- Implement BFS
-
Practice Graph Problems
Repeat theory material by applying it to practical problems from leetcode.
- https://leetcode.com/problems/find-the-town-judge/
- https://leetcode.com/problems/course-schedule-i/
- https://leetcode.com/problems/course-schedule-ii/
- https://leetcode.com/problems/is-graph-bipartite/
- https://leetcode.com/problems/escape-a-large-maze/
- https://leetcode.com/problems/find-eventual-safe-states/
-
Algorithms Overview - Week 8 - Minimum Spanning Trees, Shortest Paths
- Minimum Spanning Trees
- Shortest Paths
- Programming Assignment - Seam Carving
- Compute Minimum Spanning Tree
- https://leetcode.com/problems/network-delay-time/
- https://leetcode.com/problems/cheapest-flights-within-k-stops/
-
Algorithms Overview - Week 9 - Maximum Flow and minimum Cut, Radix Sort
- Maximum Flow and Minimum Cut
- Radix Sort
- Programming Assignment - Baseball Illumination
-
Algorithms Overview - Week 10 - Tries & substring search
- Tries
- Substring search
- Programming Assignment - Boggle
- 2 Leetcode problems on topic
-
Algorithms Overview - Week 11 - Regular expressions & Data Compression
- Regular expressions
- Data Compression
- Programming Assignment - Burrows-Wheeler
-
Algorithms Overview - Week 12 - Reductions, Linear Programming, Intractability
- Reductions
- Linear Programming
- Intractability
-
Algorithms Overview - Finish
Party !)
-
Leetcode Preparation - Week 0 | Arrays
- 54 Spiral Matrix
- 941 Valid mountain array
- 1089 Duplicate Zeros
- 48 Rotate Image
- 73 Set Matrix Zeros
- 283 move яeroes
- 485. Max consecutive ones
- 905. Sort Array By Parity
- 487. Max Consecutive Ones II
- 88. Merge Sorted Array
- 448. Find All Numbers Disappeared in an Array
- 977.Squares of Sorted array
- 1299. Replace Elements with Greatest Element on Right Side
- 287. Find the duplicate number
- 79. Word Search
- 442. Find duplicates numbers
- Cracking Code Interview - Introduction
- Check-out https://leetcode.com/explore/featured/card/fun-with-arrays/
-
Leetcode Preparation - Part 1 | Two Pointers & Sliding Window
1. (1) Two Sum
2. (83) Remove duplicates from sorted list
3. (833) - Backspace string compare
4. (977) - Squares of a sorted array
5. (167) - Two Sum input array is sorted
6. 3Sum - усложнение задачи two sum.
7. 3SumClosest
8. 713 - Subarray products less than K
9. 209 - Minimum Size subarray Sum
10. 424 - Longest Repeating character replacement
11. 3. - Longest Substring without repeating character
12. 159 - Longest Substring with at most 2 distinct characters
13. 340 - Longest Substring with at most 2 distinct characters
14. 904. Fruit Into Baskets
15. 567 - Permutations
16. 11 - Container with a most water
17. 75 - Sort Colors
18. 763 - Partition labels
- Two Pointers problem from https://seanprashad.com/leetcode-patterns/
-
Leetcode Preparation - Part 2 | Fast & Slow Pointers | In-place Linked List reversal
- 707. Design Linked List
- 141. Linked List Cycle
- 142. Linked List Cycle II
- 876. Middle of the Linked List
- 2. Add Two Numbers
- 21. Merge Two Sorted Lists
- 430. Flatten a Multilevel Doubly Linked List
- 206. Reverse Linked List
- 143. Reorder list
- 160. The intersection of Two Linked Lists
- 19. Remove Nth Node From End of List
- 203. Remove Linked List Elements
- 234. Palindrome Linked List
- 138. Copy List with Random Pointer
- 24. Swap Nodes in Pairs
-
Leetcode Preparation - Part 3 | Modified Binary Search
- 704. Binary Search
- 278. First Bad Version
- 374. Guess Number Higher or Lower
- 162. Find Peak Element
- 69. Sqrt(x) - необычное применение бинпоиска
- 50. Pow(x,n) -
- 349. The intersection of Two Arrays
- 350. The intersection of Two Arrays II
- 34. Find First and Last Position of Element in Sorted Array
- 74. Search a 2D Matrix
- 240. Search a 2D Matrix II
- 152. Find peak element
- 852. Peak Index in a Mountain Array
- 744. Find the smallest letter greater than the target
- 153. Find Minimum in Rotated Sorted Array
- 154. Find Minimum in Rotated Sorted Array II
- 33. Search in Rotated Sorted Array
- 658. Find Closest K elements
-
Leetcode Preparation - Part 5 | BST & Trie
-
Leetcode Preparation - Part 6 | Trie | BST | Top K elements
✅ Trie
- 208. Implement Trie (Prefix Tree)
- 211. Add and Search Word - Data structure design
- 642. Design Search Autocomplete System
- 648. Replace Words
- 677. Map Sum Pairs
✅ Top-K
- 215. Kth Largest Element in an Array
- 230. Kth Smallest Element in a BST
- 347. Top K Frequent Elements
- 973. K Closest Points to Origin
-
Leetcode Preparation - Part 4 | Binary Trees & Graph & BFS & DFS & Topological Sort
✅ Binary Trees
- 94. Binary Tree Inorder Traversal
- 144. Binary Tree Preorder Traversal
- 145. Binary Tree Postorder Traversal
✅ DFS
- 100. Same Tree
- 101. Symmetric Tree
- 104. Maximum Depth of Binary Tree
- 112. Path Sum
- 226. Invert Binary Tree
- 230. Kth Smallest Element in a BST
- 250. Count Univalue Subtrees
- 98. Validate Binary Search Tree
- 105. Construct Binary Tree from Preorder and Inorder Traversal
- 113. Path Sum II
- 572. The subtree of Another Tree
- 617. Merge Two Binary Trees
- 654. Maximum Binary Tree
- 235. Lowest Common Ancestor of a Binary Search Tree
- 236. Lowest Common Ancestor of a Binary Tree
- 297. Serialize and Deserialize Binary Tree
- 437. Path Sum III
- 543. The diameter of the Binary Tree
- 545. The boundary of Binary Tree
- 662. Maximum Width of Binary Tree
✅ BFS
- 102. Binary Tree Level Order Traversal
- 107. Binary Tree Level Order Traversal II
- 103. Binary Tree Zigzag Level Order Traversal
- 116. Populating Next Right Pointers in Each Node
- 111. Minimum Depth of Binary Tree
- 199. Binary Tree Right Side View
- 637. Average levels of binary tree
- 662. Maximum Width of Binary Tree
- 133. Clone Graph
- 117. Populating Next Right Pointers in Each Node II
- 863. All Nodes Distance K in Binary Tree
✅ Graphs - тут было проще. часть задач уже решал, разминаемся на простеньких:
- 802. Find the Eventual Safe States
- 997. Find the Town Judge
- 743. Network delay time
- 785. Is Graph Bipartite?
- 787. Cheapest Flight within k stops
✅ Topsort
- 207. Course Schedule
- 208. Course Schedule II
- 209. Graph Valid Tree
- 210. Minimum Height Trees
✅ Union Find
- 547. friend-circles
- 684. redundant-connection
- 947. most-stones-removed
- 959. regions-cut-by-slashes
- 200. Number of Islands
- 323. Number of Connected Components in an Undirected Graph
-
Leetcode Preparation - Part 7 | Backtracking
- 17. Letter Combinations of a Phone Number
- 22. Generate Parentheses
- 39. Combination Sum
- 46. Permutations
- 77. Combinations
- 78. Subsets
- 494. Target Sum
- 784. Letter case permutation
- 40. Combination Sum II
- 47. Permutations II
- 90. Subsets II
- 216. Combination Sum III
- 131. Palindrome Partitioning
-
Leetcode Preparation - Part 8 | Top Interview questions
✅ Design
- 146. LRU Cache
- 155. Min Stack
- 380. Insert Delete GetRandom O(1)
✅ Top-k-elements
- 692 - Top K Frequent words
✅ Trie
- 1268 - Search Suggestion System
✅ Min-PQ
- 1167 - Minimum Cost to connect sticks
✅ Stack
- 227 - Basic Calculator II
✅ Set, Map, Sort
- 12. Integer to Roman
- 13. Roman to Integer
- 49. Group Anagrams
- 819. Most Common Word
- 937. Reorder Data in Log Files
-
Frontend Preparation
-
System Design + Mock Interviews
-
Behavioral Interview Preparation
-
Facebook Onsite - Preparation | System Design
System Design is the most difficult part here. I'd like to prepare a technical document with a most common design problems
- Read Refactoring UI Book
- Read Accessibility for everyone
- Design Netflix
- Design Facebook
- Design News Feed
- Design Twitter
- Design Pininterest
- Design Facebook messenger
- Record Video - Facebook News Feed
- Record Video - PinInterest
- Record Video - Facebook Messenger
- Record Video - Netflix
-
Facebook Onsite - Preparation | Theory
Brush up the knowledge on https://javascript.info/
-
Facebook Onsite - Preparation | Behavioral
-
Facebook Onsite - Preparation | Coding
Practice coding and Browser API
2 Coding problems each day under 15-20 minutes.- Solve all problems from - https://bigfrontend.dev/problem
- Solve all problems from - https://leetcode.com/problemset/all/?listId=7p59281&difficulty=Medium
- create `isPrime()` JavaScript
- create a tokenizer
- Virtual DOM I
- Virtual DOM II
- Implement a Stack by using Queue JavaScript
- merge identical API calls
- extract all anchor element from HTML string
- implement String.prototype.trim()
- implement your own `Object.create`
- Generate Fibonacci Number with recursion
- throttle Promises
- write your own `instanceof`
- Next Right Sibiling
- support negative Array index in JavaScript
- Generate Fibonacci Number
- implement `_.get()` JavaScript
- create a fake timer (setInterval)
- create an interval JavaScript
- convert snake_case to camelCase
- convert HEX color to RGBA
- get DOM tags
- create your own Promise
- add comma to number
- auto-retry Promise on rejection
- create your own `Function.prototype.call`
- create your own `new` operator
- get DOM tree height JavaScrip
- create an Observable JavaScript
- highlight keywords in HTML string JavaScript
- flatten Thunk
- write your own `extends` in es5
- create a fake timer(setTimeout)
- clearAllTimeout
- implement completeAssign()
- implement Object.assign()
- create a sum()
- find corresponding node in two identical DOM tree JavaScript
- implement a simple DOM wrapper to support method chaining like jQuery
- Implement a general memoization function - `memo()`
-
Facebook Onsite - Day 1 [CODING]
survive
-
Facebook Onsite - Day 2 [System Design + Behavioral]
survive
-
Waiting for results - DONE
-
Facebook Onsite - Day 3 [System Design]
-
Waiting for Results
-
OFFER ✅
Goal Accomplishment Criteria
I'm working in the top IT company in the world
- 730
- 21 November 2022, 11:02
Don't miss new posts!
Subscribe for the Goal and follow through to its completion