Змінюй хід війни! Допомагай ЗСУ!

Тестовые задания при устройстве на работу, junior C+ developer

🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #21
Насчет асма не знаю, а ото все с плюсами и делениями конечно красиво, но в реальной жизни что будет если оба значения близки к максимально возможному для типа int? Уж не говоря о том что вариант с делением херово будет работать с нечетными числами :)

.NET - Interlocked.Exchange
Win32/64 - InterlockedExchange, InterlockedExchangePointer, InterlockedExchange64

ну ... это ж задание алгоритмическое больше, а не на знание АПИ :)

хотя ... вот интересно ... более чем уверен, что в универе/институте/академии/школе ожидался ответ со сложением/вычитанием (это старая (боянная :) ) теоретическая задача) ... а вот на практике как бы оценивали предложенные ответы?

кста ... а InterlockedExchange не использует промежуточных переменных, как требовалось по условию? ведь применение данной функции несколько в другом ... ;)
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #22
хотя ... вот интересно ... более чем уверен, что в универе/институте/академии/школе ожидался ответ со сложением/вычитанием (это старая (боянная :) ) теоретическая задача) ... а вот на практике как бы оценивали предложенные ответы?

Я бы на собеседовании таких задач не задавал. Во-первых даже если не идиот - ответить быстро сложно психологически, если не знаешь ответа заранее. Во-вторых достаточно задач из реальной программисткой жизни над которыми и так все стреляются :)
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #23
вот такая конструкция должна и в сях работать (в пхп точно работает)
$a ^= $b ^= $a ^= $b;
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #24
Я бы на собеседовании таких задач не задавал. Во-первых даже если не идиот - ответить быстро сложно психологически, если не знаешь ответа заранее. Во-вторых достаточно задач из реальной программисткой жизни над которыми и так все стреляются :)

кстати, выложи типовые вопросы с собеседований под .нет? :)
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #25
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #26
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #27
:D
да я же не прошу именно ваши.
просто, к примеру :)

пошарся в инете, там этих вопрос как говна...

но подобные вопросы врядли особо помогут, особенно если попадёшь на собеседование к разным знатокам типа предыдущего оратора :іржач:

Советую читать побольше литературы, прорабатывать разные темы и, главное, экспериментировать с примерами. Тут лишним ничего не будет.

По опыту могу сказать, прикладному программисту (которых основная масса) глубокое знание алгоритмов может пригодится, а может и НЕТ (куча библиотек уже написана и переписана, главное знать где-что лежит).
Советую сделать упор на знакомство с ТЕХНОЛОГИЯМИ, языками программирования и их возможностями. И безусловно - вечный SQL, без него сегодня, практически, никуда.
Ну это так в общем ;) За сим желаю удачи!

Хотя к собеседованию лучше заготовить несколько алгоримов, чтоб не облажаться, если попросят на листочке отсортировать массив или чёто такое...
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #28
но подобные вопросы врядли особо помогут, особенно если попадёшь на собеседование к разным знатокам типа предыдущего оратора :іржач:

Это ты меня имеешь ввиду? :) Я не знаток, я практик. Я вот ваще не помню как garbage collector в .NET работает - потому что еще ни разу не было на практике так что это было необходимо знать. Зачем забивать голову?
А спрашивать такое любят. А зачем? Гораздо важнее что человек знает как после работы с файлом правильно его отпустить.

По опыту могу сказать, прикладному программисту (которых основная масса) глубокое знание алгоритмов может пригодится, а может и НЕТ (куча библиотек уже написана и переписана, главное знать где-что лежит).

Это правильно, главное знать где найти и суметь правильно воспользоваться.
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #29
Задачка простая, но мне понравилась ;)

Есть массив A[N] из N-чисел.

Необходимо получить массив Output, i-й элемент которого равны произведению всех элеметов массива A[N] кроме A.

Т.е. Output[0] = A[1]*…*A[N]

Output[1] = A[0]*A[2]*…*A[N]

и т.д.

Как решить эту задачу за линейное время, не используя оператора деления?


Вариант первый:

int A[6] = {1,2,3,4,5,6};
int out[6];

for(int sum=1,i=0;i<6;i++)
{
for(int j=0;j<6;j++)
{
if(j!=i)
{
sum *= A[j];
}
}
out = sum;
sum = 1;
}

Вариант второй (STL):

vector<int> A, out;
vector<int>::iterator i;
int sum;

for(int i=1;i<7;i++)
A.push_back(i);

for(i=A.begin();i!=A.end();i++,sum=0)
{
sum = accumulate(A.begin(),i,1,multiplies<int>());
sum *= accumulate(i+1,A.end(),1,multiplies<int>());
out.push_back(sum);
}
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #30
Вариант первый:
Код:
int A[6] = {1,2,3,4,5,6};
int out[6];

for(int sum=1,i=0;i<6;i++)
{
for(int j=0;j<6;j++) 
{
...
...
Мало того, что поднята из безвестности тема, которая завтра 2 года со дня последнего сообщения, так ещё и не выполнено ключевое условие задачи, а именно:
Как решить эту задачу за линейное время, не используя оператора деления?
Я надеюсь, Вы хотя бы понимаете, что значит "за линейное время".
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #31
в чем нелинейность времени варианта с STL ?
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #32
вот такая конструкция должна и в сях работать (в пхп точно работает)
$a ^= $b ^= $a ^= $b;

задача вобщемто предназначена для того чтобы отсеять тех кто ее решит. Потому что за такой код голову надо отрывать. Не контроллеры всетаки, где память экономить надо. Чтобы 4 байта сэкономить захламлять код такими конструкциями - это диагноз...
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #33
в чем нелинейность времени варианта с STL ?

Т.е. вы считаете, что с помощью неведомой магии STL
Код:
sum = accumulate(A.begin(),i,1,multiplies<int>());
sum *= accumulate(i+1,A.end(),1,multiplies<int>());
выполняется за константное время?
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #34
Как решить эту задачу за линейное время, не используя оператора деления?

Включаем формальное мышление и чувство юмора :) Не сказано, что числа целые, не сказано, что деление нельзя заменять на эквивалентные операции. Заменяем деление на exp(-ln(a)) и смотрим на собеседующего невинными глазами :)



Потом отключаем чувство юмора и выдаем O(3N):

Код:
private static double[] GetOutput( double[] a )
{
	var n = a.Length;
	var result = new double[n];
	var left = new double[n];
	var right = new double[n];
	left[0] = 1;
	right[n-1] = 1;
	for( var i = 1; i < n; i++ )
	{
		left[i] = left[i - 1]*a[i - 1];
		right[n-i - 1] = right[n- i]*a[n - i];
	}
	for( var i = 0; i < n; i++)
	{
		result[i] = left[i]*right[i];
	}
	return result;
}
 
Останнє редагування:
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #35
Вот тестовое задание ,которое обеспечивает незамедлительный прием на работу с окладом в аж 1.673 минимальные заработные платы.
Дана область памяти от н до м .Дан набор символических имен с указанием отрезка памяти,которое может отводиться на каждое имя. .Необходимо связать символическое имя с участком памяти,которое он займет. Тоесть ,используя некоторый процесс вычисления ,применимо к символической состовляющей ,выйти на начало отрезка памяти,которое ему отведено.
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #36
Что, Мураз, не смог устроиться на 1.6 минималки? Ну хз, Страуструпа почитай или кого там еще рекомендуют. Собеседование - это вообще зло, спрашивают одно, в работе будет нужно совсем другое, и к чему оно все было - нипанятна...:незнаю:
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #37
Что, Мураз, не смог устроиться на 1.6 минималки? Ну хз, Страуструпа почитай или кого там еще рекомендуют. Собеседование - это вообще зло, спрашивают одно, в работе будет нужно совсем другое, и к чему оно все было - нипанятна...:незнаю:

По латыни оно звучит звучит как Нитонисе .
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #38
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #39
Всего за каких-то 2 года тема почти не актуальной стала, джуниоров С++ сейчас уже почти нигде не берут ;)

Необходимо связать символическое имя с участком памяти,которое он займет. Тоесть ,используя некоторый процесс вычисления ,применимо к символической состовляющей ,выйти на начало отрезка памяти,которое ему отведено.

Задача так сформулирована чтобы взорвать мозг?
 
  • 🔴 07:42 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #40
Назад
Зверху Знизу