Wątek przeniesiony 2023-06-07 09:42 z C# i .NET przez ŁF.

Rozmowy techniczne - .NET (Mid/Regular +)

0

W skrócie: Mam ok. 1,5 expa doświadczenia (1 Firma - Jr .Net Developer) i ostatnio zacząłem rozglądać się za zmianą pracy. Jako wyzwanie rzuciłem sobie wysłanie CV na pozycje Mid/Regular i otrzymanie chociaż 1 oferty.

Obecnie jestem na ostatnim etapie procesu rekrutacyjnego do firmy, na której otrzymaniu oferty mi bardzo zależy. Wcześniej była to tylko rozmowa z HR i 'wstępna' rozmowa techniczna (30 minut).

Za kilka dni mam mieć dłuższą rozmowę (~2h) z 2 Developerami (Senior& Tech Lead), w mailu od HR jest napisane, jakie tematy będą poruszane na w/w rozmowie: zadanie z

  • programowania w C#,
  • zadania algorytmiczne,
  • projektowanie struktury bazy danych,
  • zapytania bazodanowe.

Dodatkowo:

  • testy jednostkowe,
  • dobre praktyki,
  • wzorce projektowe.

Generalnie w obecnej firmie jakość kodu jest dramatyczna, jak i sam workflow oraz chaos, testów nie piszemy, struktura bazy danych też jest wymyślana na bieżąco a ja ze względu na swoją pozycję nie mam zbyt wiele do powiedzenia i moje wszelakie uwagi (jak chociażby to, żebyśmy zaimplementowali testy jednostkowe) są po prostu przemilczane (cały zespół włącznie z Tech Leadem i Biznesem jest z Indii).

W związku z tym, macie jakieś konkretne wskazówki/źródła do nauki/konkretne przykłady w/w tematów, które spełniają powszechnie przyjęte "dobre praktyki" pisania kodu?

EDIT: Generalnie to też będzie moja pierwsza rozmowa na poziom Mid/Regular, czym one się ogólnie różnią od rozmów na poziomie Entry/Junior?

0

@CraneDev:

CraneDev napisał(a):

W związku z tym, macie jakieś konkretne wskazówki/źródła do nauki/konkretne przykłady w/w tematów, które spełniają powszechnie przyjęte "dobre praktyki" pisania kodu?

Nie jesteś w stanie znaleźć źródła, które opiszę wszystko. Jeśli sam nie starasz się pisać dobrego kodu, stosować jakiś wzorców to tak nagle się tego nie nauczysz. To wymaga praktyki. Jeśli tego w praktyce nie robiłeś to chcesz na takiej rozmowie powiedzieć?

EDIT: Generalnie to też będzie moja pierwsza rozmowa na poziom Mid/Regular, czym one się ogólnie różnią od rozmów na poziomie Entry/Junior?

Pewnie poziomem trudności.

0
CraneDev napisał(a):

Generalnie to też będzie moja pierwsza rozmowa na poziom Mid/Regular, czym one się ogólnie różnią od rozmów na poziomie Entry/Junior?

Zazwyczaj niczym. Różnią się przede wszystkich liczbą dopuszczalnych błędów

0

Zamiast zapytać "czym jest SOLID" zapytają "jak implementujesz SOLID na codzien". Mniej więcej taka zasada

3
CraneDev napisał(a):
  • programowania w C#,
  • zadania algorytmiczne,
  • projektowanie struktury bazy danych,
  • zapytania bazodanowe.

Dodatkowo:

  • testy jednostkowe,
  • dobre praktyki,
  • wzorce projektowe.
  • Test wiedzy z języka, jego właściwości, teoria rzeczy niekoniecznie używanych na co dzień
  • Leetcode (porozwiązuj sobie przykładowe zadania, z reguły często występuje tam rekurencja / odpowiednie dobranie struktury danych do problemu)
  • Normalizacja (odpowiednie wydelegowanie danych do osobnych tabel, relacje typu one to many, many to many itp)
  • Pewnie podstawy typu group by, left join / inner join. Funkcji okienkowych raczej nikt nie będzie sprawdzał, ale warto przynajmniej wiedzieć czym są i do czego służą
  • Teoria, narzędzia do testowania w Twoim języku, podejścia, przetestowanie czegoś na żywo
  • SOLID sridy i znowu powrót np do struktur danych :D
  • Pewnie żebyś wymienił z dwa/trzy i opisał kiedy byś użył

W c# nie pracuję, ale generalnie te rozmowy mają wspólny mianownik. Na ostatnich kilku rekru tak to mniej więcej wyglądało w moim przypadku (mid/senior).

3

Czyli standard pytań do przeciętnego korpo/januszsoftu. O co dokładnie zapytają tego Ci nikt nie powie ale może masz znajomego co tam rekrutował lub już tam pracuje? Wykorzystaj swoją siec kontaktów! (tak wiem brzmię jak couch).

Co do baz danych to zadania są bardzo standardowe, postaci normalne oraz denormalizacja. Indeksy (clustered i te nie clustered). Funkcje okna ale to się raczej żadnko pojawia. Transakcje po co są i stopnie izolacji. Mogą być też jakieś kruczki typu jaki typ danych do stringów w Unicode i czy w DB można przechowywać pliki. Może jeszcze DDL vs DML (czy jak się to zwało).

Najlepiej to sobie spisać x2 review na stratę i po prostu pójść po to żeby wybadać rynek. Rekrutacja to "numbers game" czyli wysyłąsz CV do tylu firm ile się da. Mam kumpla który wysłał raz CV do ponad 30 firm, tak że musiał ogarniać w excelu co gdzie i kiedy... Wszystko zależy tylko od tego ile czasu możesz na to poświęcić.

Podaj nazwę firmy, to może ktoś podpowie co tam dają. Raczej nie będzie to rocket science, algosy to albo jakieś drzewo binarne, lub graf wgłąb lub wszerz lub jakieś inne mało przydatne goovno które się daje na rekrutacje a nie przystaje do tego co się robi potem.

1

AFAIK w Objectivity na rozmowie łączyłem się przez RDP do jakiejś maszyny z Windowsem, na której zadaniem był live debugging jakiegoś prostego programu w ASP .NET.

Nie zapamiętałem pytań technicych, bo bylo to dosc dawno, ale dobrze wspominam tą rozmowę. Tzn. że raczej nie było pytań od czapy ani algo, jak by mnie ktoś z algo trzepał to bym zapamiętał.

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