Wyszukiwanie w witrynie

Chcesz ulepszyć swoje kodowanie? Wypróbuj konkurencyjne wyzwanie związane z kodowaniem!


Streszczenie

  • Konkurencyjne wyzwania związane z kodowaniem pozwalają przetestować i utrwalić swoją wiedzę na temat struktur danych i algorytmów.
  • Wyzwania odpowiadają różnym poziomom umiejętności i oferują korzyści, takie jak przygotowanie do rozmowy kwalifikacyjnej i nauka tworzenia bardziej wydajnego kodu.
  • Wskazówki dla początkujących obejmują korzystanie z preferowanego IDE, posiadanie rozwiązania podstawowego i sprawdzanie przypadków brzegowych.

Istnieje wiele sposobów, aby przejść od początkującego programisty do kogoś z odrobiną doświadczenia. Jeśli nie masz firmy, w której możesz odbyć staż, jednym z najskuteczniejszych sposobów na udoskonalenie umiejętności programowania są konkurencyjne wyzwania związane z kodowaniem online. Pozwól mi wyjaśnić.

Czym w ogóle jest konkurencyjne wyzwanie w kodowaniu?

Konkurencyjne wyzwania związane z kodowaniem to seria problemów, które musisz rozwiązać w wybranym przez siebie języku programowania tak szybko i efektywnie, jak to możliwe. Podczas wyzwania związanego z kodowaniem prawdopodobnie natkniesz się na rzeczy, które znasz z podstaw swojej nauki. Na przykład omówiliśmy struktury danych w menedżerze receptur, który zakodowaliśmy w Rust. Wiele wyzwań związanych z kodowaniem pomoże Ci nauczyć się łatwo budować struktury danych i sprawdzić swoją wiedzę na temat kodowania niestandardowych struktur danych.

Jedną z najlepszych rzeczy w wyzwaniach związanych z kodowaniem jest to, że niezależnie od poziomu Twoich umiejętności, możesz znaleźć wyzwanie, które sprawdzi Twoją wiedzę i wzmocni Twoją naukę. Wyzwania te są również dostępne w różnym czasie, dzięki czemu możesz samodzielnie myśleć o rozwiązaniu problemu. Musisz określić, które z tych wyzwań związanych z kodowaniem najlepiej odpowiada Twojemu poziomowi umiejętności i wiedzy.

Jakie korzyści płyną z wyzwań związanych z kodowaniem?

Programista na każdym poziomie może wykonywać wyzwania związane z kodowaniem. Jednak to, co wybierzesz w ramach wyzwania związanego z kodowaniem, różni się w zależności od tego, czego chcesz się nauczyć. Wśród korzyści, jakie można uzyskać dzięki odkrywaniu wyzwań związanych z kodowaniem, znajdują się:

  • Podstawy wzmacniające: wiesz trochę o typach danych, strukturach i podstawowych algorytmach, ale chcesz dowiedzieć się więcej? Podstawy pozwalają zagłębić się w rdzeń języka i pomóc Ci utrwalić to, co już wiesz o podstawach języka, w tym o instrukcjach warunkowych, instrukcjach przepływu i strukturach danych.
  • Przygotowanie do rozmowy kwalifikacyjnej: jeśli planujesz zostać programistą, przed przystąpieniem do rozmowy kwalifikacyjnej musisz przejść szkolenie praktyczne. Rozmowy kwalifikacyjne techniczne wymagają czasami rozwiązywania programów na bieżąco, a wyzwania związane z kodowaniem dają kandydatom wiedzę na temat rodzaju pytań, jakie prawdopodobnie zostaną im zadane.
  • Kodowanie konkurencyjne: jeśli lubisz kodować dla zabawy i lubisz zwiększać wydajność pracy jako wyzwanie, wyzwania związane z kodowaniem czasami nagradzają konkurencję dobrymi rozwiązaniami. Nagrody mogą być różne, ale niektórzy programiści zarabiają dobre pieniądze, pisząc kodowanie w sposób konkurencyjny.
  • Budowanie połączeń: nic tak nie jednoczy ludzi, jak stawianie czoła podobnym problemom. Wiele z tych konkurencyjnych witryn zajmujących się kodowaniem ma aktywne społeczności, które pomagają innym zrozumieć, jak rozwiązać problem lub zaproponować nowe i unikalne sposoby rozwiązania dobrze znanego problemu. Są doskonałym źródłem nowych znajomości, które tak samo jak Ty uwielbiają kodować.

C++, Java i Python to najpopularniejsze języki, dla których oferowane są wyzwania związane z kodowaniem, a niektóre witryny z wyzwaniami w zakresie kodowania specjalizują się w kilku z tych języków. Jak zatem wygląda wnętrze wyzwania związanego z kodowaniem? Przekonajmy się!

Rozpoczęcie i ukończenie wyzwania kodowania

Przyjrzyjmy się przykładowemu wyzwaniu związanemu z kodowaniem. Ten z HackerRank skupia się na podstawach kodowania w Pythonie. Od razu widać, że w lewym okienku znajduje się proste zadanie z osadzonym kompilatorem w prawym okienku.

Po lewej stronie, poza panelem, znajduje się szereg zakładek umożliwiających sprawdzenie zgłoszeń w celu uzyskania wskazówek lub tabeli liderów, aby zobaczyć, kto zgłosił się do tego wyzwania i odniósł sukces.

Przyjrzyjmy się temu konkretnemu wyzwaniu związanemu z kodowaniem. Musimy dowiedzieć się, czy n, podana liczba całkowita, jest nieparzysta. Jeśli tak, drukujemy „Dziwne”. To już daje nam linię:

        if n % 2 == 1:  # Check if n is odd
   print("Weird")
    

Wydaje się to w porządku, ale co z innymi warunkami? Cóż, możemy użyć instrukcji elif, aby sprawdzić inne warunki. Ostatni kod, który wymyśliłem, to:

        import math
import os
import random
import re
import sys

if __name__ == '__main__':
    n = int(input().strip())
if n % 2 == 1:  # Check if n is odd
    print("Weird")
else:  # If n is even
    if 2 <= n <= 5:
        print("Not Weird")
    elif 6 <= n <= 20:
        print("Weird")
    elif n > 20:
        print("Not Weird")
    

W tym przypadku używam elif w całym bloku kodu, aby utworzyć instrukcje awaryjne, w których spełnione są warunki. Jest to proste wyzwanie skupiające się na użyciu instrukcji warunkowej if-then-else w Pythonie, ale niektórzy są bardzo zaangażowani. Wyzwania związane z kodowaniem o średnim stopniu trudności obejmują iteratory, a nawet coś, co pomaga w przypadku poleceń Regex.

Kilka wskazówek dotyczących podejmowania wyzwań związanych z kodowaniem

Wyzwania związane z kodowaniem mogą być świetną zabawą i wiele się z nich nauczysz, ale jeśli jesteś początkujący, samo podjęcie wyzwania może być przytłaczające. Oto kilka rzeczy, o których powinieneś pamiętać, podejmując się tych wyzwań, aby łatwiej się im podołać:

  • Użyj własnego IDE: Omówiliśmy już wcześniej konfigurowanie programu Visual Studio dla języka Python i jest to moje preferowane IDE, ale jeśli masz takie, które bardziej Ci odpowiada, np. Rider lub VS Code, wpisz w nim kod i wklej do dokumentu kwestionującego później.
  • Zastosuj rozwiązanie podstawowe: w niektórych miejscach zaleca się rozwiązanie metodą brute-force — próbuj różnych rozwiązań, aż coś zadziała. Zawsze uważam, że najskuteczniejszym sposobem rozwiązania problemu jest posiadanie rozwiązania w umyśle. Jeśli to nie pomoże, przejdź do planu B.
  • Sprawdź przypadki brzegowe: witryny takie jak HackerRank nie powiedzą Ci wprost, co testują w przypadkach testowych. Jeśli nie poradzisz sobie z potencjalnymi przypadkami brzegowymi, nie uda Ci się przesłać zgłoszenia.
  • Optymalizuj składnię i struktury danych: Ostatnią rzeczą, jaką sugeruję, jest optymalizacja składni kodu i struktur danych po jego zakończeniu. Dzięki temu wyrobisz nawyk pisania wydajnego kodu. Potraktuj to jako zajęcia pozalekcyjne związane z wyzwaniami związanymi z kodowaniem.

Gdzie można znaleźć wyzwania związane z kodowaniem?

Opisałem już HackerRank w poprzednim wyzwaniu i to właśnie na nich polegam w przypadku moich własnych wyzwań związanych z kodowaniem. Jednak nie są to jedyne witryny, z których możesz korzystać. Wśród alternatyw są:

  • FreeCodeCamp: Jeśli jesteś początkujący i potrzebujesz pomocy z podstawami, jest to świetna opcja dla nowicjuszy, aby zmoczyć stopy.
  • Edabit: Jeśli nie masz zbyt dużo czasu na wyzwania związane z kodowaniem, te niewielkie wyzwania zmieszczą się w dowolnej wolnej przestrzeni w Twoim harmonogramie.

Wyzwania związane z kodowaniem to świetny sposób na sprawdzenie, czego nauczyłeś się w kodzie, za pomocą praktycznych przykładów. Jeśli dopiero zaczynasz programować i chcesz się sprawdzić, daj im szansę. Możesz być zaskoczony, jak wiele się nauczyłeś od czasu, gdy zacząłeś!

Powiązane artykuły: