Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.07.2011, 16:51
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Тестовое задание Yandex
Был несколько месяцев назад в Yandex.
Думал летом поработать там, а потом если бы устроил то остаться на постоянку.
К сожалению ритм в Москве очень сложный и побыв 3 дня там понял, что жить я не смогу в столице.
Прийдя на собеседование мне сказали, что на удаленку не берут, хотя вроде были готовы взять офисным сотрудником.

Хочу показать тестовое задание, которое мне дали.
Чтобы те, кто хочет работать в Yandex проверили свои силы и возможно устроились в эту классную компанию.

Итак тестовое задание
http://vreshenie.ru/Trip_Sorter.doc

Теперь как сделал я.
Ниже я опишу, что сделано не так и свои комментарии
http://vreshenie.ru/done.html
Код думаю все смогут просмотреть)))

Итак:
1 - Я сделал для наглядности генерацию карточек, чего делать не надо было.
2 - По поводу сортировки и в каком формате должны быть карточки.
Карточки должны выглядеть так
{
"Города 1":{
параметры
},
"Город 2":{
параметры
}
}
У меня в коде по другому.
Почему именно так.
Предположим у нас есть массив, и надо найти индекс массива, у которого у одного из объектов имеется параметр с тем или иным значением.
Если это делать через for(), то времени уйдет очень много.
Если же это делать обращаясь к свойству объекта, то выполниться моментально.
Пример
var o = {};
for(var i=0;i<1000000;i++){
	o[i] = (function(i){
		return function(){
			console.log(i);
		};
	})(i);
}

var t1 = new Date().getTime();
o[900000]();
var t2 = new Date().getTime();
console.log(t2-t1);

3 - В коде я использую arguments.callee. Если не ошибаюсь, Илья Кантор говорил, что в EcmaScript 5 этого свойства нет.
Также если не ошибаюсь, мне говорили, что при вызове рекурсивной функции через arguments.callee, затрачивается ресурсов в два раза больше, чем при вызове внешней функции.
Как то так.
В любом случае arguments.callee - использовать не следует.
4 - В программе есть баг при генерации карточек.
Но так как это не требовалось, то решил не исправлять.
Баг в том, что у одинакового вида транспорта одинаковый рейс и все параметры.


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

Посмотри тут
пример..

Похоже Яндекс позаимствовал тест. задание у кого-то...

А что там с темпом?? Яндекс заставляет работать круглосуточно??
Ответить с цитированием
  #3 (permalink)  
Старый 02.07.2011, 17:48
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

DrStrangelove, если не секрет, как это вы с ходу нашли это задание?

PS: вообще задание простое, но весьма интересное с точки зрения его реализации разработчиками. Я бы к примеру, вообще по другому все сделал. Этим оно и интересно

Последний раз редактировалось monolithed, 02.07.2011 в 17:53.
Ответить с цитированием
  #4 (permalink)  
Старый 02.07.2011, 18:15
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Сообщение от DrStrangelove Посмотреть сообщение
Посмотри тут
пример..

Похоже Яндекс позаимствовал тест. задание у кого-то...

А что там с темпом?? Яндекс заставляет работать круглосуточно??
С темпом не знаю как.
Я там не работал.
Лишь был на собеседовании.
Очень понравился офис.
Понравилось, что можно на стенах маркером писать - удобно.
А еще очень приятно было разговаривать с Федором Голубевым - очень позитивный человек
Ответить с цитированием
  #5 (permalink)  
Старый 02.07.2011, 18:27
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Сообщение от monolithed Посмотреть сообщение
PS: вообще задание простое, но весьма интересное с точки зрения его реализации разработчиками. Я бы к примеру, вообще по другому все сделал. Этим оно и интересно
Можете привести пример задания по сложнее.
Хочется себя проверить

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

Сообщение от monolithed Посмотреть сообщение
DrStrangelove, если не секрет, как это вы с ходу нашли это задание?

PS: вообще задание простое, но весьма интересное с точки зрения его реализации разработчиками. Я бы к примеру, вообще по другому все сделал. Этим оно и интересно
Сейчас только достал ссылку из закладок..
Нашёл давно, когда только увидел это тест. задание в вакансиях Яндекса-
стало интересно как сортировать объекты, и в Гугле как-то всплыла эта ссылка..
Ответить с цитированием
  #7 (permalink)  
Старый 02.07.2011, 19:03
Интересующийся
Отправить личное сообщение для DrStrangelove Посмотреть профиль Найти все сообщения от DrStrangelove
 
Регистрация: 02.07.2011
Сообщений: 16

Сообщение от mycoding Посмотреть сообщение
С темпом не знаю как.
Я там не работал.
Лишь был на собеседовании.
Очень понравился офис.
Понравилось, что можно на стенах маркером писать - удобно.
А еще очень приятно было разговаривать с Федором Голубевым - очень позитивный человек
А как вообще проходит собеседование??
Проверяют дипломы??
Требуют высшее образование?? обязательно профильное программерское??
или просто высшее?? В объявлениях о вакансии часто не пишут о в/о, в основном об опыте..
А как на самом деле, на собеседовании??
Ответить с цитированием
  #8 (permalink)  
Старый 02.07.2011, 19:09
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Сообщение от DrStrangelove Посмотреть сообщение
А как вообще проходит собеседование??
Проверяют дипломы??
Требуют высшее образование?? обязательно профильное программерское??
или просто высшее?? В объявлениях о вакансии часто не пишут о в/о, в основном об опыте..
А как на самом деле, на собеседовании??
Про ВО ни разу не спросили.
Хотя в вакансиях пишут, что желательно.

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

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

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

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

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

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

Собеседование проходило в кабинете с надписью "Пятая колонна"
Было очень дружелюбно.
На прощанье дали папочку с надписью "Яндекс")))

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

> Карточки должны выглядеть так

не должны. для ускорения выборок лучше создать отдельный индекс как в реляционных субд. нет ничего хуже, чем внутренняя оптимизация зашитая во внешний апи.

> В любом случае arguments.callee - использовать не следует.

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

Сообщение от tenshi Посмотреть сообщение
не должны. для ускорения выборок лучше создать отдельный индекс как в реляционных субд. нет ничего хуже, чем внутренняя оптимизация зашитая во внешний апи.
Можете по подробней?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тестовое задание. Дайте идею. 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