Он жалуется или радуется?
скорее всего он не прошёл собес
Тут можно задать тот же вопрос
Прошел, но не туда и не на того.
туда и на того
репост боянов не признак
- Васян, брось на хуй картридж для принтера, иди сюда! у тебя в школе информатика была?
- была
- надо ERP-систему написать, мы тебе даже книжку по программированию купим
- была
- надо ERP-систему написать, мы тебе даже книжку по программированию купим
Так, а зачем на хуй картридж бросать?
Ты удивишься, насколько велик процент тех, кто в программирование примерно так и попали.
Бля, прям про мою первую работу
ERP -- erotic role play?
Это он на кассе в маке, просто узнали что он на программиста учился.
Так даже лучше
Может быть имелся в виду разворот односвязного списка?
А потом такие "алгоритмы не нужны" кодеры пишут дичайштй говнокод, а пользовательи удивляются, а почему это сайты без 16-ти ядерных процессоров и 64гб оперативы тормозят.
ни один алгоритм не компенсирует постоянную сериализацию данных в текст и парсинг его назад, и пересылку по сетке врего этого говна туда-сюда, как щас модно
Сериализация в текст? Щито?
rest, ws
ну ты еще скажи, что все тормоза от того, когда все это обратно в байтики превращается на уровне сетевого протокола )))
по сравнению с отсутствием сетевого взаимодействия - безусловно
эффективных менеджеров и дикие сроки никто не отменял
От того, что чел натаскается на задачки собеседования - он не перестанет писать говнокод. Зачем помнить алгоритмы сортировки, если все они уже реализованы в библиотеках, и в обычных условиях ты за всю карьеру можешь ни разу не иметь потребность писать такой алгоритм самому?
Лучше бы понимание паттернов спрашивали и знание соглашений по оформлению кода, если уж говнокодеров не хотят набрать.
Лучше бы понимание паттернов спрашивали и знание соглашений по оформлению кода, если уж говнокодеров не хотят набрать.
У меня когда начинают спрашивать паттерны, я прекращаю собеседование, потому что контора моё собеседование не прошла.
Если чувакам от человека с 15+ годами опыта нужны паттерны, то они могут только идти лесом.
Если чувакам от человека с 15+ годами опыта нужны паттерны, то они могут только идти лесом.
Как ни странно, человеки с 15+ годами опыта могут не знать паттерны и/или ими правильно (не)пользоваться - поэтому фильтр имеет место быть для уточнения уровня. Другое дело, если вначале была успешная беседа об архитектуре, а потом вдруг решили спросить паттерны - это странно.
Если я не прав, приведи пример правильного собеса.
Если я не прав, приведи пример правильного собеса.
Правильное собеседование - это разговор о технических и не очень проблемах, которые есть или планируются, и о решении этих проблем.
Если же это галера, где верх проблем - это как применить паттерны, то они не нужны мне, а я не нужен им. Им нужны миды и джуны для иекущих задач. А я писать фабрики фабрик для очередного веб-портала заказов просто не хочу, имею такое право. Даже если у них за это платят нормально, что тоже скорее исключение.
Если же это галера, где верх проблем - это как применить паттерны, то они не нужны мне, а я не нужен им. Им нужны миды и джуны для иекущих задач. А я писать фабрики фабрик для очередного веб-портала заказов просто не хочу, имею такое право. Даже если у них за это платят нормально, что тоже скорее исключение.
а, ну это подход, который знакомый архитектор называл "сходил на собес, поболтал с умными людьми о текущих проблемах" - не со всеми так получается )
Вот как раз с человеком 15_ лет опыта о паттернах можно очень хорошо поговорить, именно на глубокое понимание, какие применял в работе, какие нет, какие были полезны, или наоборот, неоднозначны.
А в быту названия паттернов полезны не столько самому (т.к. сам применяешь интуитивно), сколько для того, чтобы ДРУГИМ пояснить, почему ты написал именно так, а не иначе. Тут-то и пригождаются идеологии продукта, лучшие практики, названия паттернов и т.д. Если ты терминологией не владеешь - объяснять такие абстрактные куда дольше, и не факт что дослушают.
А в быту названия паттернов полезны не столько самому (т.к. сам применяешь интуитивно), сколько для того, чтобы ДРУГИМ пояснить, почему ты написал именно так, а не иначе. Тут-то и пригождаются идеологии продукта, лучшие практики, названия паттернов и т.д. Если ты терминологией не владеешь - объяснять такие абстрактные куда дольше, и не факт что дослушают.
Паттерны учатся за один день, это нихуя не рокет сайнс.
Проблема в том, что те, кто делает упор на паттерны и формализм(на удивление, они же ярые фанаты срама по книжке), выглядят зачастую как те, кому дали молоток, а потому для них всё вокруг - гвозди.
Спрашиваешь, нахуя тут сделано вот так и так? Ответ: нуу, это ж паттерн "ххх".
Да блядь я вижу, что ххх, а нахуя?
Мычание в ответ.
Я к чему. Если знание пары десятков готовых приёмов, на которых ничего не заканчивается, ставится важнее, чем обычный здравый смысл, и если этому знанию паттернов придаётся сакральное значение, то мне с этими людьми не по пути.
Проблема в том, что те, кто делает упор на паттерны и формализм(на удивление, они же ярые фанаты срама по книжке), выглядят зачастую как те, кому дали молоток, а потому для них всё вокруг - гвозди.
Спрашиваешь, нахуя тут сделано вот так и так? Ответ: нуу, это ж паттерн "ххх".
Да блядь я вижу, что ххх, а нахуя?
Мычание в ответ.
Я к чему. Если знание пары десятков готовых приёмов, на которых ничего не заканчивается, ставится важнее, чем обычный здравый смысл, и если этому знанию паттернов придаётся сакральное значение, то мне с этими людьми не по пути.
>Да блядь я вижу, что ххх, а нахуя?
Так для этого же и делает, чтобы ты видел, что это xxx, и не тратил время на разбирательство, что вообще происходит.
Так для этого же и делает, чтобы ты видел, что это xxx, и не тратил время на разбирательство, что вообще происходит.
Проблема в том, что использование паттернов просто потому, что чувак их знает, им считает себя крутым, а не потому, что они решают задачу - это трэш, но достаточно распространённый во всяких помойках трэш.
Наебеним для всего, чего можно, фабрик, нагородим нахуй не нужную иерархию, прилепим фасады там, где они логически и не всрались, так как не отображают никакую логическую сущность, и получим 300 классов три тысячи строк и тысячу абстракций там, где можно было обойтись одним классом на 50 строк.
На вопрос "а нахуя" - "а на будущее", "у нас гибко зато". То, что на эту гибкость тратится время и силы при написании, тратится в десять раз больше времени при чтении, и она так никогда никому и не пригодится, всем насрать.
Да, это на самом деле никакого отношения к самим паттернам не имеет, это имеет отношение к идиотам. Паттерны в конце концов, это всего-лишь приёмы, которые можно применять.
Просто любители паттернов очень любят раздувать ими архитектуру просто потому что могут, усложняя всем жизнь.
Наебеним для всего, чего можно, фабрик, нагородим нахуй не нужную иерархию, прилепим фасады там, где они логически и не всрались, так как не отображают никакую логическую сущность, и получим 300 классов три тысячи строк и тысячу абстракций там, где можно было обойтись одним классом на 50 строк.
На вопрос "а нахуя" - "а на будущее", "у нас гибко зато". То, что на эту гибкость тратится время и силы при написании, тратится в десять раз больше времени при чтении, и она так никогда никому и не пригодится, всем насрать.
Да, это на самом деле никакого отношения к самим паттернам не имеет, это имеет отношение к идиотам. Паттерны в конце концов, это всего-лишь приёмы, которые можно применять.
Просто любители паттернов очень любят раздувать ими архитектуру просто потому что могут, усложняя всем жизнь.
Поддерживаю
Зы
Ну и сам по себе подход к собеседованию а-ля экзамен, типа перечислите то, перечислите это - это уже дичь. И таким страдают молодые идиоты с синдромом вахтёра.
Я давно уже понял, что если на себеседовании ты не обсуждаешь с умными людьми методы решения проблем, а отвечаешь на экзамене на заранее подготовленные вопросы - место будет в 90% трэш и галера.
Ну и сам по себе подход к собеседованию а-ля экзамен, типа перечислите то, перечислите это - это уже дичь. И таким страдают молодые идиоты с синдромом вахтёра.
Я давно уже понял, что если на себеседовании ты не обсуждаешь с умными людьми методы решения проблем, а отвечаешь на экзамене на заранее подготовленные вопросы - место будет в 90% трэш и галера.
>Спрашиваешь, нахуя тут сделано вот так и так? Ответ: нуу, это ж паттерн "ххх".
Если их за одинь день заучить и слепо применять без понимания, то конечно так и будет.
Вообще, если человек с опытом, то имхо приятней всего в формате беседы двух коллег о твоём опыте и предстоящих задачах. При этом не вижу ничего плохого, если меня спросят, какие паттерны получилось применять и насколько успешно, как они повлияли на архитектуру, почему было сделано так, а не иначе.
Если их за одинь день заучить и слепо применять без понимания, то конечно так и будет.
Вообще, если человек с опытом, то имхо приятней всего в формате беседы двух коллег о твоём опыте и предстоящих задачах. При этом не вижу ничего плохого, если меня спросят, какие паттерны получилось применять и насколько успешно, как они повлияли на архитектуру, почему было сделано так, а не иначе.
Ну так в том и дело, что именно список паттернов с определениями от зубов отскакивает у тех, кто их заучил, и кто готовился к собеседованию специально, с любой из сторон.
В реальности же, в таком виде, как список, паттерны нахуй не всрались, в отрыве от задач.
В реальности же, в таком виде, как список, паттерны нахуй не всрались, в отрыве от задач.
Это дает хоть какую-то гаранитию что человек имеет хотя бы приблизительное понятие об алгоритмах и сложности. Это не защищает говнокода вообще, но от определенного типа говнокода - вполне.
Например вот такой говнокод вызывает рвотные рефлексы, но не у всех. Есть надежда, что человек, который понимает, как долго и почему работает быстрая сортировка будет один из них:
const second = Math.max(array.filter(element => element "знак меньше" Math.max(array)));
Оформление кода в каждом проекте свое. Максимум, что можно посмотреть - это как кандидат называет переменные. Что во время "разворота дерева" или "написания сортировки, таки, смотрят.
А паттерны - еще более редкая вещь, чем алгоритмы.
Например вот такой говнокод вызывает рвотные рефлексы, но не у всех. Есть надежда, что человек, который понимает, как долго и почему работает быстрая сортировка будет один из них:
const second = Math.max(array.filter(element => element "знак меньше" Math.max(array)));
Оформление кода в каждом проекте свое. Максимум, что можно посмотреть - это как кандидат называет переменные. Что во время "разворота дерева" или "написания сортировки, таки, смотрят.
А паттерны - еще более редкая вещь, чем алгоритмы.
Понимание сложности алгоритма нужно, но человеку необязательно знать наизусть сортировки, чтобы понимать сложность алгоритма. Понимание сложности алгоритма можно узнать, приведя пример кода для оценки, или в процессе написания тестового куска кода, где сложность важна. Но код может быть проще и более прикладным, чем абстрактная сортировка или разворот дерева.
Паттерны частая вещь - хотя бы те же декораторы, синглтоны или слушатели - вряд ли есть код, где они не применялись. А вот алгоритмы могли быть вполне простые или использовались библиотечные.
Паттерны частая вещь - хотя бы те же декораторы, синглтоны или слушатели - вряд ли есть код, где они не применялись. А вот алгоритмы могли быть вполне простые или использовались библиотечные.
> но человеку необязательно знать наизусть сортировки, чтобы понимать сложность алгоритма
И сортировки наизусть никто и не спрашивает. Если кто спрашивает - они идиоты - да.
> Но код может быть проще и более прикладным, чем абстрактная сортировка или разворот дерева
Куда уж проще разворота дерева? Это реально 4 строки кода. 2 рекурсивных вызова и помена указателей. Это для вас не достаточно прикладной и простой код?
И сортировки наизусть никто и не спрашивает. Если кто спрашивает - они идиоты - да.
> Но код может быть проще и более прикладным, чем абстрактная сортировка или разворот дерева
Куда уж проще разворота дерева? Это реально 4 строки кода. 2 рекурсивных вызова и помена указателей. Это для вас не достаточно прикладной и простой код?
за 20-30 минут, выделяемых на собесе на задачку, мало кто накидает работающий код с 2мя рекурсиями, если до этого не задумывался над такой же задачей.
А если накидает разворот в 4 строки - значит, скорей всего, знаком с этим алгоритмом. Но это будет всего лишь сигнал об эрудированности (или зазубривании), чем о мышлении. И эта эрудированность будет бессмысленной, так как перебалансировкой дерева мало кто занимается в работе.
Куда интересней для оценки задача с простым переносом ветви дерева - более прикладной случай, так как часто встречается иерархия, которую надо модифицировать клиенту. На ней же заодно можно будет посмотреть, как человек работает с требованиями и граничными случаями.
А если накидает разворот в 4 строки - значит, скорей всего, знаком с этим алгоритмом. Но это будет всего лишь сигнал об эрудированности (или зазубривании), чем о мышлении. И эта эрудированность будет бессмысленной, так как перебалансировкой дерева мало кто занимается в работе.
Куда интересней для оценки задача с простым переносом ветви дерева - более прикладной случай, так как часто встречается иерархия, которую надо модифицировать клиенту. На ней же заодно можно будет посмотреть, как человек работает с требованиями и граничными случаями.
> мало кто накидает работающий код с 2мя рекурсиями
Что? Вот эти 5 строк сложно накидать? https://pastebin.com/D4BPPZrC
Я понимаю, что если человек до этого никогда с деревьями не работал, надо будет 15 минут подумать порисовать.
> Куда интересней для оценки задача с простым переносом ветви дерева - более
Согласен, эта задача интереснее, но боюсь от нее будет еще больше горящих пердаков "программистов".
Что? Вот эти 5 строк сложно накидать? https://pastebin.com/D4BPPZrC
Я понимаю, что если человек до этого никогда с деревьями не работал, надо будет 15 минут подумать порисовать.
> Куда интересней для оценки задача с простым переносом ветви дерева - более
Согласен, эта задача интереснее, но боюсь от нее будет еще больше горящих пердаков "программистов".
>const second = Math.max(array.filter(element => element "знак меньше" Math.max(array)));
Так это же функциональный стиль, тут оптимизация - это задача компилятора, какие претензии могут быть к программисту?
Так это же функциональный стиль, тут оптимизация - это задача компилятора, какие претензии могут быть к программисту?
Ну вот такие вот "пусть компилятор все делает" потом удивляются - ой, что это код тормозит? (Кстати, в браузере охрененный оптимизирующий компилятор - ага). Тебя не смущает, что этот код работает за квадрат на пустом месте?
>Зачем помнить алгоритмы сортировки
Очевидно же: если ты помнишь алгоритмы сортировки - то ты либо старательный и трудолюбивый, раз у тебя хватило усилий на их запоминание, либо достаточно шестеренок в голове, чтобы сходу реализовать на коленке относительно сложные алгоритмы, зная лишь основные его принципы.
>Лучше бы понимание паттернов спрашивали и знание соглашений по оформлению кода, если уж говнокодеров не хотят набрать.
1. Ну так и спрашивают.
2. Если человек хватило памяти на сортировки - то соглашения с паттернами он уж как-нибудь запомнит.
Очевидно же: если ты помнишь алгоритмы сортировки - то ты либо старательный и трудолюбивый, раз у тебя хватило усилий на их запоминание, либо достаточно шестеренок в голове, чтобы сходу реализовать на коленке относительно сложные алгоритмы, зная лишь основные его принципы.
>Лучше бы понимание паттернов спрашивали и знание соглашений по оформлению кода, если уж говнокодеров не хотят набрать.
1. Ну так и спрашивают.
2. Если человек хватило памяти на сортировки - то соглашения с паттернами он уж как-нибудь запомнит.
Проблема в том, что шестеренки в голове стандартные алгоритмы плохо измеряют, т.к. типичные задачи собеседования тупо зазубриваются просто чтобы пройти это собеседование. Говнокодер проскочит. Если уж измерять шестеренки - то давать просто алгоритмическую задачу с не стандартным решением, где точно придется эти шестеренки напрячь.
В этом смысле паттерны хороши тем, что хоть их и можно зазубрить, но хоть в работе есть шанс применить. Шанс что джун будет меньше говнокодить.
А заставлять зубрить только для того, чтобы пройти собес - какая-то бесцельная трата человеческого ресурса ради развлечения HR.
В этом смысле паттерны хороши тем, что хоть их и можно зазубрить, но хоть в работе есть шанс применить. Шанс что джун будет меньше говнокодить.
А заставлять зубрить только для того, чтобы пройти собес - какая-то бесцельная трата человеческого ресурса ради развлечения HR.
Я так недавно смотрел вакансию разработчиков. Требование - "умение придумывать интересные и неординарные игровые механики". А в конце: "Работать будете над играми в жанре интерактивной истории". Для тех кто не в теме - это как книжки с некоторым кол-вом выбора. И механик в них обычно вообще никаких кроме этих самых выборов нет.
Так и придумай интересную механику для интерактивной книги, не зря же ищут.
игрок выбирает из предложенных вариантов, движок выполняет рандомно из оставшихся.
Может быть, там есть основная игра-сюжет, и в ней встроено большое количество миниигр-развлекалок типа "вынь правильные заглушки, чтобы вода из резервуара вытекла, потушила костёр и твой персонаж не утонул и не сгорел". Ну или "собери паззл".
Текстовые квесты из Космических Рейнджеров.
простите, не удержался)
Я так собеседование в гугл проходил. На 3-м подумал что нахуй оно мне не надо.
ты в офис чтоль ходил?
А то у них собесов удаленных нет, там тестовые задания выдают и все. Сложные.
А то у них собесов удаленных нет, там тестовые задания выдают и все. Сложные.
в офис не ходил ибо был в Украине ещё. Собеседовался весной прошлого года. Предложили мне в этом году пособеседоваться но я отморозился. Слишком много стрэсса, имхо
ну да) из-за стресса ты отказался
А из-за чего ещё? За собеседования денег не берут, и прохождение собеседования тебя ни к чему не обязывает.
FAANG не настолько хороши, как многим кажется.
Информация из первых рук - есть у них собеседования. Вместо личных собеседований теперь все по Google Meet (бывыший hangouts - их аналог скайпа). Тестовые задания никакие не выдают. просто теперь вместо 1-2 "телефонных" интервью по hangouts и 4-5 "личных" проводят 5-7 удаленных интервью
всё так
ага, какой-то чел первый день на работе, давайте поручим ему оптимизацию базы данных клиентов
А в чем проблема? Пусть ковыряется в локальной копии.
А тем временем уголки у иконок останутся не скругленными???
проблема будет при миграции
А кто сказал "миграция"? Пусть посмотрит, что там в списке запросов самое прожорливое по тоталу и максимуму. Поиграется с индексами и планами. Если дохуя умный, то может попытаться в партишенинг. Потом составит список рекомендаций - где какие индексы нужны, где лишние, что с этого получится, во что встанет.
блять, прочитал алгоритм Дийкстры, подумал при чем тут бывший глава Реданской разведки и Ведьмак в целом...
У меня была обратная проблема, когда играл.
А когда читал?
А читал я важнее после того, как в третьего играл, таки дела.
"Продайте мне эту ручку"
ловите продавана!
Могу предложить отличную сеть для ловли и кросовки, в которых легко бегать
а ты хорош!
У меня как то спросили тоже на собесе алгоритм Дейкстры, только не для графа, а троичный алгоритм сортировки Дейкстры или как он сам его называл - "задача о Датском национальном флаге", вот это было внезапно!
О, у меня курсовая была когда-то по алгоритму Дейкстры. Искал кратчайший путь в графах и еще кратчайший путь с заданной промежуточной точкой.
Сборище джунов, что ли?
Куда делся мой коммент?
Алгоритм Дейкстры на джойреакторе неправильно написан.
В инженирятниках тоже встречается такое. У меня как то раз, спросили закон Ома...
Чтобы написать коммент, необходимо залогиниться