Interview question. Write a function to check if a string s is a palindrome Python be like: return s == s[::-1]
Special cases aren't special enough to break the rules - The Zen of Python
GCP has machine families with predefined amounts of RAM and CPU - General. Best price/perf for many tasks - Memory-optimized. For memory-intensive tasks - Compute-optimized. Highest perf/core - Shared-core. Cost-effective for small apps You can create custom machines too
If you don't have a job, get something to pay the bills. And design a plan to transition to a better job. Ex: use the tools you need for the next job to build something at your current job. You'll develop skills while being paid and help your team
Big O analysis tip Big O notation describes the rate of increase of an algorithm. It could be possible for O(N) code to be faster than 0(1) code for *some inputs*. O(N^2) sorting algorithms are generally good for small inputs.
Static vs Shared libraries - Static: code from the library is copied into the binary. Larger binary size. Must recompile if library changes - Shared: library code is loaded when needed. Processes can share the same library. No need to recompile everything if library changes
I've realised I learn by doing, not by reading or taking notes. This includes writing code and writing articles where I teach what I know.
UDP vs TCP in one line: TCP has higher overhead and latency, but guarantees that the messages will arrive (in the right order). Good for: - The Web - SSH - Emails UDP is "less reliable" but has lower latency. Good for - Multiplayer action games - Video calls - Streaming
Lisp (LISt Processing language) was developed at MIT in 1959 Lisp is considered the first functional programming language and was extensively used in artifical intelligence. (format t "Hello, World!")
A service mesh is a configurable framework that allowa you to connect, control, observe and secure microservices. It removes these responsabilities from you application logic, delegating them to the service mesh.
Some important root subdirectories in a tweet - /media: mount removable media - /mnt: user temp mounting - /sys: contains device & system info - /sbin: system executables - /tmp: temporary files - /usr: the bulk of the Linux system - /var: programs save runtime info here
What happens when you run ls in your terminal? The shell calls fork() to create a copy of the shell process This copy calls exec(ls) to run ls This is how new processes are created fork and exec are system calls - ways for your programs to interact with the kernel
To be a developer you have to be able to endure long and intense periods of feeling stupid on a consistent basis.
"In my experience, one of the most significant problems in software development is assuming. If you assume a method will passed the right parameter value, the method will fail." - Paul M. Duvall
3 JavaScript interview questions What's the difference between == and ===? How to evaluate multiple expressions in one line? What is Functional Programming and what are the features of JavaScript that makes it a candidate as a functional language?
"How do we convince people that in programming simplicity and clarity βin short: what mathematicians call "elegance"β are not a dispensable luxury, but a crucial matter that decides between success and failure?" - Edsger W. Dijkstra