Preparation-Library
Library to save all the useful resources from my own perspective.
System Design
Systems design is the process of defining elements of a system. Whether in a very abstract manner (HLD) or discussing every (HLD) component in detail, which is called (LLD).
High Level Design (HLD)
- Explain the architecture that would be used to develop a system, by identifying the main components in the system.
- It doesn't contain much technical depth.
Low Level Design (LLD)
- It further exposes the logical detailed design of each component in the HLD.
- it also identifies the following:
- The data structure will be used to organize the data.
- The performance of the algorithms that will be used.
- How and Which design patterns will be used.
Problem Solving
For interviews, there may be any type of problem-solving including (Algorithms and Data Structure – Numerical – Logical – etc.) but I will mainly focus on the Algorithmic and Data Structure part.
Data structure
- I believe you should mainly focus on (Linked List – Hash Table – Trie – Heap) since they are so common in interviews.
- I will discuss other Data Structures which may be useful later including (Segment Tree – Caches (LRU – LFU) – Disjoint and Union set – etc.)
Algorithms
- I believe that the most common ones are (Dynamic Programming – Quick Select – Greedy – Graph Traversal).
- I will discuss more algorithms including (Strongly Connected Components – Minimum Spanning Tree – Rabin Karp – KMP – Hashing – etc.)
Programming Languages and Frameworks
This section is just to provide resources I used to learn a particular programming language or a framework.
Programming Languages
- C++
- C#
- Java
- Ruby
Frameworks
- Ruby on Rails
- Spring/ SpringBoot
Behavioral
The behavioral part is far more important than you think. Some companies like Amazon may have their own leadership principles which reflect their culture. And to pass the interview, you must show that you can fit into the companies culture.
I will share my preparation for each company, starting with Amazon.