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

Статус: Offline
Реєстрація: 14.02.2008
Повідом.: 121
Тестовые задания при устройстве на работу, junior C++ developer

Хочу попросить всех здешних программеров, работающих с С++ или пытавшихся устроиться на работу, выложить сюда тестовые задания разных харьковских контор. Интересуют задания всех типов - "тесты", "найдите ошибку в коде...", "напишите программу...". Просьба указывать названия контор.
По поводу специализации, если это важно - интересует кроссплатформенный С/С++, программирование под Win с использованием DotNET, встраиваемые системы. Вобщем, выкладывайте всё, что есть. Хочу себя целенаправленно натаскать на более-менее реальных задачах.
 
тоже за
кризис когда нибудь пройдёт, надо поднатаскать себя
 
Х** кто выложит. Т.к. тесты дают на месте, без права на вынос :) конечно.

А вообще, решайте больше практических задач, и читайте литературу написанную для профи от профи.
 
Если контора нормальная, тесты могут выслать и по электронной почте (ну мне по крайне мере высылали правда давно это было и там php+mysql).
А вообще совет, перед устройством на работу обратить внимание
на вознаграждение, а лучше сразу его обговорить и не надо соглашатся на всякое г. ссылаясь, что джуниор. Если кто вам сказал что Вы полный 0, шлите его на х. и идите в другую контору и все. Находясь в активном поиске в течени 2-х недель ченибудь найдете.
 
Посилання видалено
 
Задачка простая, но мне понравилась ;)

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

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

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

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

и т.д.

Как решить эту задачу за линейное время, не используя оператора деления?
 
Если контора нормальная, тесты могут выслать и по электронной почте
В таком случае это не тесты. А просто отсейвалка "слабых", что бы не тратить на этих соискателей драгоценные 1-2 часа рабочего времени сотрудника.
 
Задачка простая, но мне понравилась ;)

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

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

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

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

и т.д.

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

Да задачка лёгкая и прикольная (по крайней мере на пхп в пару строк)

есть ещё одна прикольная задачка
но она задавалась в контексте пхп

Как поменять местами значения двух переменных не используя третью переменную
 
Если кто вам сказал что Вы полный 0, шлите его на х. и идите в другую контору и все. Находясь в активном поиске в течени 2-х недель ченибудь найдете.

Если полный 0 - то точно такой же хуй и найдет.
 
Вот:
int a=10;
int b=20;
a=a-b;
b=a+2*b;
a=(b-a)/2;
b = (b - a);
Console.WriteLine("a= {0}",a);
Console.WriteLine("b= {0}", b);

Код:
int a=10;
int b=20;
b = b - a;
a = a + b;
b = a - b;
Console.WriteLine("a= {0}",a);
Console.WriteLine("b= {0}", b);

а у меня так получилось...:)

на ассемблере можно без математики реализовать...
 
Код:
int a=10;
int b=20;
b = b - a;
a = a + b;
b = a - b;
Console.WriteLine("a= {0}",a);
Console.WriteLine("b= {0}", b);

а у меня так получилось...:)

на ассемблере можно без математики реализовать...

Насчет асма не знаю, а ото все с плюсами и делениями конечно красиво, но в реальной жизни что будет если оба значения близки к максимально возможному для типа int? Уж не говоря о том что вариант с делением херово будет работать с нечетными числами :)

.NET - Interlocked.Exchange
Win32/64 - InterlockedExchange, InterlockedExchangePointer, InterlockedExchange64
 
Насчет асма не знаю, а ото все с плюсами и делениями конечно красиво, но в реальной жизни что будет если оба значения близки к максимально возможному для типа int? Уж не говоря о том что вариант с делением херово будет работать с нечетными числами :)

не знаю, какие ограничения...я проверил - все работает(не во всем диапазоне, конечно)...в крайнем случае придется подшаманить (работать с int никто ведь не заставляет, можно типы поприводить, как удобно)

про асм могу говорить только касательно контроллера (x51), но думаю, что полноценный CISC такое тоже поддерживает - mov, swap...
хотя сам в асме не силен :)
 
Вот:
int a=10;
int b=20;
a=a-b;
b=a+2*b;
a=(b-a)/2;
b = (b - a);
Console.WriteLine("a= {0}",a);
Console.WriteLine("b= {0}", b);

вы использовали частный случай когла 2 переменные целые числа, а вот если эти переменные строки или первыя строка а второе число : -)
 
Dem7,
Ы?
поменять значения двух переменных не используя третью, причем переменные разных типов? Это под чем надо сидеть чтоб такое придумать?
 
Dem7,
Ы?
поменять значения двух переменных не используя третью, причем переменные разных типов? Это под чем надо сидеть чтоб такое придумать?

Под javascript надо сидеть. там типов нихера нету, одни недоклассы (с).
 
Dem7,
Ы?
поменять значения двух переменных не используя третью, причем переменные разных типов? Это под чем надо сидеть чтоб такое придумать?

внимательно прочитайте мой пост когда я писал условие этой задачи -)
я писал что эта задача для пхп -)
и с помомощью массивов она легко решается
 
to swisst:
Да, твой способ лучше. Писал в 3 часа ночи, что поделаешь..))
Кстати а вот вам такой метод (под C#):
int a = 11;
int b = 20;
a += b - (b = a);
Console.WriteLine("a= {0}", a);
Console.WriteLine("b= {0}", b);
Но это уже не моё творчество
 
Да действительно не заметил, что задачка для Php, все же начали отвечать в шарпе...
 
Назад
Зверху Знизу