When presented with an unreasonable deadline, what is the actual consequence of saying "no," versus the imagined one?
It takes an intelligent person to build something complex It takes a genius to build something simple
Heapsort is a comparison-based sorting algorithm, developed by J. W. J. Williams in 1964 It's based on a heap data structure 1. Build a heap from the unsorted list - O(N) 2. While the heap has elements, extract its top element - O(1) extraction + O(LogN) to update the heap
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly agilemanifesto .org
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale agilemanifesto .org
"Give a man a program, frustrate him for a day. Teach a man to program, frustrate him for a lifetime." - Muhammad Waseem
"I'm not a great programmer; I'm just a good programmer with great habits." - Kent Beck
Resources in GCP follow a hierarchy: - Permissions are inherited. Ex: permissions granted and the org level are propagated to all folders and projects. - More permissive parent policies always overrule more restrictive child policies. To common aspects of your resources
Grep 101 grep -param string/regex file(s) -i case insensitive (potentially slow) -v string *not* present -w find full word -A/B/C N; display N lines after/before/around the match -r recursively in directory -c get number of matches -n line number of match
When you're assigned a task, repeat it back in your own words to make sure you understood it. And to let everyone know you understood what they want. This includes potential issues that may arise.
3 JavaScript interview questions How to check if a certain property exists in an object? How to check if a value is falsy? What's the difference between Object.seal and Object.freeze methods?
- Continuous integration: merging code changes into a repository + run builds and tests - Continuous delivery: deploy code changes to different environments. Releasing to customers requires human intervention - Continuous deployment: deploy to customers. No human intervention.
If you suspect you can solve a problem via Dynamic Programming, draw a tree with all possible paths to see if there are repeated subproblems If you can derive a recursion and prove that there are repeated subproblems and optimal substructure, you can apply Dynamic Programming
There is no one-size-fit-all solutions. All depends on the context: - Insertion sort is good for small inputs - Shellsort is good for medium size inputs. - Mergesort is O(NlogN) but requires additional space. - Quicksort is O(NlogN) but can be O(n^2)
4 JavaScript interview questions What is Hoisting? What is Event Propagation? What are Template Literals? What are Promises?
Our society runs on software. Nowadays, nothing happens without software.
5 Random coding tips Disable distractions Ask effective questions Learn to debug Learn from your failures Examine all solutions before jumping in