Сравнение двух компаний по доставке продуктов и еды из ресторанов показывает, что знание английского языка повышает зарплату более чем в два раза при почти одинаковых требованиях.
Сравнение компаний и стек технологий ⏱ 1:35
•Сбермаркет (Россия, 2023 год): оффер около 400 000 рублей, после НДФЛ около 5 000 долларов в месяц.•Секретная компания: оффер 133 000 долларов в год, то есть около 13 000 долларов в месяц за 20 рабочих дней (B2B контракт, оплата только за отработанные дни).•В обеих компаниях похожий стек: Go и Ruby (сервисы на Go и старые на Ruby).•Брокер: Kafka. Базы данных: PostgreSQL и Amazon SQL. В секретной компании используется DynamoDB.•Оркестрация: Kubernetes в Сбермаркете, ECS (Elastic Container Service) в секретной компании.•Трекер задач: Jira в обеих. Репозитории: GitLab в Сбермаркете, GitHub в секретной компании.•Требования и процессы очень похожи, но зарплата отличается более чем в два раза из-за знания английского языка.Собеседование в Сбермаркете ⏱ 5:44
•Состояло из двух этапов: техническое интервью и интервью на софт-скиллы (behavioral) с тимлидом.•На техническом этапе спрашивали: - По PostgreSQL: типы индексов (B-tree, hash), профилирование запросов (EXPLAIN, EXPLAIN ANALYZE), транзакции, уровни изоляции, аномалии, блокировки (оптимистичные и пессимистичные).
- По Kafka: устройство (продюсеры, консьюмеры, топики, партиции, консьюмер-группы), гарантии доставки (at least once, at most once, exactly once), паттерны inbox/outbox, consumer lag.
- Паттерны микросервисной архитектуры: saga, gateway, database per service.
- По Kubernetes: базовые вопросы.
- Observability: Prometheus, Jaeger.
- Тесты: unit, integration, e2e.
•Задача на онлайн-кодинг: написать in-memory кэш, который по ключу пользователя возвращает профиль и список заказов. - Тип Profile содержит ID и имя пользователя, а также слайс []*Order.
- Тип Order содержит ID, значение и время создания/обновления.
- TTL записи — 2 секунды.
- Кэш может использоваться функцией, работающей с заказами (добавление/удаление).
- Если TTL истёк, отдаётся nil.
- Дополнительно: автоматическая очистка истекших записей.
•Пример решения: - В кэше хранится структура Item с полями профиля и временем истечения.
- Конструктор принимает TTL, создаёт map и запускает горутину для очистки.
- Используется sync.RWMutex: RLock в Get, Lock в Set.
- В Get проверяется наличие записи и не истёк ли TTL.
- Очистка запускается по тикеру раз в минуту, блокирует кэш, проходит по map и удаляет просроченные записи.
•Дополнительные вопросы: - Как улучшить очистку: собирать ID в отдельный слайс под RLock, затем удалять под Lock, минимизируя время блокировки.
- Профиль нужно копировать, сохраняя в кэш ссылку на копию, чтобы избежать изменения данных извне. Для этого требуется глубокая копия слайса []*Order.
- Правильный выход из горутины очистки: передавать контекст в конструктор и использовать select с ctx.Done().
•На софт-скиллах спрашивали: самая сложная задача, самый большой провал, коммуникации на удалёнке, сильные и слабые стороны.•Оффер присылается в виде презентации, HR проводит звонок с объяснением бонусов. Сумма включает НДФЛ.Собеседование в секретной компании ⏱ 22:49
•Три этапа.•Первый этап: домашнее задание — написать cron-парсер, который преобразует строку в расписание.•Второй этап: защита домашнего задания, рассказ о коде по функциям, затем две фичи: - Первая: расширить парсер, чтобы в команде можно было использовать пробелы (так как минуты, часы, дни и т.д. не должны содержать пробелы внутри значений).
- Вторая фича: не упомянута в видео, но рассказывается на бусте.
•Третий этап: soft skills или behavioral интервью с инженернинг-менеджером, у которого в подчинении более 100 инженеров, тестировщиков и продактов. Спрашивали про процессы, компании, где работал, чем занимался, был ли менторинг.•После трёх этапов получен оффер: 500 фунтов в день, или 10 000 фунтов за 20 рабочих дней (примерно 12 900 долларов), или около 15 000 долларов за 23 рабочих дня.Выводы по зарплате и английскому ⏱ 25:54
•Две компании занимаются по факту одним и тем же: доставка продуктов из магазинов и блюд из ресторанов.•Похожий технологический стек, процессы и требования: написание микросервисов на Go в чистой архитектуре с тестами, брокеры сообщений, базы данных.•В одной компании платят 5 000 долларов в лучшем случае, в другой — 13 000 долларов только потому, что вы знаете английский язык.•Это должно быть большой мотивацией для изучения английского языка.Ключевые выводы
•Знание английского языка повышает зарплату более чем в два раза при почти одинаковых требованиях и стеке технологий.•В Сбермаркете оффер составил около 400 000 рублей, после НДФЛ около 5 000 долларов в месяц.•В секретной компании оффер — 133 000 долларов в год, что при 20 рабочих днях даёт около 13 000 долларов в месяц (B2B контракт).•Стеки обеих компаний включают Go и Ruby, Kafka, PostgreSQL, но отличаются оркестрацией (Kubernetes vs ECS) и трекером (Jira vs GitHub).•Задача на собеседовании в Сбермаркете — написать in-memory кэш с TTL 2 секунды, автоматической очисткой и потокобезопасностью.•В секретной компании собеседование состояло из трёх этапов: домашнее задание (cron-парсер), защита с добавлением фич и soft skills интервью.Заключение
Спикер призывает заняться изучением английского языка немедленно, так как это единственный навык, который позволяет получать в два с лишним раза больше при прочих равных.