Pytania na poziomie seniora na rekrutacji na mida

1

na rekrutacji miałem pytanie co to jest CQRS, Event drven development, mam 3 lata expa, czy to nie jest poziom seniora?
Co sądzicie o rozmowie prowadzone w formie teleturnieju i pytaniach typu:
Jaka jest różnica między Dispose vs Finalize?
Transient vs Scoped vs Singleton,
List vs IEnumerable
wymień wszystkie modifikatory dostępu i czym się różnią,
wzorce projektowe

Tego nie da się wszystkiego spamiętać, po to jest IDE żeby podejrzeć dokumentację.

8

Witamy na rekrutacjach w Europie wschodniej.

5

To troszkę jakby podstawy, jak 3 lata używasz intensywnie języka to nie musisz tego zakuwać tylko samo zostaje w głowie.
Co uważam? Że te pytania nic nie dają bo praktycznie każdy kandydat zna odpowiedzi, na takie pytania teoretyczne można zakuć w tydzień i nawet nie rozumieć o czym się mówi.

3

Większość pytań to poziom juniorski. CQS czy CQRS same się opisują wystarczy rozwinąć skrót...

5

Bez jaj, pytania na mocnego juniora, nie musisz obwiniać innych za braki we własnej wiedzy

0
ccwrc napisał(a):

Większość pytań to poziom juniorski. CQS czy CQRS same się opisują wystarczy rozwinąć skrót...

rozwinąć skrót każdy głupi potrafi. Podać przykład z głowy jest trudniej. Poza tym ja pracowałem w legacy w gównianej architekturze, a takie smaczki stosuje się w greenfieldach

Bez jaj, pytania na mocnego juniora, nie musisz obwiniać innych za braki we własnej wiedzy

to są pytania o architekture aplikacji, ja na juniorze poprawiełem bugi, optymalizowałem kod

0

Wszystko rozchodzi się o oczekiwania

Nawet jeżeli oczekuje się że to senior będzie w stanie popełnić 10minutowy wywód nt. CQRS czy innego pierdu pierdu, to czy jest coś złego w oczekiwaniu aby mid powiedział 1 czy w 2 zdaniach co to mniej więcej jest?

0
kamyk77 napisał(a):
ccwrc napisał(a):

Większość pytań to poziom juniorski. CQS czy CQRS same się opisują wystarczy rozwinąć skrót...

rozwinąć skrót każdy głupi potrafi. Podać przykład z głowy jest trudniej. Poza tym ja pracowałem w legacy w gównianej architekturze, a takie smaczki stosuje się w greenfieldach

CQS - Command Query Separation
command (funkcja, klasa, coś tam) - modyfikuje stan systemu/aplikacji/czegokolwiek
query (funkcja, klasa, coś tam) - nie modyfikuje stanu systemu/aplikacji, chyba, że modyfikuje - wtedy programista dostaje wymówienie
separation - separujemy command od query

Aż się cieszę, że zaliczyłeś mnie do grupy "każdy..." :)

0

Luźne pytania jak trochę pokodziłeś. Na juniora akurat.

6

Pytania na seniora to by było na przykład takie:

  • Z jakimi problemami spotkałeś się podczas implementacji CQRS w swoim projekcie?
  • Dlaczego zrobiłeś to tak, a nie inaczej?
  • Porównaj podejścia.

Czyli pytania odnoszące się do expa. Jeżeli nie masz expa to o co można Cię zapytać? Może z Twojego CV nie wynika to co zrobiłeś do tej pory i musisz je przebudować?

0

Banalne pytania, które można wykuć na pamięć dzień wcześniej wpisując "java interview question" w Google. Jeżeli przerasta cię tak prosta rzecz to znaczy, że nie należy ci się to stanowisko.

4

Tak patrzę na odpowiedzi i... Gadacie Panowie pierdoły według mnie.
Czy to jest proste? Tak, jest proste.
Zarówno w wyjaśnieniu ogólnym jak i szczegółowym.

Al3 kiedyś "junior" to był typ od brudnej roboty. Miał ogarniać podstawowe koncepty, z pomocą znaleźć źródło i rozwiązać problem.
Jeśli teraz zmierzamy do tego, że ten sam "junior" ma znać wzorce taktyczne, strategiczne, do tego być zdolny do wybrania "idealnej" architektury w systemie event-driven, zaproponować "najlepsiejszą" chmurę. A do tego być zajebisty w stawianiu pipeline'ów, algorytmach i kontakcie z klientem... Dokąd dążymy?

Jak ja zaczynałem, to miałem pytania z czystego JS, podstawy zapytań do baz i specka (.NET).
Nikt nie oczekiwał, że zaprojektuję doskonale rozwiazanie.

I junior nie ma projektować rozwiązań. Ma się odnaleźć i być w stanie pracować.
Czy jeśli firma dużo używa CQRS/DDD/CQS/Napletów Java to ma prawo wymagać?
Oczywiście, ma!

Ale nie traktujmy każdej wiedzy, która dla nas jest oczywista tak, jakby to było zrozumienie wzroca typu MVC.
Bo nie jest, nie będzie. A jak podnosisz wymagania dla juniorów, to maleje przestrzeń specjalizacji dla seniorów ;)

0
kamyk77 napisał(a):

na rekrutacji miałem pytanie co to jest CQRS,

W sumie lepiej nie wiedzieć, niż przeinżynierować. Jak chcesz się dowiedzieć czegoś o tym, to wpisz w Youtube Greg Young CQRS. On fajnie wyśmiewa, że ludzie z tego robią nie wiadomo co, a to jest banalny pattern.

Event drven development, mam 3 lata expa

Na eventach wszystko śmiga (cały frontend oraz mnóstwo nieco bardziej zaawansowanego backendu), więc dziwne, że nie miałeś z tym styczności.

czy to nie jest poziom seniora?

Zależy od sposobu sformułowania pytania. Co innego jest "na czym polega event driven development", a co innego jeśliby ci kazali na rekrutacji projektować cały system oparty na eventach.

1

To że o to pytają nie znaczy to będzie miało wpływ na ostateczna ocenę. Ale to raczej wygląda na typwe pytania na .net

0

Tego nie da się wszystkiego spamiętać, po to jest IDE żeby podejrzeć dokumentację.

Może głupie pytanie, ale serio w Visual Studio (bo zakładam że chodzi o C#) znajdę dokumentację o CQRS i wzorcach projektowych?
...

To się fajnie mówi "przecież mam dokumentację", ale tego typu pytania, nawet "teleturniejowe" mają na celu

  1. sprawdzić twoje doświadczenie - bo jeśli masz 3 lata expa, a nie znasz podstaw z głowy, to co ty robiłeś przez te 3 lata?
  2. sprawdzić twoje zachowanie przy odpowiedzi - czy odpowiesz "nie wiem" czy może "nie wiem, ale coś czytałem i chyba to jest to", a może nawet "nie wiem, ale wiem gdzie szukać i dajcie mi internet to pokażę wam gdzie to jest". To są 3 zupełnie różne "nie wiem".
1

Pomyśl o tym jako o szansy nauczenia się czegoś nowego. Trzeba się rozwijać.

2

to są pytania o architekture aplikacji, ja na juniorze poprawiełem bugi, optymalizowałem kod

Jaka jest różnica między Dispose vs Finalize?
Transient vs Scoped vs Singleton,
List vs IEnumerable
wymień wszystkie modifikatory dostępu i czym się różnią,

To są podstawy języka, które każdy junior powinien znać. Mnie osobiście byłoby wstyd przyznać że pracuję 3 lata w C# i nie wiem jakie są modyfikatory dostępu, czym się różni Finalize od Dispose czy poziomy życia obiektów w kontenerze DI.

Piszesz też że optymalizowałeś kod. No to tym bardziej powinieneś wiedzieć jakie są różnice w wydajności różnych kolekcji jak tablice, Dictionary, HashSet, List, HashTable, SortedList, itd a ty piszesz że nie odróżniasz interfejsu IEnumerable od implementacji List.

2
markone_dev napisał(a):

to są pytania o architekture aplikacji, ja na juniorze poprawiełem bugi, optymalizowałem kod

Jaka jest różnica między Dispose vs Finalize?
Transient vs Scoped vs Singleton,
List vs IEnumerable
wymień wszystkie modifikatory dostępu i czym się różnią,

To są podstawy języka, które każdy junior powinien znać. Mnie osobiście byłoby wstyd przyznać że pracuję 3 lata w C# i nie wiem jakie są modyfikatory dostępu, czym się różni Finalize od Dispose czy poziomy życia obiektów w kontenerze DI.

Piszesz też że optymalizowałeś kod. No to tym bardziej powinieneś wiedzieć jakie są różnice w wydajności różnych kolekcji jak tablice, Dictionary, HashSet, List, HashTable, SortedList, itd a ty piszesz że nie odróżniasz interfejsu IEnumerable od implementacji List.

Ja mam taki problem że poczytam wiem co i jak, jak potrzebuje zajrzę do dokumentacji ale takie rzeczy wylatują z głowy. Po prostu mój ,mózg uznaje ze jest to mi do niczego nie potrzebne i że znajdę jak będę potrzebował.

1
kelog napisał(a):

Może głupie pytanie, ale serio w Visual Studio (bo zakładam że chodzi o C#) znajdę dokumentację o CQRS i wzorcach projektowych?

Microsoft ma dużo artykułów na ten temat w swoich dokumentacjach
https://www.google.com/search?q=cqrs+site%3Amicrosoft.com
(akurat tych rzeczy ze strony Microsoftu nie czytałem, po prostu wrzucam link, bo mi czasem wyskakują w Google rzeczy o podobnej tematyce właśnie ze stron Microsoftu. Więc tak, serio Microsoft to umieszcza w dokumentacji)

a tu masz o event driven development w kontekście C#:
https://learn.microsoft.com/en-us/shows/csharp-fundamentals-for-absolute-beginners/understanding-events-and-event-driven-programming
(znowu, tylko wrzucam link, nie piszę w C#)

1
S4t napisał(a):

Ja mam taki problem że poczytam wiem co i jak, jak potrzebuje zajrzę do dokumentacji ale takie rzeczy wylatują z głowy. Po prostu mój ,mózg uznaje ze jest to mi do niczego nie potrzebne i że znajdę jak będę potrzebował.

Wiadomo, że mało kto jest chodzącą encyklopedią i rzeczy których rzadko używamy zwykle nie pamiętamy i trzeba zajrzeć do docsów, ale większość rzeczy, które wymienił op to są rzeczy których osoba programująca na co dzień w C# nie musi się uczyć i pamiętać. Poza tym jak można uznać pytanie o modyfikatory dostępu czy różnice między interfejsem IEnumerable a jedną z jego implementacji List pytaniem na poziomie seniora :| i w dodatku pisze to osoba mają 3 lata komercyjnego expa w C#.

0
kamyk77 napisał(a):

rozwinąć skrót każdy głupi potrafi. Podać przykład z głowy jest trudniej. Poza tym ja pracowałem w legacy w gównianej architekturze, a takie smaczki stosuje się w greenfieldach

Rynek kandydata się skończył. Nikt się nie będzie pytał, czy zdążyłeś się nauczyć, tylko wezmą innego z kilkudziesięciu kandydatów, który akurat będzie umiał "w smaczki".

0

Odpowiem Ci przewrotnie. Znając odpowiedzi na te pytania, aplikując na mida nie chciałbym z tym gościem pracować.

0
Mozzie napisał(a):

Odpowiem Ci przewrotnie. Znając odpowiedzi na te pytania, aplikując na mida nie chciałbym z tym gościem pracować.

Napisałem wyraźnie w poście, które rzeczy wg mnie odnoszą się do poziomu seniora:
CQRS, Event driven development.

Resztę zagadnień podałem jako przykład pytań które są pamięciową do wykucia, ale nie napisałem, że są na poziomie seniora.

0
markone_dev napisał(a):
S4t napisał(a):

Ja mam taki problem że poczytam wiem co i jak, jak potrzebuje zajrzę do dokumentacji ale takie rzeczy wylatują z głowy. Po prostu mój ,mózg uznaje ze jest to mi do niczego nie potrzebne i że znajdę jak będę potrzebował.

Wiadomo, że mało kto jest chodzącą encyklopedią i rzeczy których rzadko używamy zwykle nie pamiętamy i trzeba zajrzeć do docsów, ale większość rzeczy, które wymienił op to są rzeczy których osoba programująca na co dzień w C# nie musi się uczyć i pamiętać. Poza tym jak można uznać pytanie o modyfikatory dostępu czy różnice między interfejsem IEnumerable a jedną z jego implementacji List pytaniem na poziomie seniora :| i w dodatku pisze to osoba mają 3 lata komercyjnego expa w C#.

Dla ciebie umiejętnością na poziomie seniora jest czytanie ze zrozumieniem. W poście zaznaczyłem które rzeczy odnoszą się do poziomu seniora CQRS i event driven development. Resztę zagadnień podałem przykładowo żeby zobrazować jakie pytania pojawiają się na rozmowie w formie teleturnieju, czyli pytania na zakucie na pamięć

3

Płakanie jakie to rekrutacje są złe niczego nie zmieni :( Tak po prostu jest i możesz się spierać i opierać - Na Twoje miejsce jest 10 ukraińców, którzy z pocałowaniem ręki spędzą kilka wieczorów na wykucie pytań :D

0
kamyk77 napisał(a):

Dla ciebie umiejętnością na poziomie seniora jest czytanie ze zrozumieniem. W poście zaznaczyłem które rzeczy odnoszą się do poziomu seniora CQRS i event driven development.

Przyznaję się do błędu że to przeoczyłem, mea culpa.

Mimo wszystko jako mid coś tam już powinieneś umieć na ten temat odpowiedzieć. To że ostatnie 3 lata siedziałeś w utrzymaniówce to trochę słaba wymówka bo oczywiście praktycznej wiedzy nie miałeś jak pozyskać na ten temat, ale to są tak popularne i grzane tematy w branży i to od wielu lat, że naprawdę trudno się z nimi nie zetknąć i nie umieć odpowiedzieć na nie choćby w podstawowym zakresie. Wystarczy czytać wątki w Inżynieria Oprogramowania na 4P.
Poza tym nie napisałeś jak szczegółowej i dokładnej odpowiedzi oczekiwał twój oprawca.

kamyk77 napisał(a):

Resztę zagadnień podałem przykładowo żeby zobrazować jakie pytania pojawiają się na rozmowie w formie teleturnieju, czyli pytania na zakucie na pamięć

No nie. Akurat przykłady które podałeś nie mają nic wspólnego z zakuwaniem. To jest jak elementarz, jak 2+2. Nie pierdziel, że potrzebujesz dokumentacji żeby wymienić i opisać czym się różnią modyfikatory dostępu w C#. Chyba że jesteś z tych co wszystko robią public i yolo a cykl życia obiektów w kontenerze DI dają by default na singleton i dowiadują się że są też inne i jak ich poprawnie używać dopiero jak coś padnie na produkcji.

3

Pytania na seniora nie różnią się niczym od pytań na mida, poza tym, że po rozmowie na seniora są w stanie zaoferować wyższy hajs, oraz że kandydat ma więcej lat expa. Zamykam temat xd

1

Wiele pytań na rekrutacji jest głupia i wygląda jak kolos na studiach. Nie widzę sensu w pytaniu np. o modyfikatory dostępu, albo o język sam w sobie. Miałem już taką rekrutację, gdzie ziomek mnie wypytał o podstawy JSa i pytał o różnicę między Javą a JavaScriptem, a to była niby oferta na mida/seniora xD Podobno są "seniorzy", którzy nie ogarniają takich rzeczy, ale imo już lepiej pytać o projekty, w których dev pracował, o zastosowane tam rozwiązania i dopiero wtedy dopytanie o jakieś szczegóły danej technologii. Nie wiem, może pytania o optymalizację, np. jak można zoptymalizować zapytania w SQLu, ogólny flow aplikacji, albo wielowątkowość. Na takim odpytywaniu regułek sam często zawalam, bo wylatują mi takie rzeczy z głowy. Od tego jest dokumentacja, żeby z niej korzystać, a nie wkuwać wszystko na pamięć.

0

W jakiej formie były zadane dokładnie te pytania? I co na nie odpowiedziałeś? I co ci odpowiedzieli?

Bo to może być subtelna różnica, czy ktoś pyta ogólnie, czy pyta o szczegóły albo każe coś mocniej rozkminiać na większym przykładzie.

2

Jest rok 2023, teraz jest 100 osób na jedno miejsce. Na rekrutacjach mogą się zapytać Ciebie o cokolwiek bo nie jak nie Ty to na 100% znajdą kogoś innego. U mnie w projekcie klient robi z nami co chce, bo dobrze wie że jak nie my to sobie kogoś innego znajdzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1