started
https://www.youtube.com/watch?v=qEhrYLC1rhQ&ab_channel=andreyka26_se
https://www.twitch.tv/andreyka26_
https://www.youtube.com/watch?v=qEhrYLC1rhQ&ab_channel=andreyka26_se
https://www.twitch.tv/andreyka26_
YouTube
LeetCode and System Design with Microsoft SWE #7
Turn your videos into live streams with https://restream.io
Solving LeetCode questions and doing System Design with Microsoft SWE
TG: @programming_space
https://t.me/programming_space
IG: andreyka26_se
https://www.instagram.com/andreyka26_se/
Blog: ht…
Solving LeetCode questions and doing System Design with Microsoft SWE
TG: @programming_space
https://t.me/programming_space
IG: andreyka26_se
https://www.instagram.com/andreyka26_se/
Blog: ht…
🔥3
Whoever was in the stream once. I would appreciate any feedback especially negative. Maybe you would like to see some other way, cause Im trying to explain pretty deep so 99% of people would understand the concept we are doing. Another thing, maybe topic that we are doing: leetcode and system design is not that important/ exciting? Let me know yeah. But I need to hear from u.
Yeah, hate it. And in the end, if real primary needs your help during the incident - he can request assistance and you are going to be woken up as well and fix shit
🤯2😁1
andreyka26_se
Now, try find the bug/problem in this code that was about to be merged :)
I will help. For the
Assume this is your setup. This change can be considered as refactoring, I don't see intention of behavior change, but there is very huge behavior change that will break the latter execution of the code
HandleWriteErrorIfNoReplicasAsync actually we don't need Task there. It is different nit comment 😁😁Assume this is your setup. This change can be considered as refactoring, I don't see intention of behavior change, but there is very huge behavior change that will break the latter execution of the code
🤔1
andreyka26_se
Now, try find the bug/problem in this code that was about to be merged :)
Okie, So I will bring some explanation.
Here in the code we want to not continue code execution in case
Code on the left side, checks it and "returns" from the method with "failure" result.
Here in the code we want to not continue code execution in case
clients collection is empty. Because all subsequent code execution relies on this var being not empty.Code on the left side, checks it and "returns" from the method with "failure" result.
❤3
andreyka26_se
Now, try find the bug/problem in this code that was about to be merged :)
The problem with this change is that
So to make it work, we either need to check the response from
await does not propagate return statement from the called method. So in case there is zero clients, it will not return from the method and continue code execution below, and we will get exception cause we assume clients are not empty in subsequent lines.So to make it work, we either need to check the response from
HandleWriteErrorIfNoReplicasAsync, or throw exception there and handle it outside.❤3
We are doing Repair On Read implementation. This is one of the Replication strategies to guarantee resiliency and reliability of the storages.
The idea is that client is responsible for handling conflicts and propagate the changes. We need only "no data loss" guarantee, which is also a bit relaxed.
Any way. We have meetings weekly, and the most skilled people (except me) were assigned to make it happen: level 67, our one principal/architect, level 65, our principal, 64, our senior and me 62.
The idea is that client is responsible for handling conflicts and propagate the changes. We need only "no data loss" guarantee, which is also a bit relaxed.
Any way. We have meetings weekly, and the most skilled people (except me) were assigned to make it happen: level 67, our one principal/architect, level 65, our principal, 64, our senior and me 62.
Yesterday I had the funniest moment ever, we were all in meeting room, sharing the screen on big meet room screen, and discussing, PRs, next steps, architecture, problems, etc.
At one point conversation somehow moved to "what should be the best/better" naming to some variable that represents bag of timestamps of different events that happened to some object.
Imagine: 2 principals, senior and me discussing variable name for like 15-20 mins. It was epic and high level discussion😁
At one point conversation somehow moved to "what should be the best/better" naming to some variable that represents bag of timestamps of different events that happened to some object.
Imagine: 2 principals, senior and me discussing variable name for like 15-20 mins. It was epic and high level discussion😁
😁6
this pretty much confirms "the hardest thing in software engineering is naming"
👍5