Golang
Коя стратегия за кеширане да изберем — cache-aside или write-through — като се вземе предвид моделът на поведение на потребителите при проверка на статуса на поръчката?
Какви правила за работа с канали трябва да знаете при разработка (затворен, отворен, кога какво може да се прави)?
Напишете задача на езика Go — практичен раздел (проблеми от живота на разработчика, без алгоритми): доработете или поправете услуга. Продължителност — 1,5 часа.
Ако потребителите са недоволни от промяната в модела на монетизация, но бизнесът има ясен план — какво да прави?
Живо кодиране: семафор — как работи и реализация на базата на буфериран канал.
Каква методология използвате: Scrum, Kanban или смес?
Какво е ограничението на семафора и буферирания канал като решения за ограничаване на паралелните заявки?
Чували ли сте преди за [фирма] или нашите продукти?
Какви са оценките?
С какво вече не искаш да се сблъскаш на работа?
Какъв е вашият грейд — middle, middle+, senior?
Анализ на код в Go: какво прави кодът, какви проблеми има?
Коя група (променлива/непроменлива) принадлежи интерфейсът в Go?
Какви са токените за авторизация и кои има?
Каква е разликата между релационните бази данни и NoSQL?
Проектиране на мащабируема система за съобщения, която поддържа 150 милиона потребители, 75 милиона DAU, 225 милиона MAU, 1,2 милиона peak QPS за четене / 300k за писане, 5 милиона едновременни потребители, 60 PB нови данни годишно, 30% годишен растеж, SLA 99,95%, p99 <200 ms за четене, <300 ms за писане. КОНТЕКСТ Необходимо е да се проектира разпределена система за съобщения, подобна на WhatsApp, която поддържа 1:1 и групови чатове, осигурява доставка на съобщения, показва онлайн статусите на потребителите и позволява пренос на мултимедийни файлове (снимки, видеа, аудио). Системата трябва да осигурява висока наличност и ниска латентност, да поддържа висок паралелизъм и да се мащабира глобално. ФУНКЦИОНАЛНИ ИЗИСКВАНИЯ - Поддръжка на лични (1:1) и групови чатове с възможност за добавяне/премахване на участници - Изпращане и получаване на текстови съобщения и мултимедийни файлове Не се вижда ясна реализация на механизъм за end-to-end криптиране на ниво услуги или клиенти, освен обща бележка. - Липсва ясно описание на sharding и репликация на бази данни по chat_id или user_id за мащабируемост и отказоустойчивост. - Няма ясен компонент или механизъм за офлайн синхронизация на съобщения и потвърждения за доставка. - Не е ясно как се извършва балансът на натоварването между базите данни и услугите, особено при пикови натоварвания. **Критични точки за разглеждане:**
Избройте основния стек в Go
Имали ли сте някога нужда да записвате часове, да следите времето в някаква система?
""" Местата в киното са разположени в една редица. Новодошлият зрител избира място, за да седне възможно най-далеч от останалите зрители в редицата. Тоест, разстоянието от това място, където ще седне зрителят, до най-близкия зрител трябва да бъде максимално. Гарантира се, че винаги има свободни места в редицата и че вече има поне един зрител. Напишете функция, която по дадена редица места (масив от нули и единици) ще върне разстоянието (броя на интервалите между седалките) от избраното място до най-близкия зрител. [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 [0, 0, 0, 1] [1, 0, 0, 0] place = ((right - left) / 2) """ func maxPlaces(arr []int) int { }
Какво е конкуренция за заключване?