Публичное собеседование: PHP-разработчик [Хекслет]

Поділитися
Вставка
  • Опубліковано 27 січ 2025

КОМЕНТАРІ • 77

  • @suslikest3708
    @suslikest3708 4 роки тому +23

    Люблю такие задачки утром с чашкой кофе, НО не на собеседованиях😅😂 у меня мозг отказывается работать в стрессе)

  • @HoochieMen
    @HoochieMen Рік тому +4

    58:00 - вот честно не вижу смысла в подобных задачах. Это ан алгоритмическое мышление. В академиечских вариантах да, но в коммерчесой разработке какой от них практический смысл? большинство алгоритмов придумано и описано во временя «640 килобайт хватит на все», они уже вылизаны и отточены. Если человек сталкивается с подобной задачей на практике - он быстро нагуглит и применит решения, которые почти гарантированно будут оптимальней, чем тот, что он сейчас придумает. Ведь над ними уже подумала тысяча мозгов. Если человек будет часто сталкиваться с алгоритмическими задачами - он естественным образом их запомнит. А так, держать в голове вариации подобных решений - это имхо забивание памяти лишним, во времена интернета.
    Так, чисто на мышление можно конечно, но хз.

  • @AndeanMusicinMoscow
    @AndeanMusicinMoscow 4 роки тому +4

    Спасибо, очень интересно

  • @MaksimBelokurov
    @MaksimBelokurov 11 місяців тому

    Было очень волнительно смотреть, спасибо!

  • @non_holy6286
    @non_holy6286 4 роки тому +9

    лайк бородатому дядьке!

  • @evgenypetrovich7881
    @evgenypetrovich7881 3 роки тому +12

    Ух, древний разраб... еще и с тех сильнейших кодеров

  • @mosceo
    @mosceo 3 роки тому +14

    Не знал, что Григорий Перельман уже PHP-разработчиков собеседует.

  • @vladsarosek9521
    @vladsarosek9521 2 роки тому +2

    Точно собес на джуны? Я так понял интервьюер тянул подавана толи на вышую должность толи на более крупный офер. Интересно посмотреть, какой офер был предложен

  • @the_flex
    @the_flex 4 роки тому +2

    Поставил видео на паузу и решил эту задачу за 20 минут и 20 строк кода. Разбивка массива - 4 строки кода, сборка нового - 4 строки кода. Подход у меня получился другой, но быстрее, кода меньше, но возможно менее профессионально на вид.

    • @forest_grow
      @forest_grow 3 роки тому +4

      А главное не рабочий

    • @the_flex
      @the_flex 3 роки тому

      @@forest_grow Что не рабочий?

    • @OOOJohnJ
      @OOOJohnJ 2 роки тому

      Задача не самая простая, но я на неё потратил минут 10 или меньше. Ещё несколько тестов интересных провёл, которые выявили недостатки первой версии моего алгоритма:
      [1-5, 2-6, 15-18, 7-8, 3-7, 2-15, 3-4]
      У них сортировка не правильная, так как на входе строки, и сортируется по правилам строки, из-за чего моя проверка с такой сортировкой не пройдёт

    • @ApocaliptynBane
      @ApocaliptynBane 2 роки тому

      @@OOOJohnJ там не строки, т.к. есть intval.

  • @andreysvitlov7807
    @andreysvitlov7807 4 роки тому +4

    Так себе собес, собеседуемый уже неплохо шарит в архитектуре, а бородатый ни одного вопроса по паттернам не задал. Тим лид даже не знает как новые элементы в массив добавляются. Как вообще фронт может нормально собеседовать бекенд ?

  • @Doox911
    @Doox911 4 роки тому +9

    Не важно знать технологии, важно уметь думать!

    • @mgsfdgsfdgsgssdgrsdgdrgsr16
      @mgsfdgsfdgsgssdgrsdgdrgsr16 3 роки тому +2

      Бред-с. Надо знать алгоритмы и математику.

    • @ЮлийВикторович
      @ЮлийВикторович 2 роки тому +3

      @@mgsfdgsfdgsgssdgrsdgdrgsr16 Бред, бреда. 5 лет учил математику и алгоритмы. В вебе использование практически равно нулю. Математика так особенно, а если уже реально понадобится алгоритм, то человек мало мальски имеющий мозг, почитает, найдёт и реализует алгоритм.

    • @mgsfdgsfdgsgssdgrsdgdrgsr16
      @mgsfdgsfdgsgssdgrsdgdrgsr16 2 роки тому

      @@ЮлийВикторович В вебе где платят деньги, а не делают говносайты знать нужно.

    • @nmephchik
      @nmephchik Рік тому

      ну и бред, какая нафиг математика@@mgsfdgsfdgsgssdgrsdgdrgsr16

    • @HoochieMen
      @HoochieMen Рік тому

      ​@@mgsfdgsfdgsgssdgrsdgdrgsr16алгоритмы уже давно обдуманы и описаны, нет смысла держать их все в голове, применяя в реальной практике один в год. В академических целях да, в практических и коммерческих смысла нет. Если тебе раз в год встретится задача с аглоритмом - его можно за час найти и реализовать, а не изобретать велосипед. Тебе платят деньги за реализацию задач, за коммерческую выгоду а не за то, что ты в голове держишь все алгоритмы, описанные тысячу раз. А если ты не понимаешь принциов проектирования и прочее - вот тут уже проблемы, ибо сталкиваешься ежедневно с задачами

  • @МежрёбернаяНевралгия

    Привет! Интересный формат. А как можно попасть на такое собеседование?

    • @HexletOrg
      @HexletOrg  4 роки тому +1

      В слаке Хекслета slack-ru.hexlet.io/ напишите нашему комьюнити-менеджеру @musina

  • @mihastifler
    @mihastifler Рік тому

    разве у квик сорта самый тяжелый случай не O(n^2) ?

    • @fenderbender2096
      @fenderbender2096 11 місяців тому

      Нет это у пузырька такое. Квик сорт на то и квик

  • @freedomtv2295
    @freedomtv2295 4 роки тому +1

    А как поучаствовать в таком формате?)

    • @HexletOrg
      @HexletOrg  4 роки тому

      Написать @Musina в slack-комьюнити Хекслета

  • @dimitrobest5293
    @dimitrobest5293 4 роки тому +8

    а еще будет интервьювер который матерился как гопник?

    • @Noname-jh7oq
      @Noname-jh7oq 4 роки тому +2

      что за стереотип, что плохого в мате ?

    • @pavelgushchin2223
      @pavelgushchin2223 4 роки тому +8

      Интервьюер оч крутой чел, мне понравился, а то был у них какой-то питонист, который одни вопросы за жизнь спрашивал, ваще муть была... А этот бородатый мужик шарит, красава

  • @mishaikon
    @mishaikon 3 роки тому +1

    Авторам, на обсуждение задачки на полчаса, это оч. нудная часть. Вы явно забыли, что у вас запись для аудитории, которой явно не интересно полчаса этот слушать. Первая часть собеседования при этом норм. Но оьсужлания задачки вообще вырезать надо было из видео...

    • @Имбалнсович
      @Имбалнсович 3 роки тому

      Вообще эти задачки не показывают уровень

  • @arhit_08
    @arhit_08 2 роки тому +1

    Изучаю пхп полгода без фанатизма с нуля, но 70% процентов не понимаю о чем спрашивает интервьюер. Вывод: - либо я такой тупой, либо курсы не очень, либо мне тупо рано смотреть такие видосы с собесами.

  • @vatakiller
    @vatakiller 2 роки тому

    Я как-то у Павла собес проходил. В целом все понравилось и мне даже показалось, что я его прошел, но мне почему-то так никто и не написал. Возможно из-за того, что я опоздал на собес XD

  • @tmdan91
    @tmdan91 4 роки тому

    Ребят а как попасть к вам на такой экпириенсе совбеса?

    • @HexletOrg
      @HexletOrg  4 роки тому

      Написать @Musina в slack-комьюнити Хекслета

  • @nataliastovbun
    @nataliastovbun 3 роки тому +1

    Я джун, и я ещё полчаса не выдержу слушать это решение...

  • @mgsfdgsfdgsgssdgrsdgdrgsr16
    @mgsfdgsfdgsgssdgrsdgdrgsr16 3 роки тому

    Уф. Сначала решил в лоб. Потом немного подумал -
    $intervals = ['2-4','7-10','3-5','25-30'];
    $new_intervals = $arr = [];
    foreach($intervals as $v) {
    $_v = explode('-',$v);
    if(count($_v) == 2 && ($_v[1] >= $_v[0])) {
    $arr[$_v[0]] = [$_v[0], $_v[1]];
    }
    }
    if(count($arr)) {
    ksort($arr);
    list($start,$end) = array_shift($arr);
    foreach($arr as $v) {
    if($v[0] $end) {
    $end = $v[1];
    } elseif($v[0] > $end) {
    $new_intervals[] = $start.'-'.$end;
    list($start,$end) = $v;
    }
    }
    $new_intervals[] = $start.'-'.$end;
    }
    var_dump($new_intervals);
    Я думаю, что можно как то оптимизировать. Сейчас посмотрим, что там кандидат нарешал ))

    • @andreika713
      @andreika713 2 роки тому +3

      Классно.. жаль, что оно решает какую то другую задачу

  • @HoochieMen
    @HoochieMen Рік тому

    В задаче с клиникой сразу имхо не туда пошел. Как по мне сущности декомпозировать сразу. Врач, клиент, слот, запись. Слоты выбрасывать скажем на следующую неделю и тд.

  • @RomanGoncharenya
    @RomanGoncharenya 4 роки тому +5

    Для начала давай решим простейшую задачку...и на час

    • @mishaikon
      @mishaikon 3 роки тому +1

      Да капец! Нудятина

  • @OOOJohnJ
    @OOOJohnJ 2 роки тому

    По сервисам вроде норм, но решение задачи - оооочень плохо. У меня так же решать будет дочка, которая изучает как работать с массивами сейчас

  • @vp_arth
    @vp_arth 3 роки тому

    map-sort-reduce и всё готово =)

  • @pavelgushchin2223
    @pavelgushchin2223 4 роки тому +6

    Почаще зовите бородатого мужика, сразу видно, что чувак шарит

    • @HexletOrg
      @HexletOrg  4 роки тому +2

      Он есть у нас в слак-комьюнити и часто там участвует в обсуждениях.

  • @akawin2010
    @akawin2010 4 роки тому +7

    Просто ради интереса, это вообще хороший уровень php-разработчика считается?) Поговорить любит, резюме цветастое, но как до алгоритмов дело дошло ну блин такой себе разработчик))

    • @andreev_e
      @andreev_e 3 роки тому

      Присоединяюсь, для меня эта задача сильно легче, а я даже не работаю программистом)

    • @Имбалнсович
      @Имбалнсович 3 роки тому

      Смысл не в задаче, смысл писать понятный качественный код.

    • @OOOJohnJ
      @OOOJohnJ 2 роки тому

      @@Имбалнсович а задачи кто решать будет? :)

  • @opasgruz
    @opasgruz Рік тому

    По-моему Александр забыл побриться перед собеседованием

  • @deen812x
    @deen812x 2 роки тому

    Бородач крут.

  • @gosha_x86
    @gosha_x86 4 роки тому +3

    Цікаве тестове завдання! Дякую, дуже сподобалось.

    • @ivanshchetinin6705
      @ivanshchetinin6705 3 роки тому

      Прям дуже актуальне можна сказати)))

  • @codingfox
    @codingfox 4 роки тому +2

    Посмотрев ряд собеседований на Хекслете, я больше не боюсь собеседований, вообще)

    • @HexletOrg
      @HexletOrg  4 роки тому +5

      Ура! Значит одна из наших задач выполнена)

    • @codingfox
      @codingfox 4 роки тому +1

      @@HexletOrg я к тому, что уж больно простые вопросы и слабые кандидаты. Но вполне возможно, что это отражение реального положения дел на рынке труда) Я за 33 года своей жизни прошёл от силы с десяток собеседований, опыт невелик😁

  • @noTeMkuH
    @noTeMkuH 4 роки тому +2

    Эту задачу решит даже моя бабушка с таким количеством подсказок

  • @magnit56
    @magnit56 3 роки тому +2

    Борода силен! Шарит
    А решение задачки заключается в создании класса точка со свойствами value - значение, type - тип: левая точка или правая. Из массива забрать все точки и занести в новый массив, отсортировать по значению, пройти по массиву, если мы получили левую точку, то закинуть в стек, если правую, то взять со стека точку, если стек при этом пустой, то левая и правая точка пойдут в искомый массив.

    • @magnit56
      @magnit56 3 роки тому

      Правда еще стоит отметить, что если у точек одинаковое значение, то раньше в отсортированном массиве должна идти левая точка по-моему

    • @etopolen
      @etopolen 3 роки тому

      Подскажи, пожалуйста, с какой книги по алгоритмам стоит начать для решения подобных задачек?

    • @magnit56
      @magnit56 3 роки тому +1

      @@etopolen стоит прочитать тоненькую книжку грокаем алгоритмы, а потом пройти курсы по алгоритмам на степике: "алгоритмы и структуры данных: методы" и "алгоритмы и структуры данных: структуры данных" от computer science center, почему не советую толстых книжек? Потому что это бесполезно, обычным чтением не спрогрессировать, я считаю, что чтение это самообман. Необязательно, но: если вы пройдете все это, то можно пройти курс по графам от преподавателя первых двух курсов на курсере на английском, у него еще есть пара курсов, но это уже точно не для обычного прогера. И вообще, я считаю даже так, если какие-то задачи долго не заходят, то лучше их бросать, например алгоритм Хаффмана, сплей и авл деревья и тд, можно просто изучить основные вещи и все будет ок! Удачи!

    • @etopolen
      @etopolen 3 роки тому

      @@magnit56 Огромное спасибо!

    • @warYAG043
      @warYAG043 3 роки тому

      @@etopolen Грокаем алгоритмы

  • @sergeyanatolyevich8250
    @sergeyanatolyevich8250 4 роки тому

    Всі ми проводимо і проходимо тех. інтервью) Цікава задачка

  • @andreysvitlov7807
    @andreysvitlov7807 4 роки тому +3

    Эта задачка типичная для жабаскрипта, там постоянно нужно что то вывести в меню в зависимости от того куда ткнул юзер, это показать это скрыть и тд, для php это не релевантно тк такое редко нужно поэтому тестовая задача вообще не очень. Под конец бородатый окончательно запутал собеседуемого.

    • @vp_arth
      @vp_arth 3 роки тому

      «Бородатый» тащил как мог, но то ли стресс, то ли отсутствие у интервьюируемого опыта непосредственно кодинга тормозило прогресс))

    • @Имбалнсович
      @Имбалнсович 3 роки тому +3

      Ерунда эти задачи. Я прошёл больше 200 собеседований. Они ничего не показывают, разве что ты не тупой. К хорошему качественному коду они отношения не имеют.

    • @babush6
      @babush6 3 роки тому +1

      @@Имбалнсович угу пока кнопочки рисуешь на html а как дело дойдет до графов, векторов в 3Д графике, мультипоточности или асинхронности, так интервью очень покажет сможет человек работать в компании или нет.

  • @mgsfdgsfdgsgssdgrsdgdrgsr16
    @mgsfdgsfdgsgssdgrsdgdrgsr16 3 роки тому +1

    А ха ха! Я делал реальную систему записи на прием к врачу и я бы не ответил на этот вопрос. Потому что я не умею думать на ходу и одновременно разговаривать. Тупой вопрос.

  • @alexk5067
    @alexk5067 2 роки тому

    Это точно был PHP senior разработчик? 😆

    • @jerrylaniakio
      @jerrylaniakio Рік тому +5

      Под каждым видео с собеседованием на Ютюб куча анонимных неудачников без достижений ставит под сомнение компетенцию собеседуемого

  • @borisoffdenis
    @borisoffdenis 4 роки тому

    После валидации и сортировки, можно было бы с помощью range(1,5) получить массивы интервалов, потом пройти по ним array_diff($range1,$range2), чтобы выявить пересекающиеся интервалы и объединить их array_merge(). И так рекурсивно проходить, пока array_diff не перестанет находить пересечения.
    По памяти это не эффективно (если напр будет интервал 1-1000000000), но зато читабельно :)

    • @vp_arth
      @vp_arth 3 роки тому

      Решение имеет место быть, особенно, если реализовать интервалы не функцией range, а виртуальные по аналогии с питоновским range)

    • @PhpProgrammer-lx4dz
      @PhpProgrammer-lx4dz 4 місяці тому

      он потом уточняет что границы могут быть вещественное число