• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# - zadania rekrutacyjne/projekt

VPS Starter Arubacloud
0 głosów
1,905 wizyt
pytanie zadane 17 sierpnia 2018 w C# przez voltex Obywatel (1,210 p.)
Witam,

wiem, że takich pytań pewnie było setki, ale aktualnie szukam weny i pomysłu na projekcik w asp.net mvc. Już w miarę ogarniam i chciałbym napisać coś średnio-zaawansowanego, z możliwością wykorzystania wzorców, itp. Ewentualnie może jakieś zadania rekrutacyjne trafiliście ciekawe to też bardzo chętnie przyjmę :)

2 odpowiedzi

+3 głosów
odpowiedź 17 sierpnia 2018 przez Tomek Sochacki Ekspert (227,510 p.)

Jeśli chcesz, aby był to projekt to przedstawienia na rekrutacji to rozwiązań jest wiele. Parę razy dawałem już różne propozycje, więc dzisiaj może zrobimy coś nowego, czego jeszcze na tym forum nie dawałem :)

Otóż apka wbrew pozorom wcale nie taka trudna do napisania, ale trudna do ogarnięcia jako całość i do dobrego rozplanowania. Zrób prostą aplikację do fakturowania dla mikrofirmy. Nie chodzi tu o kombajn i w pełni poprawnie działającą aplikacje od strony księgowej, nie, chodzi mi o coś innego:

  1. Zakładam, że nie masz DG, więc mi na rekrutacji taką aplikacją pokazałbyś, że umiesz szukać informacji i "wejść w temat". Poszukaj sobie w necie jak wygląda faktura VAT, jakie pola musi zawierać itp. Uwierz mi, umiejętność szukania informacji i ich analizowania jest nawet więcej warta niż super znajomość języka.
  2. Pokażesz, że umiesz rozplanować całą aplikację, w tym właśnie umiejętnie wykorzystać wzorce, o których pisałeś :)
  3. Pokażesz, że umiesz przemyśleć bazę danych, co uwierz mi, wiele osób naprawdę (Comandeer - już zapamiętałem jak pisać :p) przerasta i boją się w ogóle podejść do tematu.
  4. Pokażesz, że umiesz pisać kod... możesz mi wierzyć lub nie, ale nie bez powodu dałem ten punkt jako ostatni - jeśli poradzisz sobie z 1-3 i choć w miarę dobrze ogarniesz pkt. 4 to na prawdę będziesz świetnym kandydatem do juniora, i to takiego z ładnymi perspektywami rozwoju.

A co do samej apki to proponuję abyś wziąć kartę i ołówek (tak... odchodzimy od kompa) i dokładnie zacznij rozpisywać wszystkie funkcjonalności jakie apka miałaby mieć, np.:

  • robimy apkę dla tylko jednej firmy czy robimy też system logowania i obsługujemy wiele firm?
  • przy wystawianiu faktury user powinien mieć opcję wyboru z zapisanych kontrahentów
  • to samo przy księgowaniu kosztów
  • hmm, a co jak kontrahent nagle zmieni nazwę, adres itp.? Przemyśl... bo nei można dokonywać zmian w starych fakturach, one muszą być na starym adresie, więc co... zupełnie nowy kontrahent w bazie czy jakoś inaczej...?
  • hmm, przydałaby się jakaś walidacja danych... tu pole do popisu... walidacja, nip, regon itd.
  • hmm, może zrobimy jakieś uproszczone zestawienia faktur wystawinych i kosztowych? (nie baw się tutaj w pełną ewidencję VAT itp. bo nikt nie wymaga abyś aż tak dokładnie wszedł w temat... zrób to po swojemu ja Ty uważasz)
  • hmm... a skoto robimy "po swojemu", to może pobawimy się w jakieś opcje konfiguracji tych zestawień?
  • Hmm... skoro mowa o konfiguracji to może w ogóle niech user ma możliwość ustawiania jakiś rzeczy w apce... nie wiem, loga na fakturze, koloru tła zestawień itp. itd.
  • A może jakieś zestawienia wizualne... jakieś wykresiki, analiza zyski/straty itp.? (tu pytanie, czy chcesz robić tylko back-end czy też i front)
  • a może jakaś opcja wysyłania faktur i zestawień na e-mail?
  • a jak już przy tym, to może jakiś generator faktur do PDF...?

Pomysłów jest mnóstwo, to tylko pisane z palca na szybko :)

Pomyśl, apka na prawdę nie jest trudna w napisaniu, ale trudna w próbie analizy co i jak i z czym... a to jest tak na prawdę programowani :)

0 głosów
odpowiedź 17 sierpnia 2018 przez voltex Obywatel (1,210 p.)

Hej po pierwsze dziękuję za propozycję ;) To miłe dostać tak szczegółową odpowiedź i bardzo szanuję zawsze jak ktoś poświęca swój czas na napisanie tych paru slów ;)

Problem w tym, że takich modułów/rozszerzeń napisałem się już masę w pracy ;)

hmm, a co jak kontrahent nagle zmieni nazwę, adres itp.? Przemyśl... bo nei można dokonywać zmian w starych fakturach, one muszą być na starym adresie, więc co... zupełnie nowy kontrahent w bazie czy jakoś inaczej...?

Mamy tyle formularzy i różnych umów, że w aplikacji było kilka podejść do takiego problemu ;) Jednym bylo zapisywanie danych z konkretnej faktury do bazy danych i przy wyświetlaniu historycznych tabel wyciąganie tychże danych i uzupełnianie formularza. Można też każdą zmianę odnotowywać w odzielnej tabeli i na podstawie id i timestampa wyciągać odpowiednie dane faktury. A równie dobrze można taką fakture zapisywać do pdf i na serwerze trzymać. 

hmm, przydałaby się jakaś walidacja danych... tu pole do popisu... walidacja, nip, regon itd.

Hehe, ile ja się już regexów i liczenia sum kontrolnych narobiłem w życiu ;) Zarówno walidacje po stronie js jak i backu wielokrotnie już robiem. 

a jak już przy tym, to może jakiś generator faktur do PDF...?

Hehe, u mnie w firmie wydruki robimy w latex. Pewnie są lepsze i przyjemniejsze narzędzia, bo ten latex jest tak czuły, że jeden nieodpowiedni znak i się wszystko wysypuje :D

hmm, może zrobimy jakieś uproszczone zestawienia faktur wystawinych i kosztowych? (nie baw się tutaj w pełną ewidencję VAT itp. bo nikt nie wymaga abyś aż tak dokładnie wszedł w temat... zrób to po swojemu ja Ty uważasz)

Dla takich faktur takie zestawienia już w sumie nie stanowią dla mnie wyzwania. Zdarzało mi się pisać zapytania SQL na 300 linii kodu (chociaż mistrzem SQLa nie jestem i pewnie można by je napisać dużo lepiej). 

Ogólnie pomysł jest bardzo fajny i rozwijający, ale chyba nie dla mnie. Pewnie bym się podjął go gdyby nie fakt, że robię to po 8h dziennie ;) Aha, ofc ja to robię w PHP, ale przepisanie tego do C# nie wydaje się dla mnie atrakcyjne. Może zalęgł Ci się w głowie jakiś inny pomysł? ;)

komentarz 17 sierpnia 2018 przez Tomek Sochacki Ekspert (227,510 p.)
A to zmienia postać rzeczy... myślalem, że jesteś na początku nauki programowania, a nie na takim etapie :) No to nie wiem...

Podobne pytania

+1 głos
1 odpowiedź 1,342 wizyt
0 głosów
1 odpowiedź 146 wizyt
+1 głos
0 odpowiedzi 342 wizyt
pytanie zadane 1 kwietnia 2023 w JavaScript przez Bartłomiej Sikora Użytkownik (730 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...