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
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.
If the code and the comments disagree,

they are both probably wrong
In Linux, directories have permissions too

- You can list their contents if it's *readable*
- You can access a file in a directory if the directory is *executable*

To change permissions, use chmod

- chmod 711 file
- chmod u+x file (users can execute the file)
Design patterns in 1 tweet

Flyweight: support a large number objects efficiently by sharing constant parts of their state (called intrinsic state)

Ex: To represent a text document, a Flyweight object is created per character in the character set.
R was created in 1993 at the University of Auckland in New Zealand by Robert Gentleman and Ross Ihaka

R is mostly used for data data analysis.

In of January 2020, R ranked the 18th most popular programming language
AWS Storage Services

- S3: general
- Glacier: archiving & backup
- EBS: block storage (disks)
- Storage Gateway: connect on-premise with storage in AWS infrastructure
Know what version of Python you're using. There are differences. For instance, when dealing with strings:

Python 3: bytes contains sequences of 8-bit values, str -> seqs of Unicode chars

Python 2: str contains sequences of 8-bit values, unicode -> seqs Unicode chars