Перейти к содержимому

MWS (MTS Web Services)

  • Решить задачу на рефакторинг кода; misc/general
  • Решить задачу leetcode easy; algorithms/general
  • Вопрос: есть такой-то сервис с такой-то инфрой, и он начинает таймаутить. Как будешь выяснять причину? devops/observability
  • Задача исправить некорректный многопоточный код на Go; go/basics
  • Задача на sql-запрос с join’ом. sql/query-optimization
Написать функцию, на вход которой приходит список слов.
На выходе надо вернуть список списков слов, где каждый подсписок содержит слова анаграммы (одинаковые слова с учетом перестановки символов).
Примеры тестовых сценариев:
["set "] ->[["set "]]
["get ", "set "] ->[["get "], ["set "]]
["get ", "set ", "teg "] ->[["get ", "teg "], ["set "]]
-- Напишите SQL-запрос, который вернет идентификаторы сотрудников, чья зарплата
-- строго меньше $1000 и чей руководитель покинул компанию.
-- Когда сотрудник покидает компанию, его информация удаляется из таблицы Employees,
-- но у его подчиненных остается его идентификатор.
-- Таблица: Employees
-- +-------------+----------+
-- | Column Name | Type |
-- +-------------+----------+
-- | employee_id | int |
-- | name | varchar |
-- | manager_id | int |
-- | salary | int |
-- +-------------+----------+
-- В таблице employee_id является первичным ключом для этой таблицы.
-- Эта таблица содержит информацию о сотрудниках, их зарплате и идентификаторе
-- их руководителя.
-- У некоторых сотрудников нет руководителя (manager_id имеет значение null).
-- Верните таблицу результатов (идентификатор, зарплата), упорядоченную
-- по идентификатору сотрудника.
У "типичного "CRUD сервиса - в какой-то момент некоторые методы стали работать медленно и сервис начал таймаутить.
Сервис состоит из:
- Application Load Balancer (L7) - прием входящих запросов и терминирование tls;
- Backend (REST, Go) - обработка входящих запросов и бизнес логика;
- Database (postgres) - хранение и обработка sql запросов.
Как правильно действовать чтобы понять причину проблем и выработать решения для улучшения ситуации?