Cześć,
Jak często aplikując na ogłoszenia seniorskie w PL (java dev) dostajecie system design na rekrutacjach? Kilka lat nie byłem na rozmowach, obecnie się szykuję i jestem ciekaw jak to dziś wygląda i na ile powinienem inwestować czas w przygotowanie do tego typu etapów rekrutacyjnych, a na ile spodziewać się typowych rozmów technicznych czy też pytań dotyczących dotychczasowych projektów, w których pracowałem.
System design interviews
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3
- Rejestracja: dni
- Ostatnio: dni
- Postów: 355
najpierw to trzeba się dostać na jakąkolwiek rozmowę
Jest 5 etapów i zadanie domowe. System Design to norma od seniora wzwyż.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1018
System design jest trochę jak algorytmy. Idea brzmi dobrze, ale przez to, że jest to jeden z jedynych wyznaczników twojego skilla (obok algosów) to wymagania są kosmiczne i warto się trochę przygotować
na ile powinienem inwestować czas w przygotowanie do tego typu etapów rekrutacyjnych
IMO warto, bo to trochę norma. Ja sam uczyłem się z tej stronki, którą polecam https://www.hellointerview.com/learn/system-design/in-a-hurry/introduction . Jak ogarniasz te sprawy (tj. system design sam w sobie a nie koniecznie rozmowy o pracę) to przeczytanie tego zajmie ci maks parę godzin. Nie startowałbym bez przeczytania czegoś takiego, bo warto mówić tak, żeby się wstrzelić w klucz i poruszać tematy ważne
- Rejestracja: dni
- Ostatnio: dni
- Postów: 725
Ten system design to jest największy poziom cyrku w rekrutacji, masz w paredziesiąt minut sam zaprojektoać coś co normalnie powstawało inkrementalnie przez lata przy współudziale wielu architektów i programistów. W praktyce po prostu powtarzasz jak papugqa wyuczone schematy z tutoriali.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5
Wystarczy że obejrzysz tutoriale na YT, tam jest sporo przykładowych rekrutacji. Myślę, że ważniejsze od zaprojektowania super duper systemu jest pokazanie szerszego wachlarza skillsetów (zbieranie wymagań, architektura i komunikacja między komponentami, domena, API i jego wersjonowanie, observability, źródła danych oraz management danych (indeksy, TTL itp), sharding danych, skalowanie, HA)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 487
Miałem wiele razy i za każdym razem było inaczej. Były proste typu zaprojektuj skracacz linków (2 endpointy, bazka key-value, ewentualnie kolejka pomiędzy) a czasem były jakieś rozproszone bazy, rozproszone transakcje, wykorzystanie wzorców architektonicznych (circuit breaker, saga, itp.) + jakieś dopytki czemu osobny mikroserwis a nie monilit
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3
Ok, czyli zrobiła się z tego norma. Follow up questions:
- Czy jest to częściej kolejny etap po wstępnej technicznej (inny dzień), czy wszystko w ramach jednej długiej sesji?
- Screen sharing i drawing w jakimś wybranym przez siebie toolu do UMLa, czy może wybrane przez interviewerów platformy?
Pewnie co firma to obyczaj, ale próbuję wyrobić sobie jakiś średni obraz czego się spodziewać.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: London
- Postów: 121
W Mecie od IC4 (mid) system design jest obowiązkowy w interview.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 644
Hubertius napisał(a):
W Meta? Ja widziałem, że nawet w Splunku mają na Juniora system design interview. Więc teraz to już raczej na wszystkich szczeblach. P.S Swoją drogą, kiedyś na poziomie juniorskim zobczyć etap z 'system design' to byłby szok. Pokazuje to dobitnie, jak się czasy zmieniły i ile jest konkurencji na rynku.
Skąd zdziwienie?
System design wbrew pozorom na takim podstawowym poziomie w ogóle nie jest skomplikowany.
Wystarczy się dowiedzieć ogólnie co to jest i po co się to robi, w jaki sposób z grubsza można spełnić wymagania funkcjonalne i niefunkcjonalne, jak wygląda taka rozmowa i jak rozwiązać popularne problemy. Wszystkiego można się bez trudu dowiedzieć z internetu (jest masa poradników) i wystarczy przeczytać n razy, pogadać z jakimś modelem by rozwiać wątpliwości i dopytać o szczegóły i wio.
Na moim ostatnim interview gość z grubsza zagiął mnie tylko raz pytając czemu w rozwiązaniu zdecydowałem się na mongo a nie inną bazę nosql ale to był mój strzał bez głębszego przemyślenia a gość z którym gadałem akurat okazał się adminem sporego klastra :D
Podsumowując:
wymagania typu system design (trochę tak jak algo) to kolejne narzędzie mające nieco podnieść poziom rekrutacji ale przede wszystkim odsiać tych co faktycznie się interesują i coś kojarzą od bohaterów jednej firmy w której mieli mida/seniora robiąc dekadę to samo :D
- Rejestracja: dni
- Ostatnio: dni
- Postów: 789
Tylko że znowu - to miało sens gdy nie było LLM. Teraz byle design systemu zostanie wygenerowany przez byle LLM i jeszcze zrobi to lepiej.