Jaka wiedza z C# wymagana jest od stazysty chcacego pracowac z tym jezykiem ? C#/.Net

0

Czesc,

Zadawalem ostatnio na forum pytanie odnosnie wymagan co do umiejetnosci jakie powinien posiadac stazysta .Net. ale dzisiaj chcialbym je bardziaj skonkretyzowac w kontekscie jezyka C#. Co wedlug was powinienem umiec w tym jezyku aby miec mozliwosc dostania stazu o, ktorym wspomnialem ? Nie pytam specjalnie co powinienem umiec zeby po prostu dobrze umiec poslugiwac sie C# bo mysle, ze jest to na tyle zlozony jezyk ze nie starczylo by tu miejsca na odpowiedz.

Pozdrawiam :)

1

Hmm napisać Webową aplikację od początku do końca samemu od bazy po front. Może to być nawet bardziej rozbudowany CRUD. Oczywiście zgodnie ze standardami i wzorcami. Dodatkowo umiejętność posługiwania się systemem kontroli wersji oraz językiem angielskim. Nie ma czegoś takiego według mnie jak ja znajomość języka - nikt Ci nie powie np " jak znasz LINQ to możesz kandydować".

2

Nie wiem co na staż, ale według mnie warto to znać

LINQ + Expressions (ale tak na serio), typy anonimowe, delegaty Func/Action, value tuple, struktury typu lista słownii hashset itd, interfejsy, extension methods, async await, nullability i powiązane - ? ?? .?, refleksję*, TPL* / PLINQ*

* have fun

1

Odpowiedź wbrew pozorom jest dosc prosta. Musisz znać go w stopniu pozwalającym napisac działająca aplikacje - w tych czasach najczęściej webową ale to nie reguła. Szybko przekonasz się że sam język to ledwie kropla w morzu - po prostu narzędzie. To co naprawde musisz znać to biblioteki, niekiedy wzorce, a na pewno wiedziec co to i umiec się posługiwac Dependency Injection. Obecnie postawienie prostej apki webowej w ASP.NET (Core), MVC lub Angular + podpięcie jej do bazy - więc SQL + Entity Framework to chyba minimum co powinienes umiec żeby myślec o pracy. Cała reszta wychodzi w trakcie bo blblioteki wymagają zwykle znajmomości prawie wszytskich zagadnien języka.

1

Ja bym zaryzykował, że to zależy od pracodawcy.
Są tacy, którzy na rozmowie będą widzieli w Tobie potencjał i Cię wezmą. Jeśli wiesz, czym się różni klasa od obiektu, to dla niektórych juz będzie dość. Inni będą drążyc, czy być może zamiast na staż nie wciągnać Cię na juniora.
Każda firma ma swój stack i trudno jednoznacznie odpowiedzieć.
Może się okazać, że nie umiesz nic, a masz papierek z dyplomem uczelni i już staż się nadasz.

Ale dla swojego wewnętrznego spokoju to ja bym powiedział tak:

  • umieć wyjaśnić 4 filary Programowania Obiektowego na przykładnie C#
  • umieć podstawy SQLa
  • różnica między abstrakcjami a interfejsami (póki jeszcze jest)
  • umieć pisać kod, który nie wygląda jak spaghetti.
  • umiec widzieć miejsce na refaktor w spaghetti. ^^
  • ogromnym plusem będzie umiejętność stosowania frameworków jak Unity, EF, Autofac, nUnit, xUnit ,jakiekolwiek, nawet nie muszą być uzywane w pracy, ale to już pokazuje, że wykazujesz zainteresowanie tematem
1

Na staż to na pewno podstawy języka, czyli zmienne, pętle, typy, linq, delegaty, metody rozszerzające, interfejsy, jakieś podstawy asynchroniczności i wszystko co znajdziesz w książce z podstawami C#.
Do tego raczej na pewno nie będziesz pracować z samym C#, więc przyda się znajomość jakiegoś ORM (najczęściej używany to chyba EF), SQL. Jeżeli na stażu miałbyś pracować z aplikacjami webowymi to do tego dochodzi html, javascript, podstawy css.

Do tego oczywiście samo programowanie obiektowe, wzorce projektowe (chociaż kilka podstawowych), wiedzieć co to jest np SOLID i dlaczego warto tego się trzymać. Będzie fajnie jeśli będziesz potrafił pisać testy jednostkowe

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