Created
July 2, 2020 17:31
-
-
Save Intey/789e9954e4220a2957d823e7c6e1992c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Абстрактная часть: | |
- понимает ООП, использует принципы SOLID (обязательно), KISS, YAGNI | |
- понимает алгоритмы, знает о наличии альтернатив, при необходимости осуществляет анализ и выбор наиболее оптимального под задачу | |
- поверхностно знает паттерны архитектуры | |
- имеет представление о функциональном программировании: функции высшего | |
порядка, каррирование | |
- понимает почему изменяемое состояние - это плохо, придерживается констант | |
- знает что такое интерфейс(void myfunc() = 0;), зачем он нужен | |
- умеет самостоятельно искать информацию: stackoverflow.com, cppreference.com, | |
etc. | |
Техническая часть: | |
- умеет писать автотесты, знает и использует минимум 1 фреймворк для тестирования (googletest, boost, etc.) | |
- может начать проект с нуля и подготовить его структуру для быстрого старта джунов | |
Больше гуманитарные вещи: | |
- может в одиночку решать задачи средней сложности в проекте (задает вопросы по ТЗ, проявляет активность) | |
- может проводить code-review, соблюдает правила приличия при этом | |
С++: | |
- умеет тоже что и джун(основы классов, наследования, полиморфизна, написание | |
простых алгоритмов, понимание различия файлов .cpp, .h) | |
- понимает принцпы передачи аргументов, знает как писать конструкторы копирования | |
- понимает отличие статической от динамической библиотек | |
- может собрать exe + static/dynamic проект голыми руками (gcc/clang) | |
- умеет писать простые Makefile | |
- управление памятью в ручную (голые указатели), использует | |
(shared/weak/unique)_ptr, понимает различия | |
- знает про современные стандарты (С++11 и выше), использует наиболее | |
современные по возможности: move-семантика, auto, лямбды и их скоуп, | |
реализация по умолчанию | |
- знает как использовать указатели на функции, передача функций в функци и т.п. | |
- знает что такое vtable, умеет читать ошибки | |
- общее понимание шаблонного программирования, может писать шаблонные классы, | |
функции | |
- умеет пользоваться стандартной библиотекой | |
Cmake: | |
- понимает принцип работы cmake | |
- Умеет писать cmake-файлы | |
- может выделить модуль/пачку-файлов в библиотеку |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment