C++ Internship

TeamDev Students Program

Група вже набрана та проходить навчання, але ви можете подати

заявку на наступний набір.

C++ Internship


Запрошуємо долучитись студентів третіх-п'ятих курсів профільних технічних закладів вищої освіти. Протягом чотиримісячної програми інтерни зможуть поринути у всі тонкощі C++ та в аспекти його застосування.


місяці full-time лекцій та практики

талановитих студентів в одній групі

випускників інтернатури стають частиною команди TeamDev


Ментор

Vladimir Moiseiev

Досвід комерційної розробки: 15+ років.

Ментор: 10+ років.


Про курс


Інтернатура C++ у TeamDev це:

  • Лекції та майстер-класи від провідних розробників компанії.

  • Невелика група із п'яти-шести осіб. Такий формат дає можливість індивідуально працювати з кожним.

  • Адаптивна програма навчання. Розбір С ++ по кісточках.

  • Стипендія: її вистачає, щоб повністю сконцентруватися на навчанні та не перейматися побутовими питаннями.

  • Гнучкий графік — наші інтерни встигають відвідувати важливі пари, закривати сесії та писати дипломні роботи.

  • Тривалість три-чотири місяці, повна зайнятість.


Вивчатимемо:

  • Модель пам'яті, RAII, розумні покажчики, move-семантика.

  • STL. Контейнери, ітератори, best-practices.

  • Робота із винятками.

  • Серіалізація з Protobuf та іншими бібліотеками.

  • Багатопотоковість, примітиви синхронізації, асинхронні операції.

  • Інструменти: дебаггери, санітайзери, статичні аналізатори.

  • Юніт тестування, рефакторинг, чистий код.

  • Техніки оптимізації, паралельні алгоритми, робота із кешем процесора.

  • Робота з ОС, ресурси, введення-виведення, пам'ять, мережа.


Вимоги до кандидатів


Ми чекаємо від кандидатів глибокого розуміння та здатності вільно розмірковувати на наступні теми*


  • Знання основ мови C++: синтаксис, обробка вхідних параметрів, особливості реалізації ООП у C++, примітивні типи даних, винятки, арифметика вказівників.

  • Основні принципи ООП: успадкування, інкапсуляція, поліморфізм, конструктор, деструктор, віртуальні методи, множинне спадкування.

  • Знання патернів проєктування, що часто використовуються: Factory, Factory Method, Command, State, Strategy, Visitor, Composite.

  • Досвід використання CLion, Visual Studio, Visual Studio Code, QtCreator та GitHub.

  • Досвід роботи в ОС Linux.

  • Принципи роботи та критерії підбору під завдання стандартних структур даних: vector, list, map, queue, deque, unordered_map.

  • Рівень англійської не нижче Intermediate — вільне читання, написання листів, спілкування голосом.

  • Здатність вирішувати логічні та математичні завдання, вміння швидко думати та не боятися писати код — пробуйте себе на LeetCode та подібних сайтах.

  • Математика: множини, операції над множинами; функція, характеристики функції, графік функцій, лінійна, степенева, показова, логарифмічна функція, межа функції, похідна, інтеграл.

  • Дискретна математика: булева алгебра, комбінаторика, кінцевий автомат, теорія графів, дерева, двійкові дерева.

  • Базові алгоритми: хешування, хеш-функція, хеш-таблиця, Binary Search, швидке сортування.


* Якщо якісь теми викликають страх, неприязнь чи опір — не поспішай і навчайся. Ти ж хочеш стати програмістом, відповідно, тобі доведеться рано чи пізно з цим усім розібратися і потім із задоволенням використовувати у щоденній роботі. Інакше в тебе не вийде пройти співбесіду.