Your Coding Teacher
380 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
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)
- ...
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
- Alan Kay
In MATLAB, for a nxn array A, what does A(:) do?

It creates a n^2x1 column vector. Column, not row, because MATLAB matrices are column-major
2 Quick Interview tips

- Think out loud while solving the problem. Explain your thought process.
- If your interviewer jumps in to help you, don't freak out. It's normal.
If it's worth doing just once, it is worth automating!
The best code is the one you don't have to write.