Your Coding Teacher
379 subscribers
10 links
Coding, software engineering & #bitcoin technologies. I'll make you a better thinker, not just a better developer | Ex
Amazon, Senior DevOps @eBay
Download Telegram
j++; // increment j

Don't be this person
The best architectures, requirements, and designs emerge from self-organizing teams

agilemanifesto .org
The expected constant time property of a hash table assumes that the load factor be kept below a certain bound.
Difference between x86, i386 and x64:

- x86 is a family of instruction set architectures based on Intel 8086
- i386 or x86-32 is the 32-bit architecture of the x86 family
- x64 is the 64-bit instruction set of the x86 family. Also called amd64, designed by AMD
When all you have is a hammer, everything starts to look like a nail
You can use hash tables to avoid creating multiple immutable data structures with the same content.
Fast, Cheap, Reliable

You can only pick two
A project's bus factor is the number of team members who would put the project in jeopardy if run over by a bus (or get sick, vacation, resign, ...)

Strive to increase this number. Ex:

- Write good doc
- Code reviews
- Pair programming to spread knowledge of the code base
How do you handle data that can't fit/be processed by one machine?

Main Partition techniques

- Range based [A-C,D-G,...] Efficient range queries. Risk of hot spots -> Split the partition
- Hash based. No range queries but distributes load evenly. Check "Consistent hashing"
"Proof by analogy is fraud."
- Bjarne Stroustrup
"It's harder to read code than to write it."
- Joel Spolsky
Given an array of integers, find if the array contains any duplicates.

bool containsDuplicate(vector<int>& nums) {
unordered_set<int> s (nums.begin(), nums.end());
return s.size() != nums.size();
}
Becoming a coder needs focus and discipline

- Get a bit better every day
- Focus on one thing: frontend, backend, android, ios, ...

There are too many technologies.

Know a bit about everything, but become a specialist so that you can fing the type of job you want
"The real money isn't in the software.
It's in the service you build with that software."
- Jeff Atwood
4 Common linked list interview questions

1. Reverse linked list, recursive & iterative
2. Merge two sorted linked list
3. Does a linked list have a cycle?
4. Find the intersection of two lists
5. Add numbers represented by two lists

Try to solve them (easily googable)
It's easier to write an incorrect program than understand a correct one
Working software is the primary measure of progress

agilemanifesto .org
Cloud Deployment Manager is Google's Infrastructure as Code service, similar to Terraform.

It automates repeatable tasks like provisioning, configuration, and deployments for any number of machines.
Inside every complex program is a simple program trying to get out
There's no test like production
Big O is not the only factor to consider when you think about algorithm performance. Also:

- Disk usage
- Memory
- Cache
- Network
- Concurrency (and its overhead)
- ...