Przygotuj się do rozmów kwalifikacyjnych w branży IT
Ten kurs powstał specjalnie dla studentów informatyki i kierunków pokrewnych, którzy marzą o zdobyciu swojej pierwszej pracy w IT i chcą mieć jak największe szanse na sukces podczas rozmów kwalifikacyjnych. Kształtujemy przyszłych profesjonalistów, którzy nie tylko posiadają wiedzę techniczną, ale potrafią skutecznie ją prezentować.
Nasz kurs to nie kolejne szkolenia z technologii, czy algorytmów i struktur danych - to kompleksowe przygotowanie do procesu rekrutacyjnego.
Na tym kursie, oprócz poznania algorytmów, struktur danych i technik rozwiązywania zadań rekrutacyjnych, dowiesz się jak skutecznie wykorzystać zdobytą wiedzę w trakcie rozmów kwalifikacyjnych – jak prezentować swoje rozwiązania, jakie pytania zadawać, na co warto uważać, a o czym warto opowiedzieć więcej. Powiemy co zrobić, gdy nie masz pomysłu na rozwiązanie lub gdy wiesz, że nie zdążysz zaimplementować pełnego rozwiązania w wymaganym czasie.
Kurs składa się z 40 godzin lekcyjnych intensywnych zajęć (20 spotkań raz w tygodniu po 2 godziny lekcyjne). Kurs prowadzony jest w języku C++.
Czego nauczysz się na kursie?
Przygotowanie do procesu rekrutacyjnego
- Jak przygotować portfolio, CV i profile na LinkedIn i GitHub
- Jak odpowiadać na pytania behawioralne i techniczne
- Jak rozwiązywać zadania "live coding"
- Jak wyróżnić się spośród kandydatów podczas rozmowy
Podstawy algorytmiczne i struktury danych
- Sortowanie i wyszukiwanie - Kompletne omówienie problemu sortowania i wyszukiwania danych, w tym w systemach rozproszonych
- Struktury danych - Struktury prefiksowe i sufiksowe, stos, kolejka, lista, drzewa BST, struktury oparte o haszowanie
- Algorytmy zachłanne - Zestaw heurystyk, które pomogą w zidentyfikowaniu rozwiązania zachłannego
- Algorytmy grafowe - BFS, DFS, Dijkstra, Flood-fill, grafy stanów, sortowanie topologiczne
- Programowanie dynamiczne - Zestaw technik programowania dynamicznego, które rozwiązują znaczną większość zadań optymalizacyjnych
Techniki rozwiązywania zadań
- Analiza problemu - jak szybko zidentyfikować typ zadania i wybrać odpowiedni algorytm
- Strategia rozwiązywania - planowanie implementacji, szacowanie złożoności czasowej i pamięciowej
- Prezentacja procesu myślenia - jak przedstawiać swój proces rozumowania w sposób jasny i przekonujący
- Debugowanie i testowanie - techniki znajdowania błędów i weryfikacji rozwiązań podczas rozmowy
- Optymalizacja rozwiązań - techniki optymalizacji złożoności czasowej i pamięciowej rozwiązań
System design
- Bazy danych - jak działają z algorytmicznego punktu widzenia, indeksy, transakcje
- Systemy rozproszone - problemy i wyzwania systemów rozproszonych
- Architektura systemów - jak projektować skalowalne i wydajne rozwiązania
- Wzorce projektowe - najważniejsze wzorce używane w praktyce
Sposób prowadzenia kursu
Kurs został zaprojektowany jako spójna całość – tematy są ze sobą powiązane. Często nawiązujemy do poprzednich zagadnień. Z tego powodu szczególnie warto być na wszystkich spotkaniach od samego początku.
Nasza autorska metoda przygotowania do interview
Każde zajęcia rozpoczynamy od przedstawienia zadania z rozmowy kwalifikacyjnej, a nie od teorii.
Następnie przechodzimy przez proces dochodzenia do rozwiązania - wspólnie analizujemy zagadnienie, identyfikujemy kluczowe problemy i obserwacje, szacujemy złożoność i planujemy implementację, przy okazji ucząc się, jak cały ten proces przedstawić rekruterowi.
Po każdych zajęciach otrzymasz zestaw zadań do rozwiązania oraz materiałów do poszerzenia wiedzy z danego zagadnienia.
Brzmi dobrze? Zapisz się na nasz kurs i dołącz do grona przyszłych profesjonalistów IT!
