"The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague." - Edsger Dijkstra
In C++11 unordered_map provides hash tables for keys and values of any type (including custom classes).
GCP vs AWS billing structure - Multiple billing accounts per project VS 1 billing account per aws account - Billing per project VS per sub-account - Policies at account, org, folder or project level VS org and account level
Big O complexities, from worst to best: - N! - c^N - N^c - NlogN - N - sqrt(N) - log^2(N) - logN - logN/log(log(N)) - log(log(N)) - Hyperloglog - Inverse of the Ackermann function - 1
Parameters for client-server architectures: - Blocking vs non-blocking I/o: (1 vs multiple connections per thread) - Single or batch requests - Timeouts: How much to wait? - Retries with exponential backoff & jitter - Circuit breakers: to stop operations likely to fail
Distributed system: collection of independent computers that appears as one to its end users Characteristics: - They operater concurrently - They can fail independently - They do not share a global clock
I'd rather answer 1000 "silly" questions than be blocked for weeks for fear of asking
Algol (ALGOrithmic Language) was created in 1958 It has inspired the syntax of many modern language : Pascal, C, C++, Java.... Algol is considered to be amongst the most influential early programming languages
4 Common stack interview questions 1. Polish notation calculator 2. Implement a stack using a. 1 Array and b.1 Linked list 3. Design a stack with min/max in O(1) 4. Implement a queue with 2 stacks Try to solve them (easily googable)
3 JavaScript interview questions How many ways can a function be invoked? What's the difference between a function expression and function declaration? What is event.currentTarget?
Start writing down ideas for any projects you want to make. Anything can trigger an idea. The more you read and learn, the more opportunities to spark ideas for projects
Continuous attention to technical excellence and good design enhances agility agilemanifesto .org
"The greatest performance improvement of all is when a system goes from not-working to working." - John Ousterhout
In an interview, discuss multiple solutions to the problem but select the one you can implement in the time allocated to the interview. It's like presenting a good solution on time instead of an optimal solution 1 week after the dealine.
How to make learn faster - Lose the ego - Embrace failure - Iterate Quickly - Criticism is not evil - Don't be the smartest person in the room for too long - Be a sponge
Practice lots, read tons of code, write tons of code, dream coding and puke coding.