Question 2 of 20
Which of the following is a valid reason for why idempotence is useful in API design?
A. Due to the rise of distributed systems, idempotence has become necessary in order to scale any large-scale application.
B. Given the unreliability of networks, idempotence allows developers to build robust API’s that allow for retry attempts.
C. Idempotence is actually not as useful in API design and is instead more useful when designing database schemas.
D. Idempotence is important to prevent clients from sending multiple duplicate API requests.
E. I don't know
Wow, you're really going to try and estimate my level, based on opinions? No thanks. Not without a write-in option.P.S. My opinion is that, idempotence only useful, if you draw the conclusion that ceding control of your systems to external entities is useful. At which point you compromise your system based on communicated assumptions for how something should be, and not necessarily how things are behind the wall you can never see the other side of. In other words, the subtext of this question is:
Do you like delegation of responsibility? The correct answer is yes.
Meanwhile, this question deals in buzz-wordy jargon. The answer you may provide, cannot be presumed as correct, without proper interpretation of the dictionary definition, according to the popularity of in-group consensus, and the chaining of the awareness of other preferred buzzwords as social cues for the expectation of a proper answer."Useful" doesn't mean "preferred over other alternatives". You're overthinking the test due to having more advanced qualifications.
Idempotence, as you know, allows operations to be retried without the maintenance of state to detect duplicate operation, and so the correct answer is simply B.
A is somewhat of a distractor since use of idempotent API's is possibly relevant in building scalable systems. Idempotence isn't the cornerstone of scalability, though.
C is nonsense; and D is opposite: idempotence allows clients to freely send duplicate API requests. Prevention or detection of duplicates is required when idempotence doesn't hold.
I don't see the point of including E; only a complete moron would not guess among the other answers to have a chance at being right. Very odd to see "I don't know" in a multiple choice test.
Thanks for taking a quick peek and sharing your thoughts. I definitely agree that there are issues with many of the questions and that the quiz overall isn't super accurate.
Do you have any recommendations on how to improve this question? Or, are there are subject areas that might make sense instead?
Q. What does idempotence mean?
A. Validating a sequences of events in a stateless fashion.
As an addendum, a follow-up question might add concrete context to the idea being tested. But context is a bottomless pit, where the default answer "it depends" lurks. That makes this a bad question.Who in their right mind would choose a certified incorrect answer in a multiple choice exam rather than guessing among those which include the correct one?
Anyone who chooses E lacks the cunning to make it in STEM.
For those of you full-time employees out there, you may have experienced a time when you weren't actually sure whether your title reflected your day-to-day performance. I wanted to build Eng Quiz because more information means more leverage, whether you're negotiating a raise or interviewing for a new role.
There are tons of things to do to make this more useful, so would appreciate any feedback!
Also, if anyone wants to pay me $225k, hmu.
Are American tech companies really paying people with 0-3 years experience $100K?
No fucking wonder so many startups “run out of money” if you’re spending that much on people with no fucking experience.
This is pretty common for some of the larger tech companies. While some Bay Area startups do pay a bit less in exchange for equity, it's still tough getting talent given all the competition.
For startups, I think the key is to really stay as lean as possible before hiring at all.
I got “senior” 170k base with a much higher number in the 200-300k range, but I haven’t even graduated uni yet.
Also, I don’t write Ruby (why is this so ruby-heavy?) so I guessed all those.
I feel as though that's a huge overestimate of my skill level.