Sobes.tech

У нас есть база данных с паролями пользователей, пароли захешированы (функция hashPassword), а так же известен набор символов которые могут быть использованы в паролях (переменная alphabet). Наша задача реализовать функцию RecoverPassword так, чтобы она восстанавливала пароль по известному хэшу и TestRecoverPassword завершился успешно Базовые требования: Решить как угодно package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RecoverPassword(h []byte) string { return "" } func hashPassword(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashPassword(exp) act := RecoverPassword(h) if act != exp { fmt.Printf("Ошибка: ожидалось %q, получено %q\n", exp, act) ok = false } } if ok { fmt.Println("Тесты пройдены успешно") } }

Middle+
OZONOZON
19

Что такое каналы в Go? Какие бывают? Как устроены под капотом?

Senior
Lenta Tech
19

Что делает систему высоконагруженной? Опираясь на свою экспертизу.

Senior
Wildberries & Russ Bank
19

Как реализован garbage collector в Go и какие компромиссы он делает между latency и throughput?

Senior
ClearWay
19

В чём отличие массива от Slice в Go?

Middle+
ТБанк
19

Нужно описать модель библиотеки. Есть 3 сущности: «Автор», «Книга», «Читатель». Физически книга только одна и может быть только у одного читателя. Нужно составить таблицы для библиотеки так чтобы это учесть. У книги может быть несколько авторов.

Senior
Холодильник.руХолодильник.ру
19

Если все значения попадают в один бакет и накапливаются overflow-бакеты, что произойдёт при same-size grow (переупаковке без увеличения размера)?

Middle+
OZONOZON
19

Как top считает CPU%? По какому алгоритму?

Middle
OZONOZON
19

Есть ли у тебя вопросы к нам?

Senior
Ozon ФинтехOzon Финтех
18

Есть следующая схема базы данных -- Таблица клиентов CREATE TABLE customers ( id BIGSERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, city VARCHAR(255) NOT NULL ); -- Таблица товаров CREATE TABLE products ( id BIGSERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, category VARCHAR(100) ); -- Таблица позиций заказа CREATE TABLE order_items ( order_id BIGINT NOT NULL, product_id BIGINT NOT NULL, qty DECIMAL(10, 3) NOT NULL CHECK (qty > 0), -- 10 цифр, 3 знака после запятой price NUMERIC(10, 2) NOT NULL CHECK (price >= 0), PRIMARY KEY (order_id, product_id) ); -- Таблица заказов CREATE TABLE orders ( id BIGSERIAL PRIMARY KEY, customer_id BIGINT, order_date TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, status VARCHAR(50) NOT NULL CHECK (status IN ('pending', 'paid', 'shipped', 'delivered', 'cancelled')) ); 1. Выведите ТОП 10 по сумме заказов пользователей совершивших более 2-х заказов за последние 30 дней 2. Выведите ТОП 3 категорий по выручке за последние 6 месяцев

Middle+
OZONOZON
18

В чём измеряется cost в EXPLAIN? Что такое cost?

Senior
ВайлдберрисВайлдберрис
18

Как вы делали валидацию сообщений из Kafka? Если сообщение не провалидировалось — что с ним происходило?

Senior
МВидео/эльдорадо
18

Использовал ли на практике контексты? Расскажи.

Senior
Cloud.ru
18

// сервис используют внешний API для построения маршрутов, // в рамках тарифа у нас есть ограничение по RPS. // Нужно спроектировать ratelimiter. // 100 rps type RouteClient struct { limiter } func (rc *RouteClient) Get(req string) string { // todo return rc.get(req) }

Senior
Холодильник.руХолодильник.ру
18

Готов ли к переезду в Елабугу?

Senior
Алабуга
18

Расскажи про начало карьеры — чем занимался до августа 2020 года?

Middle+
КуперКупер
18

Что находится под капотом map в Go? Как она реализована?

Senior
sber tech
18

Абстрактный кейс: сервис падает (OOM kill), ты не видишь никаких ошибок, в поде видишь что последний статус — нехватка памяти. Какова последовательность действий для диагностики и стабилизации сервиса?

Senior
ВайлдберрисВайлдберрис
18

Когда делал изменения в микросервисе, думал ли на что ещё это может влиять?

Middle+
МВидео/эльдорадо
18

Расскажите разницу между REST, gRPC и GraphQL.

Senior
Алабуга
18
/371