Evgeny
пых
Denis 🤖
Max
Зачем два человека для сайта?:)
правильно! нужна полноценная продуктовая команда во главе с продукт оунером
Aleks
Зачем два человека для сайта?:)
У меня есть два знакомых таких, из конторы уволились, организовали не плохой проект. Вроде даже продали его успешно.
Aleks
Что за проект?
Чето для фермеров, типа торговая площадка.
KonVoi
сами забывают как и я все эти нормативы, это как у бегуна спросить сколько калорий сжигает икра на твоей левой ноге при забеге 100 метров со скоростью 18,5 км/час 😆
Евгений
Полагаю, что народу абсолютно наплевать) А вам желаю таки дойти до достаточного уровня, чтобы не жаловаться по поводу (не)сложных собесов в хороших компаниях)
ну честно быть, я думал в авито собес будет хуже и тип яндекс дрочева с алго. Но чуть удивлён, что спрашивают тупо канкаренси будто это одно преимущество языка )
KonVoi
Самые три главных вопроса при собесе которые надо задать это: 1. сколько уже собесов прошел и завалил? 2. Какие фреймворки крутил и какие больше нравятся и почему? 3. И как он предполагает в бэке + бд реализацию сохранения карточки товара в какую-то категорию? Если есть больше 4 провалов по первому вопросу и внятность видна в других двух, то берем. Меня эта схема еще ни разу не подвела в течении 3 лет, за 30 минут понятна адекватность разраба. Все остальное специфика куда надо отдельно погружаться для разового выполнения чего-то там.
Евгений
Все жду вопросы про comparable и способы реализации генериков)
так этот вопрос есть всегда что может быть ключами в мапе😁
Евгений
ни разу не спросили)
очень много раз спрашивали на собесах и что не может и почему
Izich
Все жду вопросы про comparable и способы реализации генериков)
Все спрашивают про то, использовал ли дженерики, и если да, то где. Потому что самим интересно, но не юзали)))0)
Евгений
видимо мы на разные собесы ходим)
Кажется, что стандартный вопрос как и nil интерфейс
Aleks
Еще обоснования записывать. типа зачем задали писать сортировку на бересте, когда есть IDE и готовые либы. Такие обоснования тоже шикарны. :)
KonVoi
А потом пусть компании посчитают убытки что мол на поиск одного разраба потратили лишних 560 тыщ время/рублей тупо из за выпендрежа
Aleks
Или еще, показали говнокод, и если сразу не испугался и не убежал, спросили как оно будет работать. :) как будто из такого у них все проекты...
KonVoi
Ну шо назревает стартапчик кто со мной 👋🫡🤝
KonVoi
Хуже когда взяли такого, кто нафигачил на большие минуса. :)
Так в том то и дело что теория после 5 собеса у уборщицы от зубов отскакивать будет, а вот понимание умеет ли чел оцифровывать кодом таски так и остается загадкой, а для того есть ревьюинг и тестинг, релиз кандидат…
KonVoi
За 18 лет смотрю что целая индустрия вокруг собесов выросла на одного разраба три красавицы хейчарщицы, всякие сервисы проверь знания пройди тесты, маркетинг тут все захватил 🙈
vim
внутри канала же кольцевой буфер. Хмм
Речь не про буфер, а про очерёдность записи и чтения. У канала под капотом есть очередь читателей и очередь писателей.
Евгений
Речь не про буфер, а про очерёдность записи и чтения. У канала под капотом есть очередь читателей и очередь писателей.
так там очередь это кольцевой буфер и от этого строится как будут шагать указатели на запись и чтение
KonVoi
По факту ВСЕ что создает разраб в кодовой базе это и есть некий алгоритм, который очень сильно зависит от реального бизнес-процесса описанного в задаче который этот код реализует. С самого начала в каждый проект закладывают некие общие слои или правила обработки всех данных. Алгоритм это просто процессы (хорошо если описаны в диаграмме) обработки в коде разных сущностей. Алгоритмы sign in и сохранение картинки к товару будут совершенно разными по своей сути, какие-то слои общие типа прилетело по restApi и провалидировалось а дальше все по разному и в разных системах и в компаниях по разному
KonVoi
Для разработки алгоритмов нужен не разработчик а системный аналитик с архитектором. зачем это ниже сеньера или тем паче мидлу? Когда забрал таску там алгоритм того что надо сделать с сущьностью и как ее присобачить к текущей системе должно быть четко прописано и понятно.
KonVoi
Вот из википедии выдержка: Алгори́тм (лат. algorithmi — от имени среднеазиатского математика Аль-Хорезми) — совокупность точно заданных правил решения некоторого класса задач или набор инструкций, описывающих порядок действий исполнителя для решения определённой задачи.
KonVoi
Поэтому услышать ответ на вопрос что делал и как в прошлых проектах решал задачи, и главное оценить этот ответ, намного важнее чем капаться в уже реализованном гуглом gc, мы его что переписывать собираемся в новом проекте, или претензии к тому как он работает?
vim
так там очередь это кольцевой буфер и от этого строится как будут шагать указатели на запись и чтение
Ошибаетесь, очередь читателей, как и очередь писателей - это структура, в которой всего два поля: связанный список и последний элемент этого списка. Сами подумайте, как кольцевой буфер может выполнять роль очереди? У него фиксированный размер. https://github.com/golang/go/blob/6a7ef3646654cb13e0466aba822b54cb15cb057c/src/runtime/chan.go#L42C1-L42C1
Alex
Ну, бывает) мне как-то чувак на собесе в какой-то из сберовских продуктов на умных щах говорил о своей 100% уверенности в том, что данные из канала читаются рандомно) поэтому с помощью канала нельзя запилить очередь)
Это распространенная практика на собеседовании (не только в Сбере), позволяющая оценить софт скиллы человека, умение аргументированно обосновывать свою точку зрения. Вы просто провалились.
Evgeny
Чет мне показалось спор про разные порядки, один про порядок элементов в канале, второй про порядок читателей/писателей
Evgeny
Во, конкретика на корнер кейсах пошла
vim
вообще-то может, на кольцевом буфере и дек есть
Интересно было бы посмотреть, как выглядит deque на кольцевом буфере
vim
И как это поможет реализовать с его помощью очередь.
vim
так дек - расширение очереди
А кольцевой буфер тут причём?
Alexey
А кольцевой буфер тут причём?
так реализация на основе него
Alexey
и спойлер: такая очередь будет прилично быстрее очереди на связном списке
vim
https://github.com/gammazero/deque/wiki
vim
А что буддет, если количество читателей/писателей превысит размер буфера?
vim
Новый буфер надо будет создать?
vim
И перенести в него все данные из старого?
Alexey
И перенести в него все данные из старого?
да, https://github.com/gammazero/deque/blob/master/deque.go#L404
vim
да, https://github.com/gammazero/deque/blob/master/deque.go#L404
А как перенести? Сразу или частями? А когда очередь разгребётся, то что буфером увеличенного размера делать? Оставить как есть?
Alexey
кажется, это уже выходит за рамки этого чата, но и размер можно спокойно уменьшать и в коде это есть
Evgeny
зачем очередь на deque? в го же можно делать просто на слайсе и оно тоже будет быстрее динамического списка
vim
кажется, это уже выходит за рамки этого чата, но и размер можно спокойно уменьшать и в коде это есть
Так я и не говорю, что в коде этого нет. Более того, это должно быть в коде. Я просто хочу навести вас на мысль, что Fast ring-buffer deque не такой уж и fast с точки зрения О-большого.
vim
кажется, это уже выходит за рамки этого чата, но и размер можно спокойно уменьшать и в коде это есть
Самое интересное в том, что deque для очереди читателей/писателей вообще бесполезен. Просто нет никакой нужны добавлять кого-то в начало очереди.
Alexey
и gc тоже
vim
Так-так, давайте про O(1) поговорим)
vim
Откуда инфа?)
vim
Я пока вижу O(n)
Alexey
Откуда инфа?)
докажи, там асимптотика не хуже динамического массива
vim
Там вроде всё просто - добавили n элементов, достигли размера буфера - добавили новый элемент, скопировали n+1 элементов в новый буфер Хотя это O(log(n)), но никак не O(1)
vim
да, не log(n), а всё-таки n
AlexM
Откуда инфа?)
Ну так амортизированный же O(1)
vim
как часто расширяется буффер? и по твоим рассуждениям append в слайс работает за O(logn)
Не важно, как часто. Важно рассмотреть наихудший случай
Alexey
Не важно, как часто. Важно рассмотреть наихудший случай
ты слышал что-то про амортизированную сложность?
vim
да, не log(n), а всё-таки n
точнее даже n*log(n)
Alexey
ладно, мы слишком много нафлудили, пусть все останутся при своём мнении. Но утверждение, что append в слайс равен по сложности сортировке - kek
vim
Делай proposal, чо)