Дисклеймер: Эта публикация скорее крик души... я не буду говорить, что являюсь выдающимся экспертом в базах данных, а тема данного поста не для того, чтобы мериться размером дампа. Мне просто больно раз за разом слушать на комитетах о русскоязычных кандидатах, что он нам не подходит потому что...
Очень много ресурсов можно найти на просторах интернетов на тему собеседования Software Engineer'ов в FAANG, куча теоретического материала, список готовых задач с интервью, как готовится к System Design вопросам и т.п., но лично для меня было огромной болью искать что-то, чтобы быть готовым к интервью на роль Database Engineer. Проблема в основном в том, что разброс вопросов по этой теме невероятно огромный. Отмечу, что это касается именно FAANG компаний, потому что на собеседовании туда Вас, как SWE / SRE, не будут просить "написать синглтон" или спрашивать в чем проблема многопоточности в питоне, всё довольно прозаично в подготовке на эти роли.
Поэтому хотелось бы немного осветить, на чем проваливается большинство русскоязычных кандидатов.

Введение
Мой путь интервьюера начался относительно недавно, порядка 3 лет назад, на одной из "галер". Несмотря на то, что большинство из присутствующих на Хабре знает, что уровень знаний требуемых для того, чтобы попасть на "галеру" минимальный, в компании процесс интервью был стандартизирован и необходимо было:
Пройти тренинги, чтобы научиться собеседовать по методологии S.T.A.R. (situation, task, action, result), как это сделано в топовых компаниях из группы FAANG.
Поучаствовать в паре интервью в качестве наблюдателя, так называемый shadowing и при этом учиться писать отзыв на кандидата.
Следующим этапом уже твой ментор будет наблюдать за тем, как ты проводишь интервью и будет он это делать до тех пор пока к тебе не останется нареканий и твои отзывы (feedback'и) не станут идеальными
Сейчас я собеседую в одной из компаний FAANG на мидл DBE роли в Восточную Европу. Могу сказать, что предыдущий опыт мне очень помог и стандартизация процесса интервью выглядит примерно также. Я думаю ни для кого не секрет, что в компаниях из этого списка Вы сначала проходите "телефонное интервью" с рекрутером (в кавычках из-за того, что сейчас это уже давно Skype / Zoom / etc), который пытается выяснить подходите ли Вы под вакансию и иногда задаёт вопросы по своему списку ожидая ответов, которые также в этом списке. Затем Вас передают в руки кому-то из технарей и Вы также в "телефонном интервью" проводите один раунд с ним. На галерах обычно на этом процесс рекрутинга заканчивается и Вас берут или не берут, а вот у нас начинается самое интересное - Interview Day, до пандемии Вас приглашали в будущий офис, где необходимо было пройти 4-5 интервью подряд (зависит от компании и роли), сейчас всё проводится онлайн и может быть разбито на несколько дней при необходимости.
Так в чём же проблема?

Последнее время всё чаще мелькает пара этих слов и статьи на Хабре также имеются об их важности в нынешних реалиях. Могу сказать, что в русскоязычных компаниях в 90% случаев превалируют ваши хард скиллы, и понятие софт скиллов в них немного отличается от других глобальных компаний.
В первых у Вас будут скорее выяснять не конфликтный ли вы человек и слушаетесь ли Вы начальство, а в последних - насколько Вы в состоянии работать в мультикультурной среде и доносить свою точку зрения максимально корректно, при этом не прогибаясь под "высокий чин" аргументёра.
Так вот русскоязычные кандидаты на DBE роли (думаю, что с SWE картина немного поменялась, потому что там, как я уже говорил, подготовка стандартизирована не менее, чем процесс собеседования) совершенно не готовы отвечать на вопросы в контексте Situation / Task / Action / Results. Для себя я выделил несколько причин, почему так происходит:
Английский язык - да, собеседования в Европу проводятся на английском, иногда складывается ощущение, что для некоторых кандидатов это сюрприз. Никто не смотрит на Ваше произношение, но у большинства кандидатов он настолько плох, что они не могут ни понять вопрос, ни сформулировать ответ. Да что там сфор��улировать, даже просто сказать набор слов, который бы подходил под ответ. На этом фоне наши индийские друзья с их ужасным произношением смотрятся на голову выше соотечественников.

Гордость (самоуверенность) - удивительно насколько часто я слышал в отзыве о русскоязычных кандидатах "он слишком самоуверен" (overconfident), обычно это звучит тогда, когда Вы идёте не туда со своими размышлениями, интервьюер даёт Вам подсказку, но Вы её игнорируете (в лучшем случае), а в худшем еще и настаиваете на неправильном ответе. Я лично не знаю таких случаев, когда бы кандидата хотели запутать подсказкой и сбить с правильного пути, это скорее ошибка интервьюера и они очень редки, поэтому всегда надо слушать и принимать подсказки, а не продолжать себя топить. Неумение принять свою ошибку также может быть причиной отказа.

Предубеждение - большая часть кандидатов пытается как можно быстрее отделаться от поведенческих вопросов и показать свои хард скиллы, потому что "вы же разработчика нанимаете, значит важно только писать код". Отнюдь, общение в команде и между командами, умение доносить экспертное мнение до менеджеров и аргументированное отстаивание своей позиции это важная часть работы.

Можно ли это исправить?
Я могу сказать, что на своём примере я понял - да, это можно исправить, и да, это не всегда будет легко.
Выучить английский - это сложнее, чем кажется на первый взгляд, в Москве / Питере проблема стоит не так остро и при желании можно попасть на проект, где заказчики будут англоязычные, в любом другом городе это может быть очень трудно. Если возможности постоянно общаться с заказчиком на английском нет, то скорей всего придется пользоваться услугами репетиторов, сайтов и приложениям по обучению языку и искать себе знакомых из других стран для языкового обмена (да, есть те кто хочет учить русский в обмен на английский)
Story telling - учитесь излагать свои мысли грамотно, заготавливайте истории о своих успехах и рассказывайте, рассказывайте, рассказывайте всем и каждому на работе, дома, друзьям и прохожим :). Важно раскладывать историю по методологии S.T.A.R.:
Как Вы идентифицировали проблему, в чем она состояла?
Какой набор потенциальных решений Вы нашли (и как это обсуждалось с командой, если такое имело место быть)
Как Вы решили данную проблему (с техническими подробностями)
Каков результат решения проблемы (лучше с метриками, мол был запрос, который выполялся 1 час, после оптимизации он стал выполняться за 1 минуту) и что вы сделали, чтобы предотвратить появление данной проблемы в будущем, а также чему Вы научились при её решении
Как я уже упоминал в начале, при собеседовании на роли типа DBE разброс вопросов по технической части невероятно огромен, поэтому советовать подтянуть что-то конкретное перед интервью я бы не стал. Я знаю команды, которые могут спросить про 3ью нормальную форму, а также команды, которые спрашивают о различии между Mutex и Latches в Oracle. В общем это будет очень зависеть от команды, которая Вас нанимает в данный момент и это очень отличается от найма Software Engineer'ов.
Заключение
В заключение могу сказать, что по моему опыту у русскоязычных кандидатов в большинстве случаев действительно сильнее хард скиллы, чем у остальных. Они быстрее решают проблему, чище пишут код (видно, что они действительно его пишут day to day) и чаще более технически подкованы, но берут всё равно не их.
Я не могу с уверенностью назвать причину, почему это стало неким паттерном в русскоязычном сообществе, что важны только хард скиллы. Лично для меня это было токсичное окружение в российских компаниях и отношениях менеджер-подчиненный. Где сказать, что "твой код г$%#о" это нормально, это значит, что человеку просто надо переписать этот код, прямолинейность вытачивала из нас жестких, но сильных спецов, при этом те осколки, которые мы теряли в процессе - это и были наши потенциальные софт скиллы, которые затерялись в глубинах сознания и которые сейчас так нужны в мире разработчиков...