За последние 24 часа нас посетили 22576 программистов и 1589 роботов. Сейчас ищет 841 программист ...

Потестируйте плиз тестовое задание)

Тема в разделе "Беседы", создана пользователем Walk, 25 мар 2018.

  1. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Подыскиваю сейчас новую работу, в одной конторе дали задание - сделать игру в крестики нолики.

    Кому нечего делать - посмотрите, может быть найдете какие баги: http://ticktacktoe.ru/

    P.S. Для тех кто скажет - "Надо код смотреть" - да, вы правы, но код выложу позже, надо пока все протестировать, и все найденные баги поправить.
     
    Maputo и TeslaFeo нравится это.
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Считать ли это багом, но лично я не уловил принцип того, кто первым ходит: бот или я. Из пяти "ничьих", четыре раза начинал бот. Кстати, в игре только два развития события: если бот начинает, то в любом случае ничья, а если я - мой выигрыш.
     
  3. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Вероятность 50 на 50. Хотя у меня бывали случаи, когда раз 10-15 начинал первым бот... rand() творит чудеса :)

    Пока два дня разрабатывал игру - с ботом были только ничьи. Сегодня вечером знакомый программист показал тактику, как обыгрывать бота в 100% случаев, если игрок начинает первым - там конечно можно логику улучшить, но... очень не просто.

    В любом случае, моё тестовое задание будут оценивать по общей работоспособности/качеству кода, так что на некоторую "тупизну" искусственного интеллекта можно забить :)

    P.S. По поводу качества кода я переживаю намного больше, потому что чем красивее игра становилась с точки зрения пользователя, тем больше костылей приходилось писать внутри :D
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Хотел еще писать о том, что зачем мол отдавать на Ajax-запрос весь HTML-код игрового поля, когда достаточно всего лишь координат, а заметил, что в коде у вас два элемента с одинаковым ID = "game", что совсем не есть гуд
     
  5. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Есть такое, но... я вначале вообще не планировал навороты на стороне фронта делать. Так, только обновление игрового поля через AJAX и все.

    Потом подумал, что без анимации как-то совсем грустно, надо добавить, и пошло поехало - вначале получаем всю страницу, потом что-то сразу отключаем, потом показываем... в логике JS там вообще жуть, одно спасает - это тестовое задание на бек-энда :D

    Конечно, если изначально делать навороченный фронт - то бек должен возвращать только параметры, с которыми фронт уже сам будет работать.

    Ммм.. вижу только один:

    [​IMG]
     
  6. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Я зафиксировал на последнем этапе (конец игры)
    [​IMG]
    --- Добавлено ---
    Похоже, что вывод данных, полученных на Ajax-запрос, у вас добавляются в <div id="game">, но при этом в коде уже присутствует такой же элемент
     
  7. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    romach нравится это.
  8. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Код (Text):
    1. Yii2 в базовой комплектации, чтобы отдать главную статическую страницу съедает 2.5 мб памяти
    php7 на страницу всегда съедает минимум 2мб.
     
  9. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Спасибо, да, из-за ajax дублировалось, поправил.

    [​IMG]

    Работает на 7.1
     
  10. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Попробуй axios плюс можно парочку компонетов написать на react vue
     
  11. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Не-не-не, как писал выше, я вообще на бека иду. Так что все эти React, Angular и прочие идут лесом =)
     
  12. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Знания таких вещей тоже будут оценивать. Чем больше удивишь тем лучше. React вообще золотая жила там только первых пол часа можно рассказывать какие модули и для чего подключал)
     
  13. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    ок. Сойдемся на том, что это какая-то своя, особенная версия php.
     
  14. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    выглядит прикольно)
     
  15. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    186
    нужен код
     
  16. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Код: https://github.com/WalkWeb/TickTackToe

    Сразу скажу, что не считаю код идеальным - к концу разработки мне захотелось все переписать с нуля. Но, сроки поджимают - сегодня утром уже должен скинуть тестовое задание.
     
  17. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @Walk, фраза
    заставила меня задуматься. Это действительно так?

    Еще увидел у Вас такую штуку:
    PHP:
    1. use dw\core\Controller;
    2. use dw\models\Game;
    3. use dw\models\GameField;
    4. use dw\models\GameLogs;
    Я сам раньше этим грешил, но потом понял, что без этого в namespace есть много удобств.
     
  18. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Ммм... поясните мысль.
     
  19. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @Walk, я про возможность повторять имена.
     
  20. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Да. Только недавно это обсуждалось.
     
  21. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Все читать не смог - много мнений и мало реальных фактов. Но меня устроило мнение @runcore
     
  22. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    По вопросу скорости, а именно это вас зацепило, несколько мнений быть не может.
     
  23. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @Deonis, по вопросу сравнения скорости работы одной функции и одного метода у меня сомнений нет.
     
  24. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Был бы я фрилансером писал бы только на функциях. За мной бы на коленях ползали умоляли что то исправить доделать. Квартиры машины переписывали. Вот это жизнь:)
     
    denis01 нравится это.