Реальное Собеседование в Яндекс | Архитектурная секция

  Рет қаралды 12,332

Vadim Novoselov

Vadim Novoselov

Күн бұрын

Сегодня я прохожу заключительное собеседование в Яндекс - архитектурную секцию, или, по другому, System Design. Смотри это видео, чтобы узнать, какие вопросы мне задавали.
🐳 Следи за новостями: t.me/gernar228/ - новости, анонсы, бесплатный контент
🍑 Приватный телеграм: t.me/gernar228_bot/ - весь движ тут: сообщество, собесы, мои личные консультации и другой эксклюзивный контент!
⬆️ Boosty больше недоступен, всё переехало в телеграм ⬆️
Алгоритм с квадратиками: en.wikipedia.org/wiki/Quadtree
ПОЛНАЯ ВЕРСИЯ:
• (full) Яндекс Архитектура
ТАЙМКОДЫ:
00:00 Вступление
00:43 Задание
02:53 Структура данных
05:23 Алгоритм поиска
07:00 Бекенд
08:44 Базы данных
09:48 Конец

Пікірлер: 74
@user-tn9lz1dv2p
@user-tn9lz1dv2p 9 ай бұрын
Как всегда супер! И круто, что делаешь две версии роликов, мне например, больше нравится полную смотреть.
@gernar228
@gernar228 9 ай бұрын
Давайте этим видео добьём 1000 подписчиков, чтобы я уже выпустил то самое видео!
@user-cg4wl2vg7q
@user-cg4wl2vg7q 9 ай бұрын
давайте
@2173045
@2173045 9 ай бұрын
Подписался на тебя с разных аккаунтов 😂
@trempm
@trempm 9 ай бұрын
По алгоритму задачи - есть геохэшинг - хэш для всех точек можно заранее рассчитать. В момент запроса расчитываем хэш для центра и получаем из бд точки с таким же хэшем. Это черновой расчет - далее нужны доп расчеты (все зависит от требуемой точности) Второй вариант (его можно скомбинировать с геохэшингом) - от точки поиска находим квадраты(ограничивающие координаты 2 широты и 2 долготы), который лежит вне окружности поиска и квадрат, который лежит внутри окружности. Квадраты(каждый) по факту - это 4 ограничивающие координаты, т.е. сделав 2 простых скл запроса к бд мы получим все точки лежащие внутри вписанного квадрата(они точно внутри искомого радиуса) и точки которые лежат внутри большого квадрата, но за пределами малого (эти точки могут лежать в искомом радиусе). Для уточнения второго набора точек опять же можно по квадратам считать, а можно (если точек не много ) посчитать напрямую расстояние(но надо учитывать, что это операции с плавающей зарятой, что значительно дольше целочисленных вычислений).
@gernar228
@gernar228 9 ай бұрын
жесть он крут
@2173045
@2173045 9 ай бұрын
Благодарность тебе за видео , мы настоящие мазихисты смотрим полную версию ибо так куда полезнее.
@98viski
@98viski 9 ай бұрын
А как же сбор функциональных и не функциональных требований, расчет нагрузки на систему... Валеры на тебя нет)))
@petyap7600
@petyap7600 9 ай бұрын
Хорош, сансей) Давно на мл обычный систем дизайн спрашивают? Или это только в яд? На просторах инета если найдете систем диз от карпов курсес, то там четко и по делу все. Как раз про гео поиск есть часть.
@gernar228
@gernar228 9 ай бұрын
только в яндекс видел такую секцию
@maestro.a
@maestro.a 9 ай бұрын
Привет, Вадим! также прохожу собесы, в данный момент, в эти же компании на позицию ML/DS. И слишком хорошо тебя понимаю, сижу с улыбкой и слезами, тк весь видос настолько жизненный :) тем не менее, ответы на некоторые каверзные вопросы из твоих видео помогают разобраться, что ж всё таки от меня хотели услышать на техскрине)
@gernar228
@gernar228 9 ай бұрын
Для этого канал и создан! Рад, что тебе полезно
@i1i1r
@i1i1r 9 ай бұрын
Помимо quad tree думаю подойдёт для кластеризации вообще и в данном случае kdtree и balltree
@gernar228
@gernar228 9 ай бұрын
какие люди
@Max-wn2gd
@Max-wn2gd 9 ай бұрын
спасибо. А про обратную связь от Яндекса расскажешь ?
@gernar228
@gernar228 9 ай бұрын
прошел, но не на тот грейд что хотел =С
@VladyslavHadzhykhanov
@VladyslavHadzhykhanov 9 ай бұрын
Какие курсы/материалы ты изучал, чтобы подготовиться к этой секции?
@gernar228
@gernar228 9 ай бұрын
смотрел асмр весь день
@user-vv5vo1ur9m
@user-vv5vo1ur9m 9 ай бұрын
​@@gernar228фиксирую
@kl45gp
@kl45gp 3 ай бұрын
сейчас уже у всех бд есть геоиндексы на самых крутых алгоритмах и не нужны никакие структуры, и запросы готовые где указываешь свою точку, максимальный радиус и минимальный радиус - все, ничего не надо изобретать
@surrrogatehuman7653
@surrrogatehuman7653 9 ай бұрын
Похожая задача с интервью, где использовались QuadTree kzbin.info/www/bejne/n6LFpHufiNONh6c c Валерием Бабушкиным. И да дсерам особенно на высокие грейды нужно уметь в систем дизайн. На западе это база
@feldmaarshale7494
@feldmaarshale7494 9 ай бұрын
эта секция есть при отборе на стажировку в яндекс ?
@gernar228
@gernar228 9 ай бұрын
на работу
@codingjerk
@codingjerk 4 ай бұрын
Если что, это архитектурная секция, не нужно на ней придумывать алгоритмы, все вопросы от интервьювера были попыткой тебя вывести на нужную дорожку - сделать __схему всей архитектуры__, без деталей алгоритмов. Как готовиться к таким секциям и что примерно в результате от вас хотят получить, можно почитать на хабре (гуглится по запросу "Как проходят архитектурные секции собеседования в Яндексе")
@kirillkaiumov
@kirillkaiumov 9 ай бұрын
Возможно в вопросе про то как запрос доходит до бэкенда интервьювер также хотел услышать про DNS. Доменное имя конечно сделано "для удобства", но это не объясняет как браузер понимает на какой IP-адрес слать запрос. К тому же не всегда 1 IP-адрес на домен, может быть и несколько IP-адресов лоад балансеров, которые в свою очередь направляют запросы на многие машины, на которых работает наша система. Удивлен, что load balancer назвали тупым. Да, есть относительно тупые алгоритмы, когда просто запросы по очереди идут на каждый из серверов. Но во-первых есть разные алгоритмы, например можно считать время ответа и направлять запросы туда, где быстрее всего (есть и другие алгоритмы). А во-вторых это отдельных вопрос откуда LB знает IP-адреса самих серверов. Не до конца понятно, что интервьювер хотел услышать про БД, ожидал ли он услышать виды БД (реляционные, key-value, колоночные, графовые и тп) и плюсы/минусы каждой. Почему-то в конце начал рассказывать про алгоритм консенсуса ¯\_(ツ)_/¯ P.S. Не работаю в яндексе и не хочу.
@MrGamerinyou
@MrGamerinyou 9 ай бұрын
Это собес на миддла или синьора? На джуна вроде вообще не дают систем дизайн, а на миддла по-моему слишком детально спрашивали
@gernar228
@gernar228 9 ай бұрын
Кажется, там он у всех есть, просто разную роль играет в оценке
@gezoond
@gezoond 3 ай бұрын
простой индекс по координатам в базе не помог бы? Ведь если какая то точка входит в какой то квадрат - то это всего лишь диапазон значений, которые легко парсятся с индексированной по координатам таблицы координат заведений ? я неправ?
@user-uk2qj7qk1x
@user-uk2qj7qk1x 8 ай бұрын
Постргес подходит, в нем есть нужное расширение для координат
@alekseysverbeev2934
@alekseysverbeev2934 Ай бұрын
Спасибо, хорошо рассказал и не боишься немного обсираться
@RedBallOfLove
@RedBallOfLove 9 ай бұрын
Я не думаю, что правильным будет связывание квадратов. 1. Думаю, что более оптимальным будет выделить квадрат с фиксированной стороной 100м2 и тогда каждый квадрат на плоскости будет иметь свои 2 32 битных индекса (0, 0), (0,1) (1,0) и т.д тогда любую точку на плоскости можно перевести в координаты квадрата x%100, y%100. Для хранения квадратов в стороже будет достаточно соединить два 32 индекса в один 64 битный. Время поиска, загрузки и т.д вообще не будет зависеть от кол-ва квадратов. 2. По поводу круга и квадрата херня. Если данных много, то отсечь кругом (хоть это и сложнее) может оказаться гораздо более эффективным т.к. не придётся загружать/пересылать дополнительные данные. Конечно это дискуссионный вопрос, но думаю, что в реальности ближайшие квадраты нужно грузить от центральной точки спиралью увеличивая и увеличивая расстояние. По факту же скорее всего ещё всё сложнее т.к. нужно учитывать проходимость к конечной точке. т.е. использовать поиск в глубину используя геометрию зданий. дорог и т.д. 3. Очень сложно сказать, как и где нужно хранить данные. т.к. скорее всего это уже никакая не sql, а самопальная база данных с огромным количеством различных кешей для быстрого поиска информации.
@kirillsushilnikov9614
@kirillsushilnikov9614 2 ай бұрын
Я думал, что в архитектурной секции не должны вообще звучать названия реализаций (SQL и прочее), а здесь очень много об этом говорят. Причем, за каким-то здесь начали обсуждать алгоритм поиска этих точек. Зачем, если перед этим было два этапа, на которых наверняка были алгоритмы? Что-то у них явно не так в Яндексе.
@thampasaurusrex3716
@thampasaurusrex3716 9 ай бұрын
разве спарк это база данных? мб ты имел в виду hdfs как data lake, поверх которого можно делать запросы и аналитику используя спарк как движок
@gernar228
@gernar228 9 ай бұрын
да, я имел в виду всю экосистему хадупа
@mishamishin5239
@mishamishin5239 9 ай бұрын
Судя по всему он хотел получить что-то вроде того, что рассказывает парень в видео современная backend архитектура от Артема Шумейко. Всем советую!
@gernar228
@gernar228 9 ай бұрын
пропиарь меня тоже у него в комментах плс
@ds_sss_rank
@ds_sss_rank 9 ай бұрын
когда тебе скажут результат собесов? Ты красавчик! Твой контент это просто свет для бродячих котят под тегом #хочувайти
@gernar228
@gernar228 9 ай бұрын
спасибо! В Яндекс я прошёл, но не на тот грейд что хотел. В Сбер оффер делали, ну и пока всё.
@MrGamerinyou
@MrGamerinyou 9 ай бұрын
@@gernar228 а на какой грейд взяли в яндекс и сбер?
@antonpolchenko6391
@antonpolchenko6391 16 күн бұрын
Хз на счет интервьюера, но кандидат решает конкретную задачу, вместо построения архитектуры, а интервьюер его увел куда то в алгоритмы, в общем начали за архитектуру, а закончили за выполнение таски, так и не разобравшись, как эту таску поставить.
@diglydigly3903
@diglydigly3903 9 ай бұрын
Нашла канал пару дней назад и с большим удовольствием посмотрела все видосы, чтобы поботать к собесу. Спасибо!
@vosatorp
@vosatorp 9 ай бұрын
Когда собеседования в FAANG?)
@gernar228
@gernar228 9 ай бұрын
Если без шуток, то я бы попробовал собесы в иностранные конторы, но их очень сложно сетапить, просто по отклику сложно попасть на собес. Возможно когда-нибудь запущу такой проект
@normanmaddyson8408
@normanmaddyson8408 9 ай бұрын
Там фриз найма везде кроме AWS
@bogdanbogdan5276
@bogdanbogdan5276 8 ай бұрын
Почему ни слова про Spatial Data Type в sql, там есть возможность хранить и координаты, и отрезки и полигоны, и много функций на уровне БД для поиска расстояний, пересечений, вложенностей и так далее, кажется это все уже продумано на уровне БД, можно хранить координаты там и просто искать все координаты которые не дальше чем расстояние X от входной точки, этот тип данных даже индексация поддерживает
@gernar228
@gernar228 8 ай бұрын
суть в алгоритме поиска, а какую бд использовать не важно
@palevas
@palevas 3 ай бұрын
Мне такую же задачу в Гугле или ФБ давали, точно не помню
@gernar228
@gernar228 8 ай бұрын
🐳 Следи за новостями: t.me/gernar228/ - новости, анонсы, бесплатный контент 🍑 Приватный телеграм: t.me/gernar228_bot/ - весь движ тут: сообщество, собесы, мои личные консультации и другой эксклюзивный контент! ⬆ Boosty больше недоступен, всё переехало в телеграм ⬆ • Алгоритм с квадратиками: en.wikipedia.org/wiki/Quadtree • Полная версия: kzbin.info/www/bejne/hJ7XnniofciIa9U
@user-hj6oh4bw3n
@user-hj6oh4bw3n 9 ай бұрын
Так тебя позвали на собеседования с командами, или нет?)
@gernar228
@gernar228 9 ай бұрын
грейд ниже чем я хотел получился 🥲
@user-hj6oh4bw3n
@user-hj6oh4bw3n 9 ай бұрын
@@gernar228 печально. Но вроде везде говорят, что в Яндексе занижают грейд, выезжают засчёт PR-компании. Сколько предложили, если не секрет?
@St0pGame
@St0pGame 9 ай бұрын
@@gernar228 А как это выглядело, можно поподробнее? Тебе до финалов сказали грейд? Так вроде не делают
@stepanbazrov6330
@stepanbazrov6330 8 ай бұрын
Ну вообще вроде как есть более эффективная структура R-tree
@lainisourgod
@lainisourgod 9 ай бұрын
на 1000 подписчиков Вадим успешно проходит собес в OpenAI
@gernar228
@gernar228 9 ай бұрын
на 10к пройду на изи
@user-vr7lb9fv3j
@user-vr7lb9fv3j 9 ай бұрын
Берём квадрат, а не круг, потому что будем считать Manhattan distance. Так как обычно в городе все разбито по квадратам
@gernar228
@gernar228 9 ай бұрын
Интересное предположение. Но мне кажется что просто математика проще получается.
@Stas0ya
@Stas0ya 8 ай бұрын
лучше комментировать свои ответы интервьюеру, а не полностью заменять
@postmodern1876
@postmodern1876 9 ай бұрын
ДАЖЕ БЫК В АХ*ЯХ ОТ ЭТОГО ВИДЕО 🐮🤠! СПАСИБО, ПОСЛЕ ЭТОГО ВИДЕО МЕНЯ СТАЛИ ЧАЩЕ БРАТЬ НА РАБОТУ, СЛАВА БОГУ 🗯🙇‍♂! ОБРАЗОВАТЕЛЬНЫЙ КОНТЕНТ ТОП ВИДЕО! p.s. Не хватило жабы в этом видео или хотя бы черепаху давай!!!! 🐸 / 🐢
@kirich321
@kirich321 9 ай бұрын
не особо понятно зачем эта секция для млщика
@gernar228
@gernar228 9 ай бұрын
вроде у них это на все технические позиции, начиная с определенного грейда
@mwave3388
@mwave3388 8 ай бұрын
потому что там наймом занимаются мбаные еудаки.
@user-wn2or3fh8d
@user-wn2or3fh8d 5 ай бұрын
загружай в след раз полный собес без твоих вставок. Не удобно смотреть так
@gencurrent
@gencurrent 17 күн бұрын
Quad Tree: en.wikipedia.org/wiki/Quadtree
@alexandersmirnov4274
@alexandersmirnov4274 8 ай бұрын
нахрена у датасаинтиста спрашивать задачу бекразработчика совковское мышление
@MessirAvgur
@MessirAvgur 12 күн бұрын
Какие точки? Какие логарифмы? Какие , бля, квадраты? Это точка архитектурная секция?
@aleksey6811
@aleksey6811 7 ай бұрын
Он сказал Quad Tree - Дерево квадрантов
@mwave3388
@mwave3388 8 ай бұрын
Не, серьёзно. Почему бы не сделать секцию дизайн МЛ систем для МЛщиков и прочих садомазеров? Сбор данных, хранение, ЕТЛ, гипотезы, метрики, оптимизация, деплой модели, мониторинг. У меня сейчас пена ртом пойдёт, ьтялб. Что такое квад три, юовтбё мать? Пентьюм квад кор знаю, играл на нём в дум 3. И в фар край 1, там в конце мутанты появлялись. Пусть секцию про огнетушители и сварку добавляют, и то полезнее будет. А то вдруг в яндексе пожар, ты и потушишь и шкафы потом новые для серверов сделаешь.
@gernar228
@gernar228 8 ай бұрын
да мне самому было бы интересней мл дизайн пройти хочу чтобы добавили секцию на знание лора 1го ведьмака
@thepope1433
@thepope1433 9 ай бұрын
en.wikipedia.org/wiki/Quadtree
@gernar228
@gernar228 9 ай бұрын
Спасибо, добавил в описание
Основы системного дизайна за 30 минут
28:46
Eugene Suleimanov
Рет қаралды 24 М.
WHY DOES SHE HAVE A REWARD? #youtubecreatorawards
00:41
Levsob
Рет қаралды 29 МЛН
顔面水槽をカラフルにしたらキモ過ぎたwwwww
00:59
はじめしゃちょー(hajime)
Рет қаралды 31 МЛН
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 106 МЛН
CAN YOU HELP ME? (ROAD TO 100 MLN!) #shorts
00:26
PANDA BOI
Рет қаралды 36 МЛН
Прими свою темную сторону
5:54
Владимир Белоус
Рет қаралды 23
Как добавить организацию на Яндекс Карты за 10 минут! Пошаговая инструкция.
10:09
Google system design interview: Design Spotify (with ex-Google EM)
42:13
IGotAnOffer: Engineering
Рет қаралды 969 М.
Разбираемся с АЛГОРИТМИЧЕСКИМ собесом
16:14
Максим Фатин
Рет қаралды 11 М.
😱НОУТБУК СОСЕДКИ😱
0:30
OMG DEN
Рет қаралды 2,3 МЛН
Fiber kablo
0:15
Elektrik-Elektronik
Рет қаралды 7 МЛН
Эффект Карбонаро и бумажный телефон
1:01
История одного вокалиста
Рет қаралды 2,5 МЛН
Обзор игрового компьютера Макса 2в1
23:34
How Neuralink Works 🧠
0:28
Zack D. Films
Рет қаралды 31 МЛН
Power up all cell phones.
0:17
JL FUNNY SHORTS
Рет қаралды 48 МЛН