Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 02.07.2011, 20:06
Интересующийся
Отправить личное сообщение для DrStrangelove Посмотреть профиль Найти все сообщения от DrStrangelove
 
Регистрация: 02.07.2011
Сообщений: 16

Сообщение от mycoding Посмотреть сообщение
Про ВО ни разу не спросили.
Хотя в вакансиях пишут, что желательно.

Вообще, если есть знания и без ВО можно работать.
Например V~Vladi вроде без ВО, а работает в очень серьезной фирме

ВО нужно для формирования личности, фундамента знаний, знакомства с очень интересными людьми, выбора пути в жизни и много то, что просто не рассказать.

Все профессиональные знания получаются на работе в реальных условиях бизнеса. Либо самим человеком при чтении книг, блогов и прочего.

Про собеседование:
Я общался с Федором Голубевым и еще одним человеком.
Вопросы были вроде тех, что вот здесь
http://company.yandex.ru/job/vacanci..._developer.xml
http://company.yandex.ru/job/vacanci...dia_search.xml

Мне на собеседовании очень понравилось)))
Длилось где-то два часа.

Я не помню уже всего о чем спрашивали.
Вот что запомнилось
1 - Что такое JSONP
2 - Реализации ООП в js(примеры)
3 - Про замыкания, классический пример с массивом
Больше ничего не запомнилось)))

Собеседование проходило в кабинете с надписью "Пятая колонна"
Было очень дружелюбно.
На прощанье дали папочку с надписью "Яндекс")))
Понятно, спасибо!
Не подскажешь как правильно ответить на этот вопрос:
Дан код:
var rx1 = RegExp(/regular/ + /expression/);
var rx2 = /regularexpression/;

Что нужно добавить в начало программы, чтобы rx1 и rx2 стали идентичными? Сами строчки трогать нельзя.
Ответить с цитированием
  #12 (permalink)  
Старый 02.07.2011, 20:09
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Сообщение от DrStrangelove Посмотреть сообщение
Понятно, спасибо!
Не подскажешь как правильно ответить на этот вопрос:
Дан код:
var rx1 = RegExp(/regular/ + /expression/);
var rx2 = /regularexpression/;

Что нужно добавить в начало программы, чтобы rx1 и rx2 стали идентичными? Сами строчки трогать нельзя.

Вот этот пример я до сих пор не знаю как правильно сделать)))
Это же для Яндекс бар, возможно там что-то из EcmaScript 5, вроде
use strict.
Ответить с цитированием
  #13 (permalink)  
Старый 02.07.2011, 20:30
Интересующийся
Отправить личное сообщение для DrStrangelove Посмотреть профиль Найти все сообщения от DrStrangelove
 
Регистрация: 02.07.2011
Сообщений: 16

Сообщение от mycoding Посмотреть сообщение
Вот этот пример я до сих пор не знаю как правильно сделать)))
Это же для Яндекс бар, возможно там что-то из EcmaScript 5, вроде
use strict.
Яндекс потом не раскрывает правильных ответов для соискателей??
Ответить с цитированием
  #14 (permalink)  
Старый 02.07.2011, 20:32
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Скажем, это:
// OLD
var rx1 = RegExp(/regular/ + /expression/); 
var rx2 = /regularexpression/;
alert([rx1, rx2])
alert([rx1.test('regularexpression'), rx2.test('regularexpression')]) // false, true T_T

// NEW
var oldToString = RegExp.prototype.toString;
RegExp.prototype.toString = function(){
    var value = oldToString.call(this);
    return value.replace(/\//g, '')
}

var rx1 = RegExp(/regular/ + /expression/); 
var rx2 = /regularexpression/;
alert([rx1, rx2])
alert([rx1.test('regularexpression'), rx2.test('regularexpression')]) // true, true! ^_^

Последний раз редактировалось B@rmaley.e><e, 02.07.2011 в 20:42.
Ответить с цитированием
  #15 (permalink)  
Старый 02.07.2011, 20:37
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Я просто привел пример, что спрашивают.
Т.е. все, что есть в примерах вакансий со страницы http://company.yandex.ru/job/vacancies/

Да особо и раскрывать то нечего.

Думаю, чтобы пройти собеседование, надо прочитать книги
http://oreilly.com/catalog/9780596805531
http://oreilly.com/catalog/9780596806767
И всё.
Знаний будет достаточно.

Последний раз редактировалось mycoding, 02.07.2011 в 21:00.
Ответить с цитированием
  #16 (permalink)  
Старый 02.07.2011, 21:13
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

http://javascript.ru/blog/tenshi/yavascriptovoe-dao
__________________
.ня
Ответить с цитированием
  #17 (permalink)  
Старый 02.07.2011, 21:14
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

B@rmaley.e><e, у регекспов есть замечательное свойство source
__________________
.ня
Ответить с цитированием
  #18 (permalink)  
Старый 02.07.2011, 21:20
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

tenshi, спасибо, забыл о существовании такового. Лучше, конечно, использовать его, чем костыль с toString.
Ответить с цитированием
  #19 (permalink)  
Старый 02.07.2011, 21:46
Интересующийся
Отправить личное сообщение для DrStrangelove Посмотреть профиль Найти все сообщения от DrStrangelove
 
Регистрация: 02.07.2011
Сообщений: 16

Сообщение от B@rmaley.e><e Посмотреть сообщение
// NEW
var oldToString = RegExp.prototype.toString;
RegExp.prototype.toString = function(){
var value = oldToString.call(this);
return value.replace(/\//g, '')
}
Поясни, плиз, к чему применяется oldToString.call(this); и что попадает в
value??
Ответить с цитированием
  #20 (permalink)  
Старый 02.07.2011, 21:54
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Переопределяется метод toString для регэкспов, который вызывается, например, в случае /regexp1/ + /regexp2/, так, чтобы возвращать свое значение не в виде /regexp/flags (флаги в текущей версии не предусмотрены), а просто в виде regexp. Тогда конкатенация /regexp1/ + /regexp2/ даст regexp1regexp2, которая, будучи переданной аргументом RegExp, станет /regexp1regexp2/.

oldToString используется для получения строкового представления регэкспа. В value попадает как раз содержание регэкспа.

Но с учетом поправки, корректный код будет выглядеть так:
// OLD
var rx1 = RegExp(/regular/ + /expression/); 
var rx2 = /regularexpression/;
alert([rx1, rx2])
alert([rx1.test('regularexpression'), rx2.test('regularexpression')]) // false, true T_T

// NEW
RegExp.prototype.toString = function(){
    return this.source;
}

var rx1 = RegExp(/regular/ + /expression/); 
var rx2 = /regularexpression/;
alert([rx1, rx2])
alert([rx1.test('regularexpression'), rx2.test('regularexpression')]) // true, true! ^_^
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тестовое задание. Дайте идею. FINoM Оффтопик 14 28.03.2011 10:09
Помогите сделать тестовое задание начального уровня по js makregistr Работа 1 16.12.2010 14:26
Задание значения элемента формы и submit Enklgd01 Общие вопросы Javascript 4 28.09.2010 11:24
Решите задание! очень надо! Елизавета Оффтопик 70 08.06.2010 15:10
Задание CSS для загруженных во фрейм страниц <Pool> Общие вопросы Javascript 1 14.01.2009 16:59