![sad.gif](http://phpforum.su/html/emoticons/sad.gif)
Цитата |
Jquery Базовый уровень 1. Выбрать все элементы с классом basic; 2. Выбрать элемент с идентификатором maincategory; 3. Выбрать строку в таблице, у которой есть ячейка с идентификатором status; 4. Добавить событие на все ссылки, которое будет показывать стандартный алерт с сообщением «Hello, world»; 5. Вызвать событие, которое вы навесили в пункте 4, программным путем; 6. Удалить событие, которое вы добавили в пункте 4; 7. Получить значение галочки из input с типом checkbox; 8. Отправить форму с идентификатором EditView программным путем; 9. Установить полю name с типом text, значение «I am god of jquery» 10. Есть страница (ajax.php?call=myfirstservice на сервере, которая принимает POST запрос с непустыми полями name и age, а затем отдает json в ответ. Получите данные у этого сервиса, полученные данные выведите в консоль. Расширенный уровень 11. Есть div с идентификатором container, внутри него находится поля ввода (input) с типом текст (text). Содержимое div с идентификатором container, может быть динамически обновлено. Добавьте события для полей ввода, так что бы при перезагрузке содержимого, события оставались работоспособными; 12. Навешать событие на отправку формы, событие должно сначала останавливать отправку формы, затем проверять заполнено ли поле из пункта 9, если заполнено то отправлять форму, подсвечивать поле из пункта 9 рамкой из красного цвета; 13. Что такое промисы (promise)? Покажите пример. Javascript 1. Что такое замыкания? Покажите пример; 2. Что такое модульный подход? Покажите пример; 3. Как получить родительский window из popup? 4. Как получить родительский window из iframe? 5. Можно ли закачать файл на сервер через XMLHttpRequest? 6. Область видимость, как объявить приватные свойства, функции у объектов? 7. Базовые принципе работы с прототипами. Установка прототипов, вызов функций, взаимодействие со свойствами. 8. Локальное хранилище в браузере. Его название, базовые методы и принципы работы. 9. WebSocket, что такое, основные принципы работы. Дополнительно 1. Приходилось ли использовать backbone? Если да, то расскажите базовые архитектурные принципы этого фреймворка. 2. Приходилось ли использовать angular? Если да, то расскажите базовые архитектурные принципы этого фреймворка. 3. Приходилось ли использовать js шаблонизаторы, если да, то какие? 4. Если в js стандарты кодирования и инструменты для обеспечения соблюдения этих стандартов, если да, то какие? |
Цитата (inpost @ 26.04.2015 - 01:09) |
Если человек не умеет, то он потратит уйму времени, а знающий сделает с гуглом почти моментально. |
Цитата (inpost @ 26.04.2015 - 01:09) |
Не думаю, что в данном случае уместна память человека и его заучивания. |
Цитата (inpost @ 26.04.2015 - 01:09) |
А вот разработку под мобильные устройства ни слова. Неужели ваша фирма этим не занимается? |
Цитата (sergeiss @ 26.04.2015 - 01:38) |
И да... Ты все эти вопросы задаешь кандидату или часть из них? |
Цитата (sergeiss @ 26.04.2015 - 01:38) |
Также имеет смысл написать код с какими-нибудь ошибками и предложить его отладить средствами браузера. |
Цитата (chee @ 26.04.2015 - 00:48) |
...а цифровая копия не осталась. |
Цитата |
Если есть замечания к формулировкам, буду рад услышать ваши предложения. |
Цитата (inpost @ 26.04.2015 - 03:20) |
sergeiss Я уверен, что я и тебя могу завалить на знание ВСЕХ функций на PHP. |
Цитата (inpost @ 26.04.2015 - 11:46) |
А часто приходится работать с iframe ? |
Цитата (S.Chushkin @ 26.04.2015 - 11:11) |
Я, например, не знаю что такое promise? А оно надо, чтобы знать/помнить его? |
Цитата (Invis1ble @ 26.04.2015 - 04:56) |
покажи пример из практики |
(function () {
SUGAR.AjaxForm = function () {
var ajaxform = this;
this.formName = 'ajaxform';
this.width = 'auto';
this.form = null;
this.table = null;
this.dialog = null;
this.title = 'ajaxform';
this.module = 'Home';
this.target = {
module: this.module
};
this.getTarget = function () {
return $.extend(ajaxform.target, {
form_name: this.formName,
form: this.formName
});
};
this.buttons = {
'Ок': function () {
ajaxform.form.dialog('close');
},
'Отмена': function () {
ajaxform.form.dialog('close');
}
};
this.include = function (path) {
$.getScript(path);
};
this.includeJavascriptForm = function () {
ajaxform.include('include/SugarFields/Fields/Datetimecombo/Datetimecombo.js');
ajaxform.include(ajaxform.getUrl() + '&target[only_js]=true');
};
this.getUrl = function () {
return 'index.php?' + $.param({
module: this.module,
action: 'ajaxform',
target: ajaxform.getTarget()
});
};
this.callEvent = function (eventName) {
$(ajaxform).trigger(eventName, ajaxform);
};
this.showDialog = function () {
ajaxform.callEvent('before_open_dialog');
ajaxform.dialog = ajaxform.form.dialog({
modal: true,
title: ajaxform.title,
width: ajaxform.width,
open: function () {
ajaxform.includeJavascriptForm();
ajaxform.callEvent('after_open_dialog');
},
close: function () {
ajaxform.table.remove();
ajaxform.form.remove();
ajaxform.callEvent('after_close_dialog');
},
buttons: ajaxform.buttons
});
};
this.loadForm = function () {
var dfd = new $.Deferred();
ajaxform.callEvent('before_load_form');
$.ajax({
url: ajaxform.getUrl(),
dataType: 'html',
success: function (html) {
ajaxform.form = $('<form>');
ajaxform.table = $('<table>');
ajaxform.form.attr({
name: ajaxform.formName,
id: ajaxform.formName
});
ajaxform.table.append($(html).find('tr.panel-row'));
ajaxform.form.append(ajaxform.table);
ajaxform.callEvent('after_load_form');
dfd.resolve();
}
});
return dfd.promise();
};
this.init = function () {
ajaxform.loadForm().done(function () {
ajaxform.showDialog();
});
};
}
}());