Pavel
Да обычные там задачки были
Pavel
В Яндексе на собесах тоже не требуют прям алгоритмов
Pavel
Базовое знание структур данных и работа с ними на типовых задачках
Vladislav
Да обычные там задачки были
Они обычные тогда когда от тебя НЕ требуется решить 8 таких задач за 5 часов. В моей обычной работе, когда попадаются одна из таких задач, я сначала беру кофе, пью его и думаю о жизни, потом общаюсь с коллегами, о том какая интересная задачка попалась, потом пару часов прикидываю различные варианты решения. Затем рабочий день кончается....
Vladislav
Когда нужно решить 8 за 5 часов, это стресс, боль, отчаяние и страх
John
В Яндексе на собесах тоже не требуют прям алгоритмов
каждый раз когда говорят о алгоритмах у меня всплывает ассоциация с сортировкой бинарно-пирамидальной , перестановками, пузырьком и др, красное-черное дерево, ханойские башни, задача о ферзях, но боль в том что в бою приходиться писать "средняя температура по больнице".
Sergey
Sergey
Sergey
к слову
Sergey
меня тут пару недель захейтили джуны в этом канале за то, что я на собесах спрашиваю задачи на кодинг, но сегодня спросил у эйчара,что думаю люди которых я собешу....и был удивлен. Они довольны.
Sergey
Vladislav
John
Sergey
не так давно меня спрашивали алго, на то как понять, что в связанных нодах, есть нода имеющая ссылка на ноду из более раннее связи
MiZiMi
Сап ребят, подскажите, что нужно знать джуну на поприще алгоритмов?)
Sergey
MiZiMi
MiZiMi
Ахаха, ну я на кодварсе решал, 5 кю
Sergey
MiZiMi
Принял)
Sasha
Задачки решать куда проще, чем с нуля самому копаться (имхо)
Dmitry
Сергей
Товарищи, у кого нибудь есть внятный пример реализации grpc, а то пока что я вижу все примеры как картинку про сову)
Сергей
Сергей
Ощущение, что что-то упускается))
Tikhon
Сергей
Пока не натыкался, завтра гляну
Владимир
Сергей
Да, есть сервер, есть клиент, сервер раз в какое-то количество времени генерит инфу, клиент или несколько клиентов её должны забрать.
Владимир
Сергей
Проблема пока базовая - с чего начать. Допустим уже есть код, который генерит данные, прописаны все функции и прописан тип данных, который будет передаваться (структура с вложенными структурами)
Владимир
Проблема пока базовая - с чего начать. Допустим уже есть код, который генерит данные, прописаны все функции и прописан тип данных, который будет передаваться (структура с вложенными структурами)
простой вариант без дистрибуции прото-контрактов.
1) пишешь прото файл для сервера. Прихраниваешь в репозитории в proto/x.proto or api/x/x.proto
2) добавляешь в мейкфайл директивы на зависимости protoc, protoc-gen-go
3) выбираешь папку куда генерить pb сырцы (например protogen/x/), обычно добавляешь в мейкфайл директиву на билд как тут https://grpc.io/docs/languages/go/quickstart/
4) билдишься директивами обычно make generate
5) регаешь в мейне грпц сервис и создаешь пакет-класс-обработчик с встраиванием UnimplementedServer как тут для старта https://medium.com/@tj.ruesch/your-first-grpc-api-in-golang-d277d684b84e
6) запускаешь
тут еще можно вечно улучшаться, писать утилиты для дистрибуции, добавлять создание/пополнение кодгеном отдельных методов, которые ты в прото пропишешь и тп. Но для старта сойдет
Владимир
Сергей
А в grpc есть реализация типа "подписка"? Как только данные обновились клиент их сразу же получает
Сергей
Владимир, спасибо!
Владимир
Владимир
но там тоже подводных камней масса и на каналах и селектах жить
Данил
интересный факт: в методах протобафа нельзя оставлять пустыми входные или выходные. нужно прям прописывать empty, что ты не ждешь каких-то данных.
Владимир
если хочешь, я завтра именно этот вариант собирался к вечеру на гитхаб запушить, как причешу. Напиши в личку, закину ссыль
Сергей
Ок, завтра тебе напишу!
Mikhail
Roman
Aleks
С алгоритмами на собесах еще тот прикол, а когда еще их на бумажке писать вообще цирк с конями. В C++ если написал сам что есть в STL, вообще сразу мочат. :) За все время, которое я что-то кодил реально писать приходилось подобное когда давно на asm пытался запихать что хотел в микроконтроллер Attiny13. :) С тех пор не разу не пришлось писать сортировки и т.п. :)))
Aleks
Наверно на ум собеседующим не приходит что лучше спрашивать например навыки декомпозиции, архитектурные патерны, патерны асинхронщины и т.п. Но это не где почти не спрашивают, или в минимальном виде. :(
Aleks
А "олимпиадник" обвешаный "алгоритмами" в команде, это вообще беда...
Aleks
Он всем доказывает альтернативность всю жизнь кривейшими невнятными реализациями чего либо "быстрее на 3 такта"...
Aleks
Вы хоть раз не собесе встречали вопрос к примеру: "как эту задачу реализовать на ООП и как на функциональщине на уровне блоков, и что из этого лучше подойдет?" Сколько нужно слоев и почему для реализации такого?
Aleks
Как снизить количество ветвлений и т.п?
Aleks
Нет, только сортировка...
Aleks
Причем в 90х сам баловался на z80 меряньем пиписками, интрами и т.п. Но одно дело творчество для себя, а другое разработка для бизнеса. Кидаться json'ами меж микросервисов, нафига сортировка пузырьком? :)
All
Aleks
WerdnaZX
Ага
Pavel
Причем в 90х сам баловался на z80 меряньем пиписками, интрами и т.п. Но одно дело творчество для себя, а другое разработка для бизнеса. Кидаться json'ами меж микросервисов, нафига сортировка пузырьком? :)
Если задачи сводятся к подобному ремесленничеству, то понятно, что практической востребованности в алгоритмах нет, это скорее как фильтр для потока резюме. В смысле, те, кто приложил усилия в алгоритмистике, как минимум, обладают волей и способностями к изучению.
Если же задачи у компании вполне себе шире, то сами вопросы по алгосам на собесе еще более оправданы как technology agnostic, без привязки к конкретному стеку/ языку. Может там базу свою разрабатывают, и неплохо бы тогда по теории графов поспрашивать, например, для транзитивных замыканий. Впрочем в большинстве случаев, скорее всего, придерживаются неких best practices как у "взрослых"
sonochiwa
в природе есть такое явление как вакансии на джуна с удаленкой из рф, или такое только в фантазиях?
Aliaksandr
Наверно на ум собеседующим не приходит что лучше спрашивать например навыки декомпозиции, архитектурные патерны, патерны асинхронщины и т.п. Но это не где почти не спрашивают, или в минимальном виде. :(
На собеседованиях нужно спрашивать то, чем затем предстоит заниматься собеседуемому на работе. Если в его обязанности не будет входить решение leetcode задач, проектирование архитектуры приложения, асинхронное программирование и т.п., то зачем про это спрашивать на собеседовании? Лучше спросить про crud с конвертацией JSON в yaml, которыми, вероятнее всего, придется заниматься на работе. Если собеседуемый начнет упражняться в leetcode или городить миллион ненужных абстракций для решения простой crud-задачи, то с ним лучше попрощаться, т.к. от него на работе будет больше вреда, чем пользы
Не ну это
ну тут явно подмешано нейронкой
Aleks
Если задачи сводятся к подобному ремесленничеству, то понятно, что практической востребованности в алгоритмах нет, это скорее как фильтр для потока резюме. В смысле, те, кто приложил усилия в алгоритмистике, как минимум, обладают волей и способностями к изучению.
Если же задачи у компании вполне себе шире, то сами вопросы по алгосам на собесе еще более оправданы как technology agnostic, без привязки к конкретному стеку/ языку. Может там базу свою разрабатывают, и неплохо бы тогда по теории графов поспрашивать, например, для транзитивных замыканий. Впрочем в большинстве случаев, скорее всего, придерживаются неких best practices как у "взрослых"
А те кто изучал паттерны проектирования, декомпозицию, подходы и т.п. не приложили усилия и не имеют способности к обучению? :) Только "алгоритмисты"?
Владимир
Если задачи сводятся к подобному ремесленничеству, то понятно, что практической востребованности в алгоритмах нет, это скорее как фильтр для потока резюме. В смысле, те, кто приложил усилия в алгоритмистике, как минимум, обладают волей и способностями к изучению.
Если же задачи у компании вполне себе шире, то сами вопросы по алгосам на собесе еще более оправданы как technology agnostic, без привязки к конкретному стеку/ языку. Может там базу свою разрабатывают, и неплохо бы тогда по теории графов поспрашивать, например, для транзитивных замыканий. Впрочем в большинстве случаев, скорее всего, придерживаются неких best practices как у "взрослых"
>придерживаются неких best practices как у "взрослых"
Это называется "карго-культ"
Dmitriy
На собеседованиях нужно спрашивать то, чем затем предстоит заниматься собеседуемому на работе. Если в его обязанности не будет входить решение leetcode задач, проектирование архитектуры приложения, асинхронное программирование и т.п., то зачем про это спрашивать на собеседовании? Лучше спросить про crud с конвертацией JSON в yaml, которыми, вероятнее всего, придется заниматься на работе. Если собеседуемый начнет упражняться в leetcode или городить миллион ненужных абстракций для решения простой crud-задачи, то с ним лучше попрощаться, т.к. от него на работе будет больше вреда, чем пользы
Не совсем согласен. Не, тупой прогон по алгоритмам действительно немного не то. Но даже "простой CRUD" завтра может стать кокурентным. Вот прямо пример из жизни - была простая табличка со списком телефонов и рейтингом клиента, вот прям тупой CRUD (даже без аутентификации и RBAC), правда очень злоровая. Тут к ней добавляется схожая табличка просто заполняемая другим отделом, а потом третья. И т.к. БД разные (хардварно), то надо параллельно опрашивать все три, последовательно - не вариант, выходим за таймауты. И тут началось....
Pavel
Aleks
Dmitriy
Dmitri
Abzal
хаха, я на нормальную квартиру накопил именно в разводе
Feofan
Abzal
да потом сошлись опять,
там дочку пришлось зарубеж на учебу отправлять и прочее,
но это как говорится, другая история ... :)
Abzal
в итоге накопление замедлилось