You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -248,11 +248,11 @@ Now let's begin our journey!
248
248
- Each position of the hash table, often called a slot, can hold an item and is named by an integer value starting at 0.
249
249
- The mapping between an item and the slot where that item belongs in the hash table is called the **hash function**.
250
250
- **Remainder method** takes an item and divides it by the table size, returning the remainder as its hash value (i.e. `h(item) = item % 11`)
251
-
- **load factor** is the number of items devided by the table size
251
+
- **load factor** is the number of items divided by the table size
252
252
- **collision** refers to the situation that multiple items have the same hash value
253
253
- **folding method** for constructing hash functions begins by dividing the item into equal-size pieces (the last piece may not be of equal size). These pieces are then added together to give the resulting hash value.
254
254
- **mid-square method** first squares the item, and then extract some portion of the resulting digits. For example, 44^2 = 1936, extract middle two digits 93, then perform remainder step (93%11=5).
255
-
-**Collision Resolution** is the process to systemacticly place the second item in the hash table when two items hash to the same slot.
255
+
-**Collision Resolution** is the process to systematically place the second item in the hash table when two items hash to the same slot.
256
256
-**Open addressing (linear probing):** sequentially find the next open slot or address in the hash table
257
257
- A disadvantage to linear probing is the tendency for clustering; items become clustered in the table.
258
258
- **Rehashing** is one way to deal with clustering, which is to skip the slot when looking sequentially for the next open slot, thereby more evenly distributing the items that have caused collisions.
@@ -589,7 +589,7 @@ Here is a template I use for the system design interview:
589
589
- Load Balancer/Reverse Proxy
590
590
- LB types
591
591
- LB algorithms
592
-
- Application layer scaling (Microservices, Service Discovery, Service Mesh)
592
+
- Application layer scaling (Microservice, Service Discovery, Service Mesh)
- Frameworks (Django, Spring, etc) and their versions (from the versions you'll know how up-to-date their tech stack is )
804
804
- development tools (IDEs, OS, Cloud providers, etc)
805
805
- Generic questions
806
-
- What is a day like in your company (this may seem too generic, but is quite important). For example, what's the sprint like (do you have sprints), do you have standups, how many working hours per week, when do you start your day, and much more. Pick those that you are most interested in
806
+
- What is a day like in your company (this may seem too generic, but is quite important). For example, what's the sprint like (do you have sprints), do you have standup (frequency and time), how many working hours per week, when do you start your day, and much more. Pick those that you are most interested in
807
807
- What's the team like, what's the tech stack for the team, how many BE/FE/QA etc
808
808
- These kinda questions show that you are really interested in the job and team. You'll need to know this info anyway if there will be an offer and you choose to accept it
0 commit comments