Требования к кандидатам

В первую очередь, наш идеальный кандидат должен иметь сильное желание заниматься программированием.

Java Classes Interns:

  • Математика: множество, операции над множествами; функция, характеристики функции, график функций, линейная, степенная, показательная, логарифмическая функция, предел функции, производная, интеграл.
  • Дискретная математика: булева алгебра, комбинаторика, конечный автомат, теория графов, деревья, двоичные деревья.
  • Основные принципы ООП: наследование, инкапсуляция, полиморфизм, конструктор, деструктор, виртуальные методы, множественное наследование.
  • Принципы работы и критерии подбора под задачу стандартных структур данных: Array, Collection, List, Set, Map, Stack, Queue.
  • Базовые алгоритмы: хэширование, хэш-функция, хэш-таблица, Binary Search, быстрые сортировки.
  • Знание часто используемых паттернов проектирования: Factory, Factory Method, Builder, Command, State, Strategy, Visitor, Composite, Marker Interface.
  • Знание основ языка Java: синтаксис, обработка входных параметров, особенности реализации ООП в Java, примитивные типы данных, исключения, Generics, Annotations, packages java.lang, java.util, java.io.
  • Опыт использования IntelliJ IDEA и GitHub.
  • Способность решать логические и математические задачи, умение быстро думать и не бояться писать код — пробуйте себя на LeetCode и подобных сайтах.
  • Уровень английского языка не ниже intermediate — свободное чтение, написание писем, общение голосом.

С++ Interns:

  • Знание основ языка 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, быстрые сортировки.