Pytanie rekrutacyjne na Juniora ...

0

Takie ototo przykładowe zadanie dostałem do przerobienia przed rozmową rekrutacyjna i przyznam sie nawet nie wiem od czego zacząć. Interfejs ArrayList? Za wszelką pomoc dziekuje serdecznie.
Zadanie

  1. Zaprojektuj interfejs systemu obsługującego mecze drużyn piłkarskich.Interfejs powinien operować metody umożliwiające planowanie meczy między drużynami , przechowywanie ich wyników, wyliczanie i prezentowanie statystyki dla poszczególnej drużyny, (np. ile meczy wygranych, ile przegranych, ile remisów, mecze zaplanowane lub przeprowadzone pomiędzy zadanymi datami.Możesz też zaproponować inne metody.
  2. Zaimplementuj także metody umożliwiające tworzenie list rankingowych drużyn wg. różnych kryteriów np. liczby wygranych meczy, alfabetycznie po nazwie drużyny.
  3. Zaimplementuj interfejs oraz napisz testy jednostkowe dla tego systemu.

Rozważ użycie klas : Mecz, Drużyna, Zawodnik, wykorzystaj kompozycje, rozważ użycie dziedziczenia.
Rozważ wykorzystanie typu enum do reprezentacji wyniku meczu.

0

a) Z czym dokładnie masz problem? Dostałeś nawet wskazówki jakie klasy masz stworzyć i co masz użyć.
b) Nie widzę, aby był wymóg aplikacji webowej więc możesz to zrobić konsolowo.
c) Najpierw zrób brzydko - "aby działało", potem to będziesz upiększać.

edit: Żeby nie było, mój komentarz nie jest zgryźliwy. serio pytam z czym dokładnie masz problem. Nie oczekuj, że dostaniesz od nas gotowe zadanie. Łatwiej by było jakbyś wypunktował swoje przemyślenia i swoje obawy jak Ty to widzisz.

1

Zabrałbym się za to w taki sposób, że stworzyłbym klasę Mecz. KlasaMecz powinna zawierać dwa obiekty Drużyna, natomiast klasa Drużyna listę zawodników (obiektów klasy Zawodnik). Tworzenie list rankingowych zapewne ma się opierać o comparatory różnego typu. Poczytaj o https://docs.oracle.com/javas[...]api/java/util/Comparator.html. Ranking opierać o wyniki pobierane z tabeli z bazy danych z meczami.

0
Arbiej napisał(a):

Powinienem stworzyc interfejs ArrayList żeby to działalo?

Dlaczego tak myślisz? Skąd Ci to przyszło do głowy? Wypunktuj proszę swoję przemyślenia dotyczące tego projektu i dodaj do niego swoje obawy. Postaramy Ci się pomóc ale nie w sytuacji gdy włożymy w to więcej niż Ty ;)

0

Masz zdefiniować listę metod pozwalających na modyfikację danych według założeń projektu, a później zapisać ją w formie Java interface.

interface Score{
MatchId scheduleMatch(Team host, Team guest, Instant date);
void setResult(MatchId matchId, int goalsHost, int goalsGuest);
.....
}

Do tego oczywiście trzeba rozpisać klasy danych występujące w tych metodach. Na koniec zaimplementować ten interface.

0

Może jednak zacznij od stażu a najlepiej książki

2

Powinienem stworzyc interfejs ArrayList żeby to działalo

Obawiam sie ze jesteś bardzo daleko od poziomu żeby iść na jakąkolwiek rozmowę rekrutacyjną. Interfejs List istnieje od dawna, klasa ArrayList też. Jednocześnie nie mają one zupełnie nic wspólnego z twoim zadaniem. Tzn może gdzieśtam w kodzie trzeba będzie użyć listy, ale jest to zupełny szczegół implementacyjny.
Dostałeś zadanie zaprojektuj samochód a pytasz się nas czy powinienem pokolorować to na czerwono.

Twoim zadaniem jest stworzyć biznesowy interfejs (albo raczej zestaw interfejsów) plus zestaw klas domenowych, które reprezentują podany problem. Masz to też zaimplementować, wiec realnie twoim zadaniem jest napisać program który umożliwia: planowanie meczy między drużynami , przechowywanie ich wyników, wyliczanie i prezentowanie statystyki dla poszczególnej drużyny, (np. ile meczy wygranych, ile przegranych, ile remisów, mecze zaplanowane lub przeprowadzone pomiędzy zadanymi datami.
Może ten interfejs w poleceniu cie zmylił, nie wiem, ale generalnie masz napisać program z takimi funkcjami jw.

0

Dzięki za porady i uszczypliwości rozmowe sobie daruje.

0

Krytyka i porady, które mają swoje podstawy to uszczypliwości?

0
Arbiej napisał(a):

Dzięki za porady i uszczypliwości rozmowe sobie daruje.

Dostałeś solidne porady jak się za to zabrać. Czego oczekiwałeś - że forumowicze napiszą za Ciebie aplikację? Czy, że każdy doda kawałek kodu od siebie, Ty to posklejasz w całość i będziesz miał z głowy? To jest dość prosty task, zwłaszcza jeżeli możesz go rozwiązać w domu. Naprawdę, w pracy będą czekały na Ciebie większe wyzwania, czasem bardziej skomplikowane, często usytuowane w ogromnym systemie i będziesz musiał to ogarnąć. Musisz dużo praktykować, bo po prostu na stanowisko Junior xxx Developer nie dostaje się z dobrymi chęciami nauki w pracy. Trzeba już coś umieć.

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