Wpis z mikrobloga

Mirki, od 2 lat szukam Senior .NET Developera i to jest STAND-UP
- "Jak stosujesz memory bariery w praktyce i kiedy volatile to za mało" - chłop zaczyna się jąkać
- Różnica między IEnumerable, IQueryable i Expression<Func<T,bool>> – i jak .NET parsuje drzewo wyrażeń żeby wygenerować SQL w EF Core?” – mina jakby mu ktoś kazał rozwiązać całki.
- No dobra, mirki, to teraz challenge: zaimplementuj własny parser Expression<Func<T,bool>> do wektorowego bytecode’u filtrującego kolumnowe dane w pamięci, z short-circuit logic, maskami bitowymi i SIMD… XDDD” – facet zaczyna googlać „Vector<T> w 30 sekund”
- „Co dokładnie robi EF Core przy SaveChanges() – krok po kroku, od change trackera, aż po finalny SQL?" - chłop mówi "zapisuje dane do bazy".
- Jak w praktyce wygenerowałbyś IL ręcznie i dlaczego DynamicMethod różni się od System.Reflection.Emit.AssemblyBuilder?” – typ patrzy, jakby mu ktoś opowiadał o fizyce kwantowej.
- „Wyjaśnij mi różnicę między Span<T> a Memory<T> i dlaczego ref struct nie może żyć na heapie?” – i znowu echo, cisza, pot.
- „Co się dzieje gdy obiekt jest przypięty (pinning) w pamięci i dlaczego LOH (Large Object Heap) przez lata nie był kompaktowany? Jak to zmieniło się w nowszych wersjach .NET?” – i nagle cisza jak w kościele o północy.
- „Jak zaprojektowałbyś strukturę danych pod data-oriented design dla systemu obsługującego milion requestów na sekundę? Jak zoptymalizujesz cache locality?” – chłop nagle zaczyna mówić o… repozytorium na GitHubie.
- longest increasing subsequence w O(n log n)” – typ robi wielkie oczy i pyta, czy może napisać to w LINQ XDDD.
- wytłumacz mi jak w .NET działa unsafe i wskaźniki – kiedy to ma sens, jak zrobić fixed buffer i dlaczego stackalloc potrafi wywalić w kosmos przy złym użyciu?” – gość robi wielkie oczy. Wskaźniki w C#?
- „Zaprezentuj implementację skip-listy – i powiedz, kiedy to ma przewagę nad drzewami binarnymi.” – facet dostaje errora w realu: System.NullReferenceException.
- „Wytłumacz jak działa niedeterministyczna struktura danych typu Bloom Filter i jakie ma trade-offy w praktyce przy systemach high-performance.” – chłop już dzwoni po kumpla z politechniki.
- "Jak w .NET zrobisz wydajną komunikację między dwoma procesami w tym samym systemie? Jakie masz opcje poza TCP/UDP i kiedy warto sięgnąć po P/Invoke do natywnego IPC" - Chłop po tym wszystkim się już rozłączył. Nie rozumiem czemu, przecież to proste pytania.

„Ale ja się znam na Azure / Kubernetes / AWS!”
NO BŁAGAM XD – tego to się da nauczyć w tydzień z tutoriala na YT, to jest wiedza z kategorii „kliknij next-next-finish w portalu”. Seniora nie robi to, że zna gdzie w portalu kliknąć VPC albo co to ALB vs NLB, tylko że rozumie CLR, GC, concurrency, algorytmy, low-level performance.

A my widełki mamy do 100 zł/h ( ͡° ͜ʖ ͡°), i serio – jedyne co ci ludzie ogarniają, to jak odpalić „docker compose up” i uważać, że to „production-ready microservices” XDD.

#programowanie #pdk #heheszki #java #csharp
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach