Codility test

0

Podczas rekrutacji dostałem test na Codility do rozwiązania. Zadanka dosyć proste, nie były zbyt wymagające. Na każdym task'u po naciśnięciu RUN nie było błędów. Kończę test, widzę aggregated total score 3%. Dlaczego taki niski wynik?

0

bo nie były tak proste jakimi się wydawały
sprawdziłeś przypadki brzegowe?
potestowałeś chociaż na innych danych niż te wejściowe z codility run?

0

Tak, testowałem na innych danych. Nie sprawdzałem takich rzeczy jak "czy zmienna A jest liczbą całkowitą". Gdyby 0% byłoby na jednym task'u ale nie prawie na wszystkich. Przed testem zrobiłem kilka zadań demo z Codility, przy błędzie run-time miałem 66%. Są to zadania na poziomie juniora, kilka dosyć prostych funkcji przyjmujących tablice jako zmienne.

0

Do zamknięcia, support Codility wyjaśnił sprawę.

0

Co było powodem?

1

Powodem było użycie codility

0

Założyłem że wszystkie dane, które przyjmuje funkcja są poprawne. Przez to wiele testów się wysypało. Robiąc zadania z codility założyłem też, że jeżeli po naciśnieciu RUN nie wywali błędów to wszystko jest jak najbardziej ok. Oprócz tego źle zrozumiałem drugi task. Mimo wszystko wynik 0% na dwóch taskach i tak mnie mocno dziwi... Tymbardziej że taski wydawały mi się dosyć proste (prostsze niż binary gap z pierwszej lekcji, który zrobiłem na 66%).

0

Przechodziłem Codility i wszystkie rozwiązania na bieżąco znalazłem w necie. Miałem około 80%.

0

A może zapomniałeś zapisać kodu zadania zanim skończył się czas? To może wyjaśniać 0% za całe zadanie.

2

@Mjuzik

  1. Codility podaje wymagania czasowe na wykonanie kodu w postaci notacji asymptotycznej. Czy na pewno sie do nich zastosowałeś? Bo jak masz za zadanie napisać sortowanie i podane ze ma być O(nlogn) a ty napiszesz bubble sort to niestety ale może tak być ze na examplach nie ma błędów (mały rozmiar danych) i jak odpalasz sobie lokalne testy dla innych danych to też niby działa, a na codility dostaniesz tylko kilka %. To jest bardzo bardzo istotne.
  2. Koniecznie trzeba sprawdzać warunki brzegowe bo zawsze są testy które je uwzględniają. Jeśli zadanie nie sugeruje żeby sprawdzać poprawność danych to sie tego nie robi, ale jeśli jest napisane że wartość parametry może być 1-1000000 to koniecznie trzeba to tak napisać żeby działało zarówno dla 1 jak i miliona.
  3. Format wyjścia :) Tak samo jak ze spojami i innymi tego typu automatami format wyjścia jest święty. Jeśli będziesz miał jakis dodatkowy newline, spacje czy coś równie głupiego to niestety punktów nie dostaniesz. To jest szczególnie istotne jeśli w zadaniu mozesz mieć kilka zestawów na raz i masz wypisać kilka odpowiedzi. Znów mozesz lokalnie testować tylko dla 1 zestawu i wszystko jest ok, a potem codility pośle kilka zestawów a ty dodałeś o 1 newline za dużo i nie zaliczy ci nic poza 1 zestawem i znów będzie kilka % tylko.

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