Ищете вопрос, который сочетает в себе понимание нескольких веб-технологий
Я преподаю курс веб-разработки в отделе CS, я уже написал большую часть окончательного теста, каждый вопрос фокусируется на конкретной функции или конкретной технологии,
Интересно, можете ли вы подумать/порекомендовать вопрос, сочетающий знание нескольких технологий.
Курс в основном охватывает: HTML, CSS, JS, HTTP, сервлеты, JSP и JDBC.
(а также AJAX, ORM, основные проблемы безопасности, такие как SQL-Injection и XSS, HTML5, API REST)
EDIT: я буду оценивать вопросы с ответами:-) спасибо!
Я дам щедрость на вопрос с самым высоким рейтингом, поэтому, пожалуйста, проголосуйте! Я честно люблю большинство вопросов здесь, спасибо всем: -)
Ответы
Ответ 1
Объясните связь DOM с каждая из следующих технологий: HTML, CSS, JavaScript.
Цель здесь заключается в том, чтобы дать понять, что студент понимает, что HTML создает структуру DOM, CSS влияет на визуализацию этой структуры, а JavaScript влияет на изменение этой структуры. Если вы понимаете, как все это связано с DOM, все клиентское кодирование становится простым.
Ответ 2
Веселый вопрос:-) Как насчет...
В веб-разработке вам нужно разделить контент, стиль и поведение. Опишите, почему это делается и какие разные технологии вы используете в каком слое. Каждый аббревиатур должен быть написан в полном тексте при первом использовании. (10 p)
или...
Опишите, что происходит в веб-браузере (шаг за шагом), когда веб-страница передается в Интернете с веб-сервера через протокол передачи HyperText на клиента. Рассмотрим все технологии, которые вы использовали в этом курсе. (10 p)
Ответ 3
Объясните, что происходит, и какие технологии могут быть использованы, когда пользователь входит в защищенный веб-сайт, используя регистрацию на основе форм, которая устанавливает HTTP файл cookie. (Начиная с HTML-формы вплоть до базы данных и обратно в браузер.) Бонусный вопрос: какие изменения при использовании AJAX для входа?
Ответ (основные моменты):
-
HTML: Форма (с использованием POST) с текстовыми полями ввода и кнопкой. Безопасность: отправка формы через HTTPS. Сама страница входа также должна быть HTTPS-страницей (в противном случае форма может быть заменена на mallory → MITM)
-
Javascript: выполняет некоторую базовую проверку (например, пустой пароль) и выводит сообщение об ошибке перед отправкой на сервер.
-
Servlet: получает запрос POST, принимает параметры имени пользователя/пароля (в открытом виде), вычисляет (засоленный) хэш из пароля, отбрасывает пароль открытого текста.
-
JDBC: выбор хэшированного пароля из БД. Используется для сравнения с переданным паролем.
-
Servlet: при успехе создает новый сеанс (приводит к созданию заголовка файла cookie). Подготавливает объекты, которые будут использоваться на странице JSP (и сохраняет их в области сеанса или запроса).
-
JSP: готовит HTML-страницу, которая будет отправлена в браузер.
-
Браузер: получает HTTP-ответ, устанавливает cookie и отображает страницу.
Бонус (AJAX): серверу не нужно готовить всю страницу, но только отправляет клиенту необходимые данные и/или фрагменты HTML. Браузер не перезагружает всю страницу, а изменяет текущую страницу с помощью JavaScript. Безопасность: AJAX не может выполнять запросы кросс-сайта, поэтому невозможно, чтобы страница HTTP вводила данные входа через HTTPS.
Внимание
Следует отметить, что это не предназначено для использования в качестве HOWTO для создания безопасного механизма входа. Это описание упрощено и не охватывает все аспекты безопасности. OTOH, в качестве экзаменационного вопроса, он, вероятно, должен быть еще более упрощен и приспособлен к содержанию учебной программы.
Ответ 4
Вы можете попросить объяснить, как реализовать шаблон MVC. И в этом шаблоне MVC, где используются все технологии. Скорее как и почему?
Ответ 5
Поскольку учащиеся уже разработали упрощенный твиттер во время своего курса, вы можете задать вопрос, как какие дополнительные шаги они сделают, чтобы сделать его настоящим сайтом Twitter или его клоном и попросить описать каждый шаг, исходящий из html, в ORM/база данных. Вы можете явно указать технологии, которые будут использоваться.
Ответ 6
Хорошо, надавив на мою "злую" шляпу на мгновение, вы можете спросить, как модель данных задней конечности должна диктовать макет переднего конца, и любой ответ, отличный от некоторого варианта "Это не так", снова возьмите класс. > : -)
Ответ 7
Почему любая структура, которую вы используете, генерирует HTML, CSS и JS?
СУХОЙ
Ответ 8
Представьте, что вы работаете в агентстве безопасности и им была поручена разработка сайт. Полевые агенты специально запросил, чтобы сайт могут менять цвета, чтобы они могли использовать его как для ночного видения, так и для офис. С тем, что вы узнали, как вы отделите контент от структура, позволяющая осуществлять переключение на ночь/день и какие меры безопасности вы бы применять для предотвращения другого врага агентство от кражи ваших данных.
Приправленный вопрос. Я всегда нахожу своих студентов более заинтересованными, когда я помещаю их в центр сюжета.
Ответ 9
Что-то вдоль линий...
Объясните, как вы будете отображать результаты вызова для внешнего фида XML, когда пользователь выполняет некоторые действия в браузере. Браузер не должен перемещаться.
Хорошим ответом будет вопрос о необходимости сценариев на стороне клиента, проблема XSS и компонент на стороне сервера, необходимый для решения проблемы XSS, возможно, с псевдокодами или фрагментами.
Ответ 10
попросите разработать систему базы данных учащихся, в которой пользователь может выполнять поиск в базе данных с датой рождения.
здесь можно использовать и тестировать следующие технологии.
1. HTML для элементов управления формой
2. CSS для эстетики
3. Javascript для проверки даты
4. очень важно вы можете объяснить SQL INJECTION.
5. JSP
6. <сильные > сервлетах
7. JDBC
База данных 8.ANY
9. AJAX
10. Шаблон проектирования MVC.