Как нанять грамотного индуса?

Tropik
Ник удалён за многократные регистрации
Posts: 938
Joined: 13 Aug 2009 23:21

Re: Как нанять грамотного индуса?

Post by Tropik »

Mic wrote:Вот, кстати, версия, аццки быстрая, полезная, если у вас множественое обращение к одному и тому же массиву:

Code: Select all

private List<string[]> cache = null;

public void FastLoopShifting()
{
	string[] arr = { "0", "1", "2", "3", "4" };
	string[] result = FastShift(arr, 3);
	PrintResult(result, 0);
}

private string[] FastShift(string[] arr, int shift)
{
	if (arr == null)
		throw new ApplicationException("The parameter 'string[] arr' is null");

	GetCacheReady(arr);
	return cache[shift];
}

private void GetCacheReady(string[] arr)
{
	if (cache != null)
		return;

	if (arr == null)
		throw new ApplicationException("The parameter 'string[] arr' is null");

	cache = new List<string[]>();
	cache.Add((string[])arr.Clone());

	for (int i = 0; i < arr.Length - 1; i++)
	{
		ShiftRight(arr);
		cache.Add((string[])arr.Clone());
	}
}
Каким образом строчка arr.Clone(), которая будет создавать новую копию обьекта (довольно дорогостоящая операция) еще и вместе с кастингом string[] и все это выложенное в цикл - может привести к "аццки быстрой" версии? 8O "Ацки-медленная" плюс неэффективно расходующая ресурсы, особенно на больших массивах - это да, это имеется.
User avatar
jms
Уже с Приветом
Posts: 268
Joined: 29 Dec 2006 12:03

Re: Как нанять грамотного индуса?

Post by jms »

Tropik wrote:
Mic wrote:Вот, кстати, версия, аццки быстрая, полезная, если у вас множественое обращение к одному и тому же массиву:

Code: Select all

private List<string[]> cache = null;

public void FastLoopShifting()
{
	string[] arr = { "0", "1", "2", "3", "4" };
	string[] result = FastShift(arr, 3);
	PrintResult(result, 0);
}

private string[] FastShift(string[] arr, int shift)
{
	if (arr == null)
		throw new ApplicationException("The parameter 'string[] arr' is null");

	GetCacheReady(arr);
	return cache[shift];
}

private void GetCacheReady(string[] arr)
{
	if (cache != null)
		return;

	if (arr == null)
		throw new ApplicationException("The parameter 'string[] arr' is null");

	cache = new List<string[]>();
	cache.Add((string[])arr.Clone());

	for (int i = 0; i < arr.Length - 1; i++)
	{
		ShiftRight(arr);
		cache.Add((string[])arr.Clone());
	}
}
Каким образом строчка arr.Clone(), которая будет создавать новую копию обьекта (довольно дорогостоящая операция) еще и вместе с кастингом string[] и все это выложенное в цикл - может привести к "аццки быстрой" версии? 8O "Ацки-медленная" плюс неэффективно расходующая ресурсы, особенно на больших массивах - это да, это имеется.
Наверное имелось ввиду что результаты работы закешированы, и могут быстро быть извлечены при необходимости. Но это уже другая сказка ;-)
-- who says a penguin can't fly? http://www.youtube.com/watch?v=9dfWzp7rYR4
SBolgov
Уже с Приветом
Posts: 14006
Joined: 17 Jun 2003 04:41

Re: Как нанять грамотного индуса?

Post by SBolgov »

jms wrote:Наверное имелось ввиду что результаты работы закешированы, и могут быстро быть извлечены при необходимости. Но это уже другая сказка ;-)
Ага. Для массива из, скажем, 10 000 элементов сначала аццки быстро создаём 10 000 копий, потом ...

Хотя какие после этого могут быть "потом"? :mrgreen:

P.S. По-моему, Mic просто прикололся. :food:
Не гоните, и не гонимы будете...
Tropik
Ник удалён за многократные регистрации
Posts: 938
Joined: 13 Aug 2009 23:21

Re: Как нанять грамотного индуса?

Post by Tropik »

SBolgov wrote:
jms wrote:Наверное имелось ввиду что результаты работы закешированы, и могут быстро быть извлечены при необходимости. Но это уже другая сказка ;-)
Ага. Для массива из, скажем, 10 000 элементов сначала аццки быстро создаём 10 000 копий, потом ...

Хотя какие после этого могут быть "потом"? :mrgreen:

P.S. По-моему, Mic просто прикололся. :food:
За такие приколы во время code review можно и нахлобучить приколисту :umnik1:
Clear
Уже с Приветом
Posts: 252
Joined: 27 Jul 2005 01:16
Location: Montreal

Re: Как нанять грамотного индуса?

Post by Clear »

Да берите кого дают. Пускай провалят проект, другой, может начальство потом задумается.
Sincerely,
Clear
Clear
Уже с Приветом
Posts: 252
Joined: 27 Jul 2005 01:16
Location: Montreal

Re: Как нанять грамотного индуса?

Post by Clear »

[quote="Марик] ВП - белые американцы, но похоже один из них "промотивирован".[/quote]
Наверное получил откат от индусов.
Sincerely,
Clear
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Re: Как нанять грамотного индуса?

Post by Mic »

Tropik wrote:
Mic wrote:Вот, кстати, версия, аццки быстрая
Каким образом строчка arr.Clone(), которая будет создавать новую копию обьекта (довольно дорогостоящая операция) еще и вместе с кастингом string[] и все это выложенное в цикл - может привести к "аццки быстрой" версии? 8O "Ацки-медленная" плюс неэффективно расходующая ресурсы, особенно на больших массивах - это да, это имеется.
Серьезно?
А вы заметили, что весь смысл быстроты заключается не в функции, которая будет вызвана всего один раз, а в кешировании и считывании данных по индексу?
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Re: Как нанять грамотного индуса?

Post by Mic »

SBolgov wrote:P.S. По-моему, Mic просто прикололся. :food:
Разумеется ни один дев в здравом уме использовать это не будет.
Но на интервью в МС подобное решение засчитают как вариант (с оговоркой о неиспользовании ;))
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Re: Как нанять грамотного индуса?

Post by Mic »

Tropik wrote:За такие приколы во время code review можно и нахлобучить приколисту :umnik1:
Я надеюсь вы понимаете, что в продакшн такое пройти не может?
Это чисто академический вариант для интервью.
User avatar
Марик
Уже с Приветом
Posts: 1148
Joined: 28 Jan 2007 21:03
Location: NJ

Re: Как нанять грамотного индуса?

Post by Марик »

Clear wrote:Да берите кого дают. Пускай провалят проект, другой, может начальство потом задумается.
Начальство думает о другом. Что провалят - сомнений нет, только отвечать как бы нам не пришлось.
User avatar
fruit6
Уже с Приветом
Posts: 4207
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Как нанять грамотного индуса?

Post by fruit6 »

вернуть что-то из аутсорсинга задача гораздо сложнее чем отправить проект за океан (что достигается банальными взятками). из того что я видел, только провалов в исполнении обычно не достаточно. одна из проблем в том, что экономия уже отрапортована наверх и бабло в виде бонусов распилены.
User avatar
mudi
Уже с Приветом
Posts: 5898
Joined: 19 Feb 2004 09:13
Location: SFBA, CA

Re: Как нанять грамотного индуса?

Post by mudi »

Mic wrote:
Tropik wrote:За такие приколы во время code review можно и нахлобучить приколисту :umnik1:
Я надеюсь вы понимаете, что в продакшн такое пройти не может?
Это чисто академический вариант для интервью.
Ну если забить на быстродействие и не оговаривать на каком языке требуется решение, то тогда лучше так: :mrgreen:

Code: Select all

a,n = [1,2,3,4,5], 2
a = a[n:]+a[:n]
User avatar
KOT MATPOCKUH
Уже с Приветом
Posts: 2741
Joined: 17 Jul 2000 09:01
Location: Одесса -> Лос-Анджелес -> Делавер -> Мэриленд -> Вирджиния. Хочу снова в Одессу.

Re: Как нанять грамотного индуса?

Post by KOT MATPOCKUH »

Марик wrote: В соседней группе так попробовали. Наняли полных тупарей индусов. Теперь те, кто нанимал ищут работу, а индусы кодят себе потихоньку. Ну плачется их тимлид, да кому до этих плачей дело есть?
В таком случае на Вашем месте я бы потихоньку начал искать другое место. Будет ли тот индус, которого Вы найдёте умным или нет - результат весьма вероятно будет такой же. Да Вы и сами это понимаете:
Марик wrote:Начальство думает о другом. Что провалят - сомнений нет, только отвечать как бы нам не пришлось.
А я все чаще замечаю, что меня как будто кто-то подменил...
User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Re: Как нанять грамотного индуса?

Post by Mic »

mudi wrote:
Mic wrote:
Tropik wrote:За такие приколы во время code review можно и нахлобучить приколисту :umnik1:
Я надеюсь вы понимаете, что в продакшн такое пройти не может?
Это чисто академический вариант для интервью.
Ну если забить на быстродействие и не оговаривать на каком языке требуется решение, то тогда лучше так: :mrgreen:

Code: Select all

a,n = [1,2,3,4,5], 2
a = a[n:]+a[:n]
Ne pojdet - commentov net :)

P.S. Sorry, the translit doesn't work in Chrome.
User avatar
jms
Уже с Приветом
Posts: 268
Joined: 29 Dec 2006 12:03

Re: Как нанять грамотного индуса?

Post by jms »

Mic wrote:
SBolgov wrote:P.S. По-моему, Mic просто прикололся. :food:
Разумеется ни один дев в здравом уме использовать это не будет.
Но на интервью в МС подобное решение засчитают как вариант (с оговоркой о неиспользовании ;))
Все так плохо в МС?..
-- who says a penguin can't fly? http://www.youtube.com/watch?v=9dfWzp7rYR4

Return to “Работа и Карьера в IT”