Тестовые задания для собеседований 1. Блочная верстка Задача: реализовать представленный ниже шаблон без использования тега <table>, вместо него использовать <div>. Габариты таблицы: высота – 100%, ширина - 100%. Реализовать без использования тега <table>, вместо него использовать <div>. Ширина ячейки фиксирована и равна 200 пикселей. Ширина ячейки 100% минус 200 пикселей. 2. CSS Задача: есть произвольная таблица, необходимо оформить ее как таблицу с черной границей равной 1 пиксель (border = 1px). Задача: скрыть при печати элементы страницы, которые не скрыты для просмотра в браузере. 3. JavaScript Задача: при наборе текста в поле формы (<input type=“text”…) обрабатывать ввод каждого символа, заменяя его на символ “0”. Скрипт должен быть оптимизирован для отображения в различных браузерах. Задача: как выбрать элемент по id, как по name? Задача: для чего и как используется функция eval()? 4. Проектирование БД Задача: описать таблицы и связи, которые необходимы для описания товаров с переменным количеством характеристик. Подробнее: есть список товаров (у каждого из них свой набор характеристик). Есть список характеристик. для каждого из товаров должен определяться набор характеристик и их значения. Пример данных, которые должны укладываться в эту структуру: 1. Вилка (материал: нерж.сталь, страна производитель: Китай) 2. Ложка (материал: пластмасса, цвет: белый, страна производитель: Китай) 3. Автомобиль (марка: GreatWall, мощность двигателя: 100 л.с., страна производитель: Китай, цвет кузова: серый) 5. XSLT Задача: на основании xml кода (представлен ниже), необходимо сформировать таблицу, состоящую из двух колонок, в которую необходимо внести данные из xml, в виде списка значений разбитого на две колонки поровну и в том порядке в котором они выводятся в xml: <element id="1"> <element id="1.1"> <element id="1.1.1" /> </element> <element id="1.2" /> </element> <element id="2" /> <element id="3"> <element id="3.1" /> <element id="3.2" /> <element id="3.3" /> </element> ... <element id="n" /> 6. HTML Вот этот кусок кода на PHP (на самом деле, язык не принципиален) хронически вызывает двойной вызов функции и, соответственно, двойную вставку данных в базу. Почему? <table><tr><td background=#fff7eb id=message> <?php mysql_query("INSERT INTO `res_action` (`type`, `date`, `id`, `from`, `to`, `text`, `viewed`, `hidden`) VALUES ('hate', '08/08/07 12:15', 1070808121557, 'foo', 'bar', '', '0', '0')"); ?> </td></tr></table> 7. id -1 2 3 4 SQL name ---Pirate Monkey Ninja Spaghetti id -1 2 3 4 name ---Rutabaga Pirate Darth Vader Ninja 7.1 Что получится при выполнении «select * from TableA, TableB»? 7.2 Что такое CROSS JOIN? 7.3 SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name – что мы получим? 7.4 SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name – что мы получим?