То, что делает программиста программистом

То, что делает программиста программистом

Aidar

Курсивом выделено то, что ты обязан знать. Не важен язык программирования/направления - общий для всего IT.


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

Структуры данных: связные списки, бинарные деревья, графы, стеки, очереди, векторы/списки массивов, хеш-таблицы, красно-черные деревья.

— Алгоритмы: поиск в ширину и глубину, бинарный поиск, сортировка слиянием и быстрая сортировка, вставка в дерево.

— Концепции: манипуляция битами, паттерн одиночка, паттерн фабричный метод, память (стек, куча), рекурсия, время порядка «О-большое».


Неплохо будет повторить:

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

— Основы дискретной математики: булева алгебра, комбинаторика, конечный автомат, теория графов, деревья, двоичные деревья.

— Знание и понимание основ теории компиляторов: грамматика, лексический анализ, синтаксический анализ, семантический анализ, оптимизация, генерация кода, интерпретатор.


Оглавление


Report Page