naruto3333, проблема вашего вопроса в том, что он очень общий, на каждый пункт можно придумать десятки принципиально разных реализаций, при этом требующих различных архитектурных подходов. Ответить конкретикой на ваш вопрос нельзя, а если даже сделать решение, не факт что оно попадет в зону вашего видения и не будет вами отвергнуто. Вот скажите, оно мне (или кому еще) надо? Писать достаточно много кода чтобы вы потом либо сказали что не подходит/не разобрались, либо начали бомбить в комментах кучей уточняющих вопросов и просьб по типу "Так мне не подходит, нужно по другому, дайте мне ....?" или "а вот тут не могли бы вы помочь привязать слона к банану?"
naruto3333, вот вам 1 из множества вариантов:
Создавайте таймеры на клиентах, и по истечении заданных таймаутов запрашивайте данные у сервера (по http или ws) а на сервере просто ведите контроль времени по временным меткам (timestamp-ам).
Когда досконально разберетесь с этим, поймете и усвоите, увидите минусы и плюсы выбранных подходов и стека технологий, приходите сюда, и задавайте уже конкретные вопросы, с примерами кода и описанием выбранной/придуманной вами архитектуры, просите совета как сделать лучше, спрашивайте (если не найдете в интернете сами) какие есть альтернативы выбранному вами подходу и в чем их плюсы/минусы, изучайте то что вам посоветуют, составляйте свое мнение и выбирайте тот путь который вам понравится больше .
Они (правильные вопросы) к тому моменту а вас точно появятся.
если у вас одновременно будет небольшое количество викторин и пользователей, ну скажем до 1000 (число взято с потолка и зависит от многих факторов), то вам вообще можно не париться об архитектуре и реализации, пишите как видите, в процессе приобретете бесценный опыт и понимание где вы накосячили как в архитектуре так и в реализации (коде). После того как несколько раз перепишите все с нуля можете претендовать на юниора фулстак))))
сделал вот такую вот фигню https://www.npmjs.com/package/msg-router и теперь думаю как дальше в этом модуле правильно развести роуты, контроллеры, модель данных, бизнес-логика, orm, dto и прочее.
Алексей Ярков, ну сортировка будет со сложностью ,большей чем O(n). Тут оптимальней будет однопроходный цикл с 2-я внешними переменными (min и max), ну или что то типа
steef08, поместите весь ваш код (html, css, js) в песочницу (https://jsfiddle.net/ или https://codepen.io/) и скиньте ссылку, тогда я посмотрю и подскажу (самому создавать рабочий аналог в песочнице мне лень)