Tip for interviews in Python: To iterate over a list and also know the index of the current item, use enumerate for idx, val in enumerate(my_array): do_something(idx) ... You can supply a second parameter to enumerate to specify the number from (defaults to zero)
GCP vs AWS terminology - Both use Region as a group of data centers close to one another - Zone vs Availability Zone: individual data centers. Several per region - Points Of Presence: Both use them to provide CDN services in a similar way
Even "simple" things, like synchronizing clocks in different nodes in a distributed system, is more complex that it seems. Distributed systems are the quantum mechanics of software design.
Science is a differential equation Religion is a boundary condition - Alan Turing
"The code you write makes you a programmer. The code you delete makes you a good one. The code you don't have to write makes you a great one." - Mario Fusco
"Great things are not done by impulse, but by a series of small things brought together." - Vincent van Gogh
JavaScript has a single type for numbers, represented as 64-bit floating point Integers are also represented using this same type
Without putting the things you read into action in a real project, you will forget soon.
Storage Transfer Service (STS), a service that imports data to a GCS bucket from: - An AWS S3 bucket - A resource that can be accessed through HTTP(S) - Another GCS bucket For huge amounts of data consider Data Transfer Appliance: ship your data to a Google facility.
Binary search trees (height h, N nodes): - Insert and contains operations are O(h) - Elements in order: find min/max in O(h) - Efficient range queries Sorted inputs make them look like a linked list o(h) -> O(N) Balanced BST: AVL, red-black,... o(h) -> log(N)
Labels are key-value pairs you can use to organize your resources in GCP. Once you attach a label to a resource (for instance, to a virtual machine), you can filter based on that label. This is useful also to break down your bills by labels.
When fixing a bug, the most important thing is a reliable procedure to reproduce the problem. Try to trigget the issue manually. Then write a test that fails. Only then, start changing your code.
"The only way to learn a new programming language is by writing programs in it." - Dennis Ritchie
In a derived class, how do you call the parent constructor (in Java)? Using the "super" function: this.super(...) Interestingly, in Python the function is also called super
I recently stumbled upon this open-source scripting language: @esProc_SPL While SQL is based on relational algebra, SPL is based on discrete datasets, which results in more natural queries that can run faster. Checkout the link below👇
Do not considered thar you've learned a new concept: - Language feature - Algorithm - Data structure - Design pattern - DB technology - Etc until you are able to explain it with your own words.
2 common bugs: 1. Uninitialized variables. Ex: int min(int *A, int n) { int sol; for (int i=0; i<n; i++) if (A[i] < sol) sol = A[i]; return sol; } 2. Assignment vs comparison if (x = 5) x== 7; Better: if(5 = x) -> Compiler would complain
Resume tips - Less is more. 2 pages max - Avoid exaggerating. You can get grilled on anything you put on your resume - Focus on what you did. Not your team or your company - Implemented, coded, launched, led, designed >> Helped, contributed, participated