Golang
Как задачите стигаха до теб в работата?
Как да гарантираме, че съобщението от опашката ще бъде обработено точно веднъж, ако има няколко работника?
Колко време вече работиш в IT?
Как се филтрираха дубли? Не можеше ли да се определи дублиране по ID? Защо да обогатяваме данните от Redis?
Прехвърлихте невалидни съобщения в отделна тема и ги произвеждахте или как? Имаше ли много такива съобщения?
Бинарното търсене и търсенето в дърво имат еднаква логаритмична сложност. Защо ни трябват няколко алгоритъма с еднаква алгоритмична сложност? Винаги ли трябва да използваме дърво вместо бинарно търсене?
Рекрутърът не разбира приоритетите, просто казва 'трябва ми 300 кандидати' — как да се справим с това?
Видяхте, че няма индекс, таблицата е голяма. Как ще добавите индекс?
CREATE TABLE staff ( id TEXT name TEXT head_id TEXT ); id | name | head_id -------------------- 1 | Ivan | NULL 2 | Petr | 1 3 | Alice | 1 4 | Max | 2 5 | Alex | 2 6 | Elena | 4 7 | Bob | NULL Очакваме да получите: employee_name | manager_name --------------------------- Ivan | NULL Petr | Ivan Alice | Ivan Max | Petr Alex | Petr Elena | Max Bob | NULL SELECT e.name AS employee_name, m.name AS manager_name FROM staff e LEFT JOIN staff m ON e.head_id = m.id
Вашето резюме посочва 50-80 хиляди RPS. Какъв беше този сервис и какво правеше?
Проектирахте и изпълнихте миграцията на търговското ядро към 8 микросервиза. Каква беше вашата роля в проектирането?
Какво общо имат услугите, ако говорим за отказоустойчивост и я сведохме до реплики?
Защо избрахте RabbitMQ вместо Kafka за известия?
Каква е разликата между SQL и NoSQL?
Saga — за какво ви е необходима, с какво оперирате?
[име] срещна проблеми при намаляване на натоварването на системата?
Каква е разликата между /books и /books/{id}?
Защо използвахте Redis вместо in-memory кеш?
Готови ли сте при необходимост или по лични желания да преминете към друг програмен език?
Какъв е изводът — трябва ли да пишем тестове, правилно?