• Какие онлайн курсы по веб-разработке подарить?

    @lagudal
    Ответ написан
    Комментировать
  • В чем моя причина провала тестового задания Яндекса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну давайте я покритикую:

    возьмем файлик

    1) вы не разобрались как объявлять методы у прототипов с новой нотацией `class`:

    class Travelsort {
        constructor() {}
        sortTickets(tickets) {}
    }


    2) вы не умеете пользоваться исключениями.
    if (!Array.isArray(cards)) {
        throw new ValueError('Wrong input');
    }


    3) использование let там где должен использоваться const

    4) в принципе использование переменных там где их быть не должно

    5) вы зачем-то реализовали свою функцию сортировки, я не увидел в требованиях отсутствия возможности использовать старый добрый Array.prototype.sort

    6) Общие замечания по кодинг стайлу. snake_case там где должен быть camelCase, пишите с большой буквы то что должно быть с маленькой и т.д.

    7) нарушения принципа единой ответственности. У вас объеткт умеет и сортировать и писать куда-то. Это категорически плохо.

    8) Если исправить 7-ой пункт то наш класс превращается просто в функцию.

    Далее... берем следующий файлик

    1) если вы пишите комментарии к таким маленьким кускам кода - стало быть у вас хромает именование вещей. Все должн быть понятно просто из названий методов/функций/переменных. При работе в команде над серьезными проектами это немаловажно, ибо код чаще читают чем пишут и экономить нужно именно это время.

    2) вы зачем-то тут в прототип объекта строки впихиваете функции для парсинга CSS. Таким образом мы нарушаем принцип единой ответственности. Да и в целом расширять без надобности прототипы объектов как-то не ок.

    Чуть дальше проскролил - вы пытаетесь расширить прототип строк для того что бы добиться API jquery? ух, батенька.

    3) очень много дублирования.

    4) очень плохо с protected variations.

    Справедливости ради, ваш код входит в категорию ">50% JS кода", так что не расстраивайтесь. Просто для работы в яндексе нужен чуть более высокий уровень и понимание вещей.
    Ответ написан
    17 комментариев
  • В чем моя причина провала тестового задания Яндекса?

    "Не тот пропал, кто в беду попал, а тот пропал, кто духом пал."

    Вещует мне мое сердце, что дело тут не в разработке... )) А в жизненной позиции.

    Учился как-то на курсах веб-разработки, по большей части чтоб получить диплом, дающий право занимать соответствующие позиции в компаниях, ну так на всякий случай. Кстати, до сих пор не пригодился ))

    Разные студенты учились в группе. Сам я далеко не профи и не претендую, но опыта хватило, чтобы понять уровни остальных. Были и совсем зеленые, и со знаниями. И вот что интересно. Я возьму двух людей, двух крайностей (очень удачный жизненный пример, на мой взгляд), для рассмотрения - один полный ноль, даже верстка, второй и опыт есть и показал себя довольно неплохо. И что вы думаете? Первый человек прорвался в крупную компанию (пусть не яндекс, но все же). Второй сел на поддержку на хостинге.

    Вот этот второй - у него вечно были какие-то проблемы. То ему нечего в резюме писать, то он без конца толдычил что он слаб, то нет портфолио... Это при том, что он не женат, детей нет, ипотеками, рассрочками и прочим не одарен, еще и живет в своей квартире - есть масса вариантов как взять старт. Я ему и резюме сунул, и планы действий нарисовал и варианты как проникнуть - итог один - "Но я же, а у меня же, но блин..."

    PS: "В любых делах при максимуме сложностей
    Подход к проблеме все-таки один:
    Желанье — это множество возможностей,
    А нежеланье — множество причин."
    - вроде Асадов.
    Ответ написан
    4 комментария
  • В чем моя причина провала тестового задания Яндекса?

    @Elizavetta
    Matroid: gamedev/js-разработка
    Что я не так сделал, что поставило на мне крест?

    Это не крест, это нормальная ситуация. В яндекс глубоко рано.
    По коду вам написали комментарии. Возможно, Вам стоит вернуться к C++, т.к. язык более знаком, и вывести его на лучший уровень сначала, так Вы будете развиваться в глубину.
    По резюме, не пытайтесь изучать все вширь, не думайте, что это все полезно. Работайте по списку выше, Кормен, английский.
    По возможности возьмите ментора для регулярных консультаций С++ или JS.
    Ответ написан
    Комментировать
  • В чем моя причина провала тестового задания Яндекса?

    mudrick
    @mudrick
    Máximo progreso hemos alcanzado en minimo seso.
    Жесть. Посмотрел гифку на Гитхабе, там, где весь процесс наглядно показан, код даже не смотрел.

    Ну вот смотрите, ясно же, что информация о маршрутах, вот все эти текстики, типа, «Из Стокгольма на пароме до Риги, каюта 6a…», это всё должно генерироваться из данных, а не ручками в textarea писать :)

    Вам нужно было образно придумать, что за АПИ вы будете использовать и какие данные от него приходят — из этих данных создавать все записи и весь путь.

    Из {откуда} на {транспорт} до {докуда}, {тип_места: каюта, сиденье, место и т.п. в зависимости от типа транспорта} {номер_места} и прочие данные… — и еще для всего этого нужна локализация (не только же на русском тексты будут), и еще всё это нужно просклонять, если уж вообще перфекционистски делать — согласитесь, «Из Стокгольм до Рига…» звучит ужасно.

    А у вас просто всё это пишется в текстовом поле — тогда уж вообще нужно одно текстовое поле вместо всей вашей формы и кнопочек, и там оператор напишет кучу текста сам, с кучей ошибок, несистемно :)

    Вот сейчас возьмите всё, что вы сделали, и представьте, что номер рейса изменился, или номер сиденья изменился (вас поменяли с кем-то, и у вас изменилось место и у другого человека) — как вы это обрабатывать будете? Заходить в каждый маршрут и ручками править текст в textarea?

    А насчет данных и сортировки, элементарно — данные самые обычные, обычный жисончик, массив из объектов. Сортировка по левому и правому ключу, nested sets, чтобы можно было создавать маршруты любой глубины, например, не просто Рига → Стокгольм, а между ними маршруты по Риге и маршруты по Стокгольму... ну, как дерево, можно раскрыть один маршрут, а там подмаршруты.
    Ответ написан
    1 комментарий