Никогда не понимал вопроса на собеседовании: "Каким объемом информации вы оперировали? Сколько ТБ у вас было в хранилище? Сколько строк у вас было в самой большой таблице?"
Я не понимаю как эти вопросы могут решить проблему "А стоит ли нам его взять?". Большие организации привыкли хвалиться большим объемом информации и большими вычислительными мощностями. На мой взгляд, если вы условный ТБанк, именно от них я слышал этот вопрос, то вам не зачем бояться что у вас кто-то уронит кластер. У вас ресурсов полно, даже если какой нибудь Джун выполнит тяжёлый вопрос, этот запрос выполнится. Я бы лучше у кандидата спросил: был ли у вас случай запуска оптимального кода на малых мощностях? Вот это реально Senior'ный вопрос. Допустим, у вас Clickhouse с 8GB оперативы и несколькими десятками миллионами строк на несколько десятков ГБ. И вот у человека, который пишет ETL под такие ресурсы, точно возникает вопрос: как не уронить кластер и выполнить задачу. Человек точно будет знать что каждое дополнительное ядро, жёсткий диск это накладной ресурс для вашей платформы. Это дополнительные деньги, которые должны уйти на поддержку платформы, а если мы съэкономим, можно даже положить эту разницу в карман, если у вас хорошие отношения с СТО/СЕО.
Да и так в общем, от анкетных вопросов пора уже избавляться на интервью. Во-первых это выглядит убого проходить такие собеседования.
Во-вторых это никак не показывает уровень кандидата. Если кандидат просто выучит эти вопросы, смысл тогда в этих всех интервью, если он задачи не умеет решать.
Интервью должно оценивать следующие стороны сотрудника:
1. Решение задач ( как человек подходит к решению задач)
2. Поверхностное знание теории. Вам не нужен сотрудник, который идеально знает теорию, вам нужен тот сотрудник, который может быстро разобраться в том или ином инструменте. ( Навык внедрения dbt, разворачивание Airflow в Kubercluster и настройка Kuber'а)
3. Умение быстро решать задачи, эффективность это самое важное в любом бизнесе. Этот навык и позволяет быстро решать проблемы и двигаться по Roadmap'y.
4. Не менее важное в нынешние время: умение пользоваться интернетом/ ChatGPT. Именно этот навык позволяет быстро изучать новые фишки модных инструментов и решать проблемы.
5. Умение System Design (без комментариев). Человек должен уметь решать как должно выглядеть его целевое решение.
Дальше Nice to have и это не нужно спрашивать, скорее это больше для специалистов, которые хотят вырасти и не знают что дополнительно стоит изучить:
1. Навык работы с сетями ( TCP/ UDP, HTTP) необходимо понимать как работает тот или иной протокол. Какой трафик льется из одного источника в другой и как шифруется. Умение работать с сертификатами.
2. Навык DevOps, нужно хотя бы базово понимать что делает ваш девопс и как он все это настраивает, чтобы не выглядеть глупо перед ним. А лучше и самому уметь.