andreyka26_se
1.14K subscribers
1.13K photos
145 videos
7 files
627 links
Hey, I'm software engineer at Microsoft, with 8+ years of experience. Here we are talking about F(M)AANG big tech interviews: leetcode, system design and corpo life.

YouTube: @andreyka26_se
Instagram: andreyka26_se
TikTok: @andreyka26__
Download Telegram
andreyka26_se
Just checking if it is me who didn't know, or it is for majority of the people
Keep this channel a bit educational as well, so what is Network namespace and veth? Why bother?

Why bother -> personally had a bug during one of my projects related to it, and have to make knowledge session to the team about that project, so I have to understand how it works, and how to do oncall, besides that this is how docker and kubernetes work.

By default in you operating system you have host network namespace, some physical device that can receive ethernet frames.

But when you create docker container, or kubernetes pod - under hood it creates separate network namespace, with it's own veth pair that connects it to host namespace, with its own netfilter hooks that can run ebpf, etc.

This is one of the reasons why you run 2 different docker compose files, and they cannot access services of each other (unless on common defined network). Or your docker compose service cannot access some container that was run by "docker run" (default bridge).
🔥3
andreyka26_se
Keep this channel a bit educational as well, so what is Network namespace and veth? Why bother? Why bother -> personally had a bug during one of my projects related to it, and have to make knowledge session to the team about that project, so I have to understand…
Let's consider docker example. Here you can see what happens when ContainerA listens to 5000 port, forwarded as 6000 port and there is incoming request.

First terminology:

Network namespace - is an isolated container of network features/stack including routing table, devices, interfaces, netfilter hooks, etc.

Device aka veth aka virtual ethernet aka endpoint aka network interface - is the physical/virtual container that MAC address and optionally IP address

Bridge - a device that acts as a virtual L2 (Layer 2) switch. Other devices are enslaved to it; it forwards frames between them by destination MACs

So, when you run default container (docker run, NOT docker compose) docker creates separate netns for it, veth pair (2 virtual devices that work like pipe between container netns and host netns), and enslave host's veth endpoint to docker bridge device (virtual switch).

#network #systemdesign
🔥3
andreyka26_se
Let's consider docker example. Here you can see what happens when ContainerA listens to 5000 port, forwarded as 6000 port and there is incoming request. First terminology: Network namespace - is an isolated container of network features/stack including routing…
Now incoming request goes to real physical eth0, then through host netns netfilter hooks it gets routed to docker0 bridge device, that device knows it should forward it to vethA (one leg of veth pair) that in turns pipes it into containerA netns to the socket listener.

On the diagram vethA and vethB on the host netns are "enslaved" to docker0 bridge device (virtual switch)

- why netns is needed? it serves isolation purposes. Now with docker compose it adds also dns, so you can access services inside docker compose by name rather than ip + you have full isolation so service in docker-compose1 cannot access service in docker-compose2. Same works for 2 separate pods running in the same machine (they don't get isolation, but they have independent network stack so localhost in pod1 != localhost in pod2)

- why docker0 bridge? cause this gives "gateway" for the containers so that they can talk with each other via this gateway. Without bridge we will have to create mesh between all the containers (many to many)

- why docker DNAT? Because we have exposed port, and without this DNAT the frame can't really go to containerA as the ip would be "host ip" not "docker ip" and there is nothing in host that listens to that port (5000).

- how packet knows after DNAT to 172.17.0.x:5000 that it should go to docker0 device? docker0 gets assigned ip CIDR 172.17.0.0/16 so all the ips in that range are getting routed to it via FIB (Forwarding Information Base which is just table with cidr and handling device) by kernel

- can I create single veth endpoint? -> no, you can create pair of it, as it is like pipe, should have both ends running, otherwise it does not make sense.
🔥3
Daily 329th day streak

Very strange problem, look into the comment I will help quickly to understand it.

https://leetcode.com/problems/minimum-score-of-a-path-between-two-cities/description/?envType=daily-question&envId=2026-07-04

#daily #medium #pattern
🔥7
Weekend is approaching. I will get some time and eventually finish article about concurrency/ race conditions for system design. Don’t worry, this week got 3 days oncall, and bunch of work so didnt have time, had to investigate network at the kernel level.

But… tomorrow, my dream is happening, I am going to do airsoft 😎 will keep you updated about kill/death ratio. Article is going to be ready by the end of Sunday
13
2 / 2 for now, not bad not terrible
🔥8
Lets call it a day. Now I want to buy my own gun now, and equipment
2
andreyka26_se
Lets call it a day. Now I want to buy my own gun now, and equipment
One thing, now I played airsoft and paintball (3 times). Maybe I dont understand something

Why the fuck no one ever thinks about balls protection (for ladies that place would need to be protected as well I assume)? Really, eyes protection, hands, knees protection, everything protection except one place. I was hit today in hand, in leg and in back. Believe me if it hurts to that level in my back, I dont even want to imagine being hit somewhere else, you know.
👍8
Daily 330th day streak

Good DP reminder, not that hard, but a bit unique in the way, that typically you have either max or count as 2 separate dynamic programming problems and here you need to combine them. I would recommend this

https://leetcode.com/problems/number-of-paths-with-max-score/description/?envType=daily-question&envId=2026-07-05

#daily #hard #pattern
🔥5🤯1
Yes, this is right place/way to ask.

In case there is anyone who had recent experience interviewing for senior - pls share the experience with the guy, or share it here in the comments. For the person who wrote the question - leave the comment below so people can find and answer to you.

====

From my side - you are doing everything as it should be. Prep maybe more for system design and especially behavioral to have strong leadership / mentorship skills. This is what differentiates senior vs non-senior afaik.

I personally never landed senior role in FAANGs, only jun/mid positions. Besides that - keep in mind that system design might be a bit different for client/frontend roles than backend ones, not sure if it is the case for google. Prepare also for cases how do you use ai in day-to-day job, and better to have such cases.
👍7
andreyka26_se
Yes, this is right place/way to ask. In case there is anyone who had recent experience interviewing for senior - pls share the experience with the guy, or share it here in the comments. For the person who wrote the question - leave the comment below so people…
BTW folks, maybe it is again cooking, you know what I mean😏😏. Maybe it is the again a time to solve the top150 list in leetcode, redo the system design and time of streaming these two ?))))

but for now let's see, will keep you updated, but there a huge potential for content for the next 3 months, this is what I would tell.
👍15
andreyka26_se
Yes, this is right place/way to ask. In case there is anyone who had recent experience interviewing for senior - pls share the experience with the guy, or share it here in the comments. For the person who wrote the question - leave the comment below so people…
I can personally tell about my experience last year in Google. I applied for Software Engineer II -> that actually means L3 -> junior (my bad).

The interview was:
- recruiter (generic)
- screen very easy leetcode style question
- online interview loop: 3 coding (easy/mid) graph based, bitwise/binary arithmetic and some game that I don't even know what is the pattern about + 1 behavioral: bunch of questions about the situations (tell me when you had a conflict)

I passed in the end, but even their top range of salary for junior cannot compete with Snowflake's mid salary, so I had to take Snowflake.
👍5
andreyka26_se
I can personally tell about my experience last year in Google. I applied for Software Engineer II -> that actually means L3 -> junior (my bad). The interview was: - recruiter (generic) - screen very easy leetcode style question - online interview loop: 3…
Note though, Google has very strange "team matching" phase, that can long from 1 week to 6 -9 MONTHs. During that period you are getting advertised to the teams, and might have call with manager, if you like them and they like you - you are in, otherwise in 9 months the offer is auto cancelled.

My advice - find the people inside or in Linkedin and write directly to hiring managers. Keep in mind as well: recruiter has just pull of positions, and in my cases he didn't want to introduce me to some position he does not own and didn't want to transfer me to another recruiter (it sucks tbh).

====

takeaway: don't assume you'll get offer within 1-2 months. Not with Google. Keep working at your place until you really got all green lights
5
So, I would say I am pretty bad in that, I never specially prepare for behavioral except AWS first in my life interview cause they are too focused on their LEADERSHIP PRINCIPALS.

In general, as I spoke with hiring managers, just don't be red flag: no racist, sexist, ultra right or ultra left (before Trump actually it was a plus). Sometimes being a diversity group helps (Microsoft has quotas for team), but don't be redflag, selfish, extra confident, don't talk shit about teammates, blame everyone etc.
6
andreyka26_se
So, I would say I am pretty bad in that, I never specially prepare for behavioral except AWS first in my life interview cause they are too focused on their LEADERSHIP PRINCIPALS. In general, as I spoke with hiring managers, just don't be red flag: no racist…
I answered "ideally" in abstract situation that I made up a bit, because I never had PERFECT situation for any of those bullshit questions. Like you go and talk to person, and try to agree on approach, learn his point of view, because it might be the case that you are wrong actually. If you believe so - you agree with person - conflict is solved. If you believe that your design is better (not because you are better person, but because it costs less, can be delivered faster, etc) -> then go get this guy and discuss the problem with techlead/manager and let them decide. If you are manager -> try to go with whatever better for the whole team (costs less, can be delivered faster, better use/impact for the team and company, etc).

Sometimes the right answer, if the situation is that you are dealing with asshole -> move the guy to another team (I remember such question asked for Staff role at Microsoft, and it was correct answer, because the guy made everyone else's life a hell)
👍31
andreyka26_se
I answered "ideally" in abstract situation that I made up a bit, because I never had PERFECT situation for any of those bullshit questions. Like you go and talk to person, and try to agree on approach, learn his point of view, because it might be the case…
Again, with this type of answer I was getting offers. Is it correct? was it due to or despite that answer -> I don't know. I'm very bad at it and don't want really to improve as it is boring as fuck, and does not really tell anything to me except cutting out some real red flags (racism, overconfidence, sexism, etc)
👍4
Daily 331st day streak

Pretty easy interval question, definitely recommended, I have heard from somewhere that "intervals" related question was asked in mongodb.

https://leetcode.com/problems/remove-covered-intervals/description/?envType=daily-question&envId=2026-07-06

#daily #medium #pattern
🔥4
Fucking LLM. I was trying to dig deeper to DNS and learn the glue records, apex thingy, zones, get the mental model, trace down everything end to end and see actual ips.

This claude fucker and other llm useless crap gang failed to explain me in 4 hours. Just confused me more than I was before. Fucking useless nonsense omg. Yes, they replace us tomorrow, ofc. If this shit cannot explain ME what the fuck is this glue records, ns record, dns zone etc along with end 2 end dns. Believe me random vibe coder would fail to understand as well.
👍51