- Hash table/map: Coding technique (data structure) that makes it very fast to map a key (unique number, word, phrase) to a value.
- Never suggest this to an engineer; there are different methods to do this. This is not just one way.
Best Practices
- Coordinate Universal Time (UTC) as people come from all timezones
- Scientific Wild-Ass Guess (Swag): Cost estimate or just estimates
- UUID or GUID or Universally Unique Identifier or Globally Unique Identifier: give an “ID number” to objects in the database
- Technical debt: Doing things fast → will create bugs and cause more future work to take time
Running Time
- Also called the big O notation
- Describes efficiency of an algorithm
- Common runtimes
- O(1)(”constant time”): Same speed, no matter how much data you have
- O(log n)(”log n time”): Slower as dataset increases. Doubling the data barely increases runtime. 10x the size might cause it to slowdown.
- O(n)(”linear time”): Algorithm increases with dataset size
- O(n log n)(”n log n time”): Algorithm is much worse than linear i.e. 10x increase in dataset → 100x in processing
- O(2^n)(”exponential”): Worst.
- So is O(n) > O(2^n)? For small amounts of data, not really. As it gets larger, yes.