Открытое собеседование на Go-разработчика | Анонс менторской программы

preview_player
Показать описание


Рекомендации по теме
Комментарии
Автор

Спасибо большое. Очень полезный контент. На русском лайвинтервью по го почти не было.

digital_ninja
Автор

> а если мы построим мультимастер репликацию?
> ну тогда можно аутсорснуть кому-нибудь эту историю...

спасибо за поднятое настроение)

nghtfre
Автор

Полный перебор по слайсу всегда быстрее полного перебора по map, а не в каких-то специальных случаях. Даже без всяких кешей процессора, там же обвязка с рандомизацией. Если бы вопрос был наоборот - бывает ли перебор по слайсу быстрее доступа по ключу к map - и тут уже действительно ответ да в особых случаях, на map меньше 8.

Shurikus
Автор

большое спасибо за видео, уверен многим это будут на пользу !
Есть не большое но ) Уже не в первый раз слышу от Вас про кеш, тут многие ребята не с большим опытом - не хотелось бы искажать их представление о кеше в рамках систем дизайна
1) в большинстве случаев кеш это костыль, его надо применять очень осознано
2) в топку субд у которой реплики разъезжаются с мастером (ладно если пару раз все бывает и это можно устранить с помощью тулинга бд)
3)исходя из первого то костыль породит еще и синхронизацию которую надо будет реализовать
валидацию, инвалидацию, нехватка памяти и.т.д Породит целую инфраструктуру которую надо поддерживать со своими отдельными проблемам )
Хорошо взвешенный выбор субд+архитектура избавит от кеша или очень сильно его минимизирует .
А еще не совсем понятно от куда у большинства опыт в высоконагруженных проектах ?) у нас типа их пруд пруди ?)

андрейандреевич-он
Автор

Отличный проект, ребят! Обязательно к вам приду! Начал учить Go.

sergeyandriyanov
Автор

14:07

Интересно.
Побенчмаркал, создал массив строк на 1000 элементов и мапу со строковыми ключами на 1000 элементов.
Искомую строку поставил самым последним элементом массива (чтобы массив целиком прогонялся от первого до последнего элемента при поиске)

Результаты:
Поиск ключа в мапе: ~7ns/op. Поиск элемента в массиве перебором: ~700ns/op. Разница в 100 раз в пользу мапы.

Думал, может с интами будет быстрее, создал мапу с интовыми ключами (в качестве значений struct{}{}) и массив с элементами типа int.
Та же история, мапа ищет в ~100 раз быстрее.

Сократил количество элементов до 100 (и в массиве и в мапе). Мапа перформит всё равно быстрее, раз в 50.
Возможно массив на 5-10 элементов будет пробегаться быстрее мапы, не тестил, но и это вряд ли.

Процессор i7 на MacbookPro.

Да, массив влазит в кеш целиком и на каждой итерации происходит не обращение к памяти, а внутри кеша. Но, видимо, мапы в go оптимизированы так, что прогулка по поинтеру (на бакет) + прогулка по самому бакету (max 8 элементов по дефолту) всё равно получается быстрее, чем перебор массива влезающего в кеш целиком.

wskeal
Автор

Спасибо, пойду учить цитаты разрабов про закрытые каналы и другие аспекты языка.

sergei
Автор

Можете объяснить что такое выравнивание памяти простым языком?

Levelord
Автор

Олегу задали вопросы про уровни изоляции и сделали вывод что он там хромает. Странный вывод.
Вопрос интервьюерам. А как часто вы меняете дефолтные значения уровней изоляции ? 80% разрабов работающих не в финтехе даже не знает, где это меняется!

Михаил-тзэ
Автор

Про функцию в defer вопрос скорее всего подразумевал нюанс, что значение аргументов переданные в именованую функцию вычисляются в момент инициализации, а значения аргументов переданные в безымянную функцию с defer берутся в момент сработки defer.

Михаил-тзэ
Автор

Человек признался, что слушал предыдущее видео, в котором вопросы по Гошке были на 90% такие же - смысл этой части не понятен. Как пошли вопросы по бд(чего не было на прошлом видео) - сразу "поплыл".

Вопрос к организпторам:
т.к. много топ компаний рф(тиньк, яндекс, авито и тп) активно внедряет подход к собесам из фаанга(а вне РФ - это уже давно стандарт) с отдельным секциям по алгоритмам и систем дизайну, то предоставляете ли вы менторинг по этим направлениям?

vladislavrodin
Автор

Спасибо за выпуск.
Durability это долговечность, надежность это reliability.

wskeal
Автор

Ключем к map может быть итерируемый массив. Критерий это сравнимость типа данных ==

Shurikus
Автор

Не нашел менторинг для начинающих в телеге, там просто бот

luckytima
Автор

Подскажите, пожалуйста, что за рыба такая «контракт», впервые слышу)

Егор-щсщ
Автор

Разве компилятор не перераспределяет поля, чтобы оптимизировать хранение в памяти, в плюсах современных точно распределяет, верю что в го тоже

chist_
Автор

сидишь такой.. на всё отвечаешь без проблем и с допами.. а тебя даже на джуна не берут потому что резюме не то) Как я рад жить в этом мире)

yarbersheer
Автор

Кажется работодатель сам не знает, зачем у select нужен default. Или просто не раскрывает карты, а соглашается с кандидатом :)

melickon
Автор

Хотелось бы в видео чтобы было меньше грубых слов, все же разработчики, а то "чуваки, фиговый, кореша, мутим" и т д

souichimoon
Автор

если честно, system design у парня на нуле, по го - ну такое себе, джун. жаль CAP-теорему не тронули. По поводу master-slave - тут больше балансировщик с кворумом, а вот кэширующий прокси - это новый слой, который по логике, тоже должен быть в кластере, т.е. проблему репликации просто закрыли кэшом!?!?!?!?!? так давайте все писать в кэш + в очередь на запись в БД.

Stiky-balancer + master-slave + cache (persistent) + CQRS и кворум

courtneywilson