Обучение. База знаний
Что такое база знаний и почему проходить собес без базы знаний — вредить самому себе?
Что такое база знаний?
База знаний — это подборка ответов на самые распространённые вопросы с технических скринингов и технических собеседований. Вопросы подбирались мною на основе моего личного анализа пары сотен собесов — в некоторых собесах принимал участие я, большую часть собесов предоставили мне мои студенты. 70 % вопросов повторяются из собеса в собес, при этом абсолютно не важно, собеседуется ли кандидат на стажёра или же на синьора — вопросы будут одни и те же. С одной стороны, это кажется глупым, с другой стороны, найм предоставил тебе уникальную возможность хакать собесы, грех не воспользоваться ей ;)
Основная мысль 1: все вопросы из индивидуального трека взяты из реальных собесов, каждый из этих вопросов тебя обязательно спросят
Как вести базу знаний?
Я рекомендую вести базу знаний в Obsidian. Можешь организовать структуру вопросов по аналогии с теоретической частью индивидуального трека. Создай документы: основы, ООП, STL, многопоточка, сети, базы данных и прочее. Каждый из документов заполни вопросами и ответами на них. Вопросы ты получишь во время индивидуального трека. Далее ты подготовишь ответы на вопросы, а ментор проверит правильность и достаточность твоих ответов для прохождения собеседования.
Основная мысль 2: не нужно ничего искать самому — расслабься и проходи индивидуальный трек. По окончании трека у тебя будет база знаний, которую ты можешь использовать на реальных собесах
Как подробно отвечать на каждый вопрос?
База знаний — это не про знания (как бы парадоксально это ни звучало). Каждый ответ на вопрос обязан обладать следующими характеристиками:
- Ответ должен быть кратким. 1-2, максимум 3 предложения. Напоминаю, что базой знаний ты будешь пользоваться на собесе. Поэтому поиск вопроса не должен занимать много времени. Учти, что поиск выполняется скроллом колесика мышки, практически на всех собесах у тебя не будет времени набирать текст на клавиатуре. Скорость — важное свойство базы знаний и достигается оно уменьшением количества текста
- Ответ должен быть одобряемым, т.е. «правильным» с точки зрения интервьюера. Лишние слова в ответе на вопрос могут породить дополнительные вопросы, а это может привести к тому, что интервьюер тебя «закопает».
Постарайся не писать код в ответах на вопросы. В 90 % случаев код не нужен, чтобы произнести правильный ответ.
Основная мысль 3: задача базы знаний — дать краткий и одобряемый ответ на вопрос
Сколько времени потратить на подготовку каждого вопроса?
С++ — удивительный язык. Даже на элементарный вопрос можно готовить ответ несколько дней. Поэтому я рекомендую тебе следующий рецепт подготовки ответов на вопросы. Сначала используй ИИ и подготовь первую версию ответов на вопросы. Прочитай ответы на вопросы. Часть из них будет тебе понятна — считаем, что ты хорошо знаешь эти темы. Часть из ответов будет тебе абсолютно непонятна — удели изучению этих вопросов дополнительное время, но не более 1 часа на вопрос.
Не поддавайся ощущению, что ты «завалишь ответ на этот вопрос на собесе, потому что недостаточно глубоко его проработал». Объясняю подробнее. Допустим, на собесе тебе задали вопрос из базы, который ты подготовил поверхностно. Ты ответил, воспользовавшись базой. Интервьюер задал тебе вопрос «вглубь», и ты «поплыл». Увы, такая ситуация будет преследовать тебя при любом уровне знаний С++. Я уверен, что даже Страуструпа можно поставить в тупик, задавая вопросы по современному С++. Главное — не отчаиваться, а зафиксировать вопрос интервьюера, вернуться к нему после собеса и разобрать пропущенный объём материала и дополнить ответ в базе знаний ещё одним предложением.
Основная мысль 4: не закапывайся в ответах на вопросы, тебе важно создать скелет своих знаний, а мышцы ты будешь наращивать на реальных собесах
Денис, почему ты не даёшь вопросы сразу с ответами?
Не поверишь, но в начале менторства я так делал. Увы, это приводило к тому, что студент вообще не готовил теорию, а на мок-собесе считывал ответы из базы знаний, при этом слабо понимал, что там было написано. Кстати, на мок-собесах тебе очень важно проверить свой реальный уровень знаний, а вот на реальных собесах можешь «списывать» сколько хочешь. В то время как ты готовишь ответы, ты так или иначе прокачиваешь свои знания по С++, к тому же растёт твой кругозор в целом, и ты автоматически готовишься отвечать на дополнительные вопросы.
Основная мысль 5: подготовка ответов на вопросы расширяет твой кругозор, а он, в свою очередь, помогает тебе проходить «душные» собесы
Что делать с базой знаний на собесе?
Ты подключаешься к собесу с открытой базой знаний. Обязательно расположи базу знаний в той точке экрана, в которую ты постоянно смотришь. Например, ты можешь расположить базу знаний прямо поверх окна с картинками интервьюеров: тебе не обязательно весь собес смотреть на лица интервьюеров, поверь, тебе будет достаточно первых пары минут собеса, чтобы понять, как они выглядят. Далее расположи окно с базой знаний поверх окна с конференцией, слушай, что тебе говорят, и листай базу знаний.
Основная мысль 6: чтобы не вызвать подозрения, весь собес ты должен смотреть в одно и то же место и не переводить взгляд из стороны в сторону
Зачем столько рутинной работы ради одного оффера?
Вопросы на собесах не меняются из года в год. Поверь: ты один раз потратишь время на базу знаний и будешь ей пользоваться годами! Хорошо подготовленная база знаний — инвестиция в будущее.
Основная мысль 7: как бы пафосно это ни звучало, но база знаний останется с тобой до конца твоего профессионального пути С++ разработчиком
Итог
База знаний — это не ноу-хау. Она предоставляет тебе те условия прохождения собеседования, которые на самом деле должны быть: тебе должен быть заранее выдан список вопросов, ты должен заранее разобрать каждый вопрос и прийти на собес уже подготовленным. Да, всё как в институте или в серьёзных сертификациях уровня Windows или AWS. Подготовив свою базу знаний ты восстановишь немного справедливости на рынке найма ;)
c++
ментор