Задачи для IT интервью

Berlaga
Уже с Приветом
Posts: 1008
Joined: 24 Mar 2010 21:14
Location: SFBA

Re: Задачи для IT интервью

Post by Berlaga »

Мальчик-Одуванчик wrote:
Berlaga wrote:Когда-то давно-давно... еще в той жизни... я работал в месте с "четко сформулированными задачами"... Сторожем подрабатывал, по студенчеству.
А потом я выучился и стал софтверным инженером. :)
В институте вахтером?
А вы говорите "четко сформулированные задачи"... тут вон вопрос четко сформулировать не у всех с первого раза получается. :D
Berlaga
Уже с Приветом
Posts: 1008
Joined: 24 Mar 2010 21:14
Location: SFBA

Re: Задачи для IT интервью

Post by Berlaga »

FreemanUSA wrote:Какие-то задачки мрачные во попробуйте http://www.playcast.ru/view/819459/439f ... 9de73291pl в японии пользуют, слышал, если кто пробывал до этого пальцы не гните, а скажите время до решения, у меня 10 минут заняло "без Ютуба" :)
7 минут.
Pantigalt
Уже с Приветом
Posts: 802
Joined: 24 Jan 2007 07:32
Location: Сергели->Новосибирск->SFBA->Новосибирск->Москва->NY->SFBA

Re: Задачи для IT интервью

Post by Pantigalt »

Berlaga wrote: Меня, помнится, спрашивали "вычислить количество элементов в статическом массиве не используя sizeof". Сейчас оно элементарно выгугливается, но лет 10 назад звучало очень даже свежо. :)
Вариант 1 в рантайм, с использованием автоматического выведения типов, тут главное знать как надо массив передавать в функцию. В принципе если использовать const_expr то можно попробовать и в complite-time.

Code: Select all

include <iostream>
template<typename T, size_t N>
size_t array_size(T(&t)[N])
{
	return N;
}

int _tmain(int argc, _TCHAR* argv[])
{
	int a[5];
	std::cout << array_size(a);
	return 0;
}
Вариант 2 в compile-time, с рекурсией и использование трейта std::is_same, то что делает трейт понятно можно самому написать, главное идея.
Вообще изза трейта и изза decltype будет компилироваться только под С++ 11

Code: Select all

#include <iostream>
#include <type_traits>
template<typename T, typename E, size_t N, bool b>
class K
{
public:
	enum
	{
		LEN = K<T, E, N + 1, std::is_same<T, E[N + 1]>::value>::LEN
	};
};

template<typename T, typename E, size_t N>
class K<T, E, N, true>
{
public:
	enum
	{
		LEN = N
	};
};

template<typename T, typename E>
class P
{
public:
	enum
	{
		LEN = K<T, E, 0, std::is_same<T, E[0]>::value>::LEN
	};
};

int _tmain(int argc, _TCHAR* argv[])
{
	int a[5];
	std::cout << P<decltype(a), int>::LEN;
	return 0;
}
Berlaga, а вы какой вариант имели в виду, compile-time или run-time?
Спи быстрее, твоя подушка нужна другому. Copyright Зощенко
helg
Уже с Приветом
Posts: 4827
Joined: 15 May 2001 09:01

Re: Задачи для IT интервью

Post by helg »

Pantigalt wrote:Berlaga, а вы какой вариант имели в виду, compile-time или run-time?
10 лет назад C++11 не было. Задача, насколько я представляю, не для с++, а для c. И да, в runtime.
Pantigalt
Уже с Приветом
Posts: 802
Joined: 24 Jan 2007 07:32
Location: Сергели->Новосибирск->SFBA->Новосибирск->Москва->NY->SFBA

Re: Задачи для IT интервью

Post by Pantigalt »

Вот тут мне подсказали еще один вариант в С++11, использующий фишку со специализаций шаблонов для массивов.

Code: Select all

template<class Ty>
struct array_size
{
};

template<class Ty, size_t N>
struct array_size<Ty[N]>
{
	enum
	{
		val = N
	};
};

int _tmain(int argc, _TCHAR* argv[])
{
	int a[5];
	std::cout << array_size<decltype(a)>::val;
	return 0;
}
Спи быстрее, твоя подушка нужна другому. Copyright Зощенко
User avatar
Medium-rare
Уже с Приветом
Posts: 9194
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Задачи для IT интервью

Post by Medium-rare »

Можно ещё подумать о цикле for по массиву. Еще std::count, итерация от std::begin до std::end для массива. C++ 11. Не факт, что не ужмётся до compile time.
... and even then it's rare that you'll be going there...
User avatar
FreemanUSA
Уже с Приветом
Posts: 349
Joined: 24 Jul 2012 23:26
Location: echo RU::US($me);

Re: Задачи для IT интервью

Post by FreemanUSA »

Парни в скриптовых языках решение банальное просто запустить foreach и всунуть для подсчёта переменную++ в цикл после окончания сделать принт или врайт этой переменной как угодно. Где подковырка, со вчерашнего дня думаю в чём прикол.
User avatar
FreemanUSA
Уже с Приветом
Posts: 349
Joined: 24 Jul 2012 23:26
Location: echo RU::US($me);

Re: Задачи для IT интервью

Post by FreemanUSA »

Berlaga wrote:
FreemanUSA wrote:Какие-то задачки мрачные во попробуйте http://www.playcast.ru/view/819459/439f ... 9de73291pl в японии пользуют, слышал, если кто пробывал до этого пальцы не гните, а скажите время до решения, у меня 10 минут заняло "без Ютуба" :)
7 минут.
Гы :good: гуд резалт люди днями башку ломают, мой знакомый в уме за 2 минут прошёл я в отпаде был.
User avatar
ALV00
Уже с Приветом
Posts: 1491
Joined: 08 Mar 2002 10:01
Location: NJ

Re: Задачи для IT интервью

Post by ALV00 »

M. Ridcully wrote:Установлен ли бит <номер вопроса> в номере выигрышного конверта?
Допустим, вы получили 5 "да" и 5 "нет", в любой последовательности. То есть в номере конверта 5 нулей и 5 единиц. Что дальше?

P.S. То есть результат опроса знатока - одно натуральное число x, равное количеству ответов "да". Его надо смапировать на массив 1..1000. То есть количество вопросов никак не может быть меньше 1000.
Pantigalt
Уже с Приветом
Posts: 802
Joined: 24 Jan 2007 07:32
Location: Сергели->Новосибирск->SFBA->Новосибирск->Москва->NY->SFBA

Re: Задачи для IT интервью

Post by Pantigalt »

FreemanUSA wrote:
Berlaga wrote:
FreemanUSA wrote:Какие-то задачки мрачные во попробуйте http://www.playcast.ru/view/819459/439f ... 9de73291pl в японии пользуют, слышал, если кто пробывал до этого пальцы не гните, а скажите время до решения, у меня 10 минут заняло "без Ютуба" :)
7 минут.
Гы :good: гуд резалт люди днями башку ломают, мой знакомый в уме за 2 минут прошёл я в отпаде был.
За 15 минут расстреливают?)
Спи быстрее, твоя подушка нужна другому. Copyright Зощенко
User avatar
FreemanUSA
Уже с Приветом
Posts: 349
Joined: 24 Jul 2012 23:26
Location: echo RU::US($me);

Re: Задачи для IT интервью

Post by FreemanUSA »

Pantigalt wrote:
FreemanUSA wrote:
Berlaga wrote:
FreemanUSA wrote:Какие-то задачки мрачные во попробуйте http://www.playcast.ru/view/819459/439f ... 9de73291pl в японии пользуют, слышал, если кто пробывал до этого пальцы не гните, а скажите время до решения, у меня 10 минут заняло "без Ютуба" :)
7 минут.
Гы :good: гуд резалт люди днями башку ломают, мой знакомый в уме за 2 минут прошёл я в отпаде был.
За 15 минут расстреливают?)
Не знаю это у японцев надо спросить :D они обычно короткой катаной себя полосуют.
Berlaga
Уже с Приветом
Posts: 1008
Joined: 24 Mar 2010 21:14
Location: SFBA

Re: Задачи для IT интервью

Post by Berlaga »

Pantigalt wrote:Berlaga, а вы какой вариант имели в виду, compile-time или run-time?

Мне давали эту задачу для С++ и, как я понял, подразумевался ответ с шаблонной функцией, т.е. ран-тайм. В те лохматые годы про С++11 мало кто слышал.
helg wrote:Задача, насколько я представляю, не для с++, а для c. И да, в runtime.
А вы знаете ответ для С? Я не знаю. Раскажите, плз.
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Задачи для IT интервью

Post by АццкоМото »

Pantigalt wrote:тут главное знать как надо массив передавать в функцию.

Code: Select all

size_t array_size(T(&t)[N])
а я не знал
Мат на форуме запрещен, блдж!
olis
Уже с Приветом
Posts: 4935
Joined: 02 Mar 2002 10:01
Location: UK

Re: Задачи для IT интервью

Post by olis »

Berlaga wrote:
Pantigalt wrote:Berlaga, а вы какой вариант имели в виду, compile-time или run-time?

Мне давали эту задачу для С++ и, как я понял, подразумевался ответ с шаблонной функцией, т.е. ран-тайм. В те лохматые годы про С++11 мало кто слышал.
helg wrote:Задача, насколько я представляю, не для с++, а для c. И да, в runtime.
А вы знаете ответ для С? Я не знаю. Раскажите, плз.
Здесь такой пример приводят.
http://stackoverflow.com/questions/1601 ... of-in-cint

main ()
{
int arr[100];
printf ("%d", (&arr)[1] - arr);
return 0;
}
Berlaga
Уже с Приветом
Posts: 1008
Joined: 24 Mar 2010 21:14
Location: SFBA

Re: Задачи для IT интервью

Post by Berlaga »

olis wrote:
Berlaga wrote:
Pantigalt wrote:Berlaga, а вы какой вариант имели в виду, compile-time или run-time?

Мне давали эту задачу для С++ и, как я понял, подразумевался ответ с шаблонной функцией, т.е. ран-тайм. В те лохматые годы про С++11 мало кто слышал.
helg wrote:Задача, насколько я представляю, не для с++, а для c. И да, в runtime.
А вы знаете ответ для С? Я не знаю. Раскажите, плз.
Здесь такой пример приводят.
http://stackoverflow.com/questions/1601 ... of-in-cint

main ()
{
int arr[100];
printf ("%d", (&arr)[1] - arr);
return 0;
}
Остроумно! :great:
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Задачи для IT интервью

Post by Мальчик-Одуванчик »

Berlaga wrote:
Мальчик-Одуванчик wrote:
Berlaga wrote:Когда-то давно-давно... еще в той жизни... я работал в месте с "четко сформулированными задачами"... Сторожем подрабатывал, по студенчеству.
А потом я выучился и стал софтверным инженером. :)
В институте вахтером?
А вы говорите "четко сформулированные задачи"... тут вон вопрос четко сформулировать не у всех с первого раза получается. :D
Мне довелось и сторожем и вахтером.
Вахтер - это была должность в организации, именуемой ВОХР. Со своими правилами, дисциплиной, секретностью...
Сторожем тоже нанимали, но там задача была просто следить по ночам чтобы работающее оборудование не сгорело и вовремя выключить. На ВЦ налаживали польские МЕRы и по ночам гоняли тесты чтобы выгорали некачественные микрухи, а студентов нанимали присматривать за этим безобразием.
Last edited by Мальчик-Одуванчик on 05 Nov 2014 21:28, edited 1 time in total.
Pantigalt
Уже с Приветом
Posts: 802
Joined: 24 Jan 2007 07:32
Location: Сергели->Новосибирск->SFBA->Новосибирск->Москва->NY->SFBA

Re: Задачи для IT интервью

Post by Pantigalt »

olis wrote:
Berlaga wrote:
Pantigalt wrote:Berlaga, а вы какой вариант имели в виду, compile-time или run-time?

Мне давали эту задачу для С++ и, как я понял, подразумевался ответ с шаблонной функцией, т.е. ран-тайм. В те лохматые годы про С++11 мало кто слышал.
helg wrote:Задача, насколько я представляю, не для с++, а для c. И да, в runtime.
А вы знаете ответ для С? Я не знаю. Раскажите, плз.
Здесь такой пример приводят.
http://stackoverflow.com/questions/1601 ... of-in-cint

main ()
{
int arr[100];
printf ("%d", (&arr)[1] - arr);
return 0;
}
Ух ты!
Спи быстрее, твоя подушка нужна другому. Copyright Зощенко
helg
Уже с Приветом
Posts: 4827
Joined: 15 May 2001 09:01

Re: Задачи для IT интервью

Post by helg »

Berlaga wrote:
helg wrote:Задача, насколько я представляю, не для с++, а для c. И да, в runtime.
А вы знаете ответ для С? Я не знаю. Раскажите, плз.
int a[10];
int size=(&a)[1]-a;
User avatar
FreemanUSA
Уже с Приветом
Posts: 349
Joined: 24 Jul 2012 23:26
Location: echo RU::US($me);

Re: Задачи для IT интервью

Post by FreemanUSA »

ALV00 wrote:
M. Ridcully wrote:Установлен ли бит <номер вопроса> в номере выигрышного конверта?
Допустим, вы получили 5 "да" и 5 "нет", в любой последовательности. То есть в номере конверта 5 нулей и 5 единиц. Что дальше?

P.S. То есть результат опроса знатока - одно натуральное число x, равное количеству ответов "да". Его надо смапировать на массив 1..1000. То есть количество вопросов никак не может быть меньше 1000.
Нет можно узнать за 20 вопросов по максимуму :D если в дубл уйти, а по минимуму вероятность 9.
emax
Новичок
Posts: 20
Joined: 17 Dec 2013 07:56
Location: SC

Re: Задачи для IT интервью

Post by emax »

FreemanUSA wrote:
Berlaga wrote:
FreemanUSA wrote:Какие-то задачки мрачные во попробуйте http://www.playcast.ru/view/819459/439f ... 9de73291pl в японии пользуют, слышал, если кто пробывал до этого пальцы не гните, а скажите время до решения, у меня 10 минут заняло "без Ютуба" :)
7 минут.
Гы :good: гуд резалт люди днями башку ломают, мой знакомый в уме за 2 минут прошёл я в отпаде был.
Так это классика - волк, крестьянин, коза и капуста. Такие задачки на логику давали 3-5 классе (во всяком случае когда я учился в школе), почти в каждом задачники по математике и логике приводились в том или ином виде. Если голова натренирована на такие задачи, то это и решается за 2-7 минуты - принципы одни и те же.
User avatar
FreemanUSA
Уже с Приветом
Posts: 349
Joined: 24 Jul 2012 23:26
Location: echo RU::US($me);

Re: Задачи для IT интервью

Post by FreemanUSA »

emax wrote: Так это классика - волк, крестьянин, коза и капуста. Такие задачки на логику давали 3-5 классе (во всяком случае когда я учился в школе), почти в каждом задачники по математике и логике приводились в том или ином виде. Если голова натренирована на такие задачи, то это и решается за 2-7 минуты - принципы одни и те же.
Ну и как, у вас голова на тренерована :-)
always_sunny
Уже с Приветом
Posts: 552
Joined: 12 Feb 2013 04:27
Location: SFBA

Re: Задачи для IT интервью

Post by always_sunny »

Berlaga wrote:Есть подраздел Головоломки, то я хочу все таки что-то попроще и более приближенного к IT сфере. То, что можно спросить на интервью и понять, как кандидат думает и думает ли он вообще.

Например.
Программист преследует Вора, который пытается скрыться в пещере. Пещера представляет собой 3 туннеля одинаковой длины, расходящихся из небольшой комнаты под углом 60гр к друг другу и заканчивающихся тупиком. В пещере темно, и Программист может разглядеть Вора только с расстояния не более 10м. Скорость Программиста в два раза больше скорости Ворв. При какой максимальной длине туннеля Программист может гарантированно поймать Вора за конечное время?
Что скажете, Умы? :)
Программист может забарикадировать 2 из 3 туннелей.Проверить первый, если вора нет, открыть второй и проверить , если вора и там нет, то он в третьем туннеле.
Pantigalt
Уже с Приветом
Posts: 802
Joined: 24 Jan 2007 07:32
Location: Сергели->Новосибирск->SFBA->Новосибирск->Москва->NY->SFBA

Re: Задачи для IT интервью

Post by Pantigalt »

always_sunny wrote:
Berlaga wrote:Есть подраздел Головоломки, то я хочу все таки что-то попроще и более приближенного к IT сфере. То, что можно спросить на интервью и понять, как кандидат думает и думает ли он вообще.

Например.
Программист преследует Вора, который пытается скрыться в пещере. Пещера представляет собой 3 туннеля одинаковой длины, расходящихся из небольшой комнаты под углом 60гр к друг другу и заканчивающихся тупиком. В пещере темно, и Программист может разглядеть Вора только с расстояния не более 10м. Скорость Программиста в два раза больше скорости Ворв. При какой максимальной длине туннеля Программист может гарантированно поймать Вора за конечное время?
Что скажете, Умы? :)
Программист может забарикадировать 2 из 3 туннелей.Проверить первый, если вора нет, открыть второй и проверить , если вора и там нет, то он в третьем туннеле.
А не проще ли было бы тогда просто ждать пока Вор с голода сам не приползет?
Спи быстрее, твоя подушка нужна другому. Copyright Зощенко
Berlaga
Уже с Приветом
Posts: 1008
Joined: 24 Mar 2010 21:14
Location: SFBA

Re: Задачи для IT интервью

Post by Berlaga »

Pantigalt wrote:
always_sunny wrote:
Berlaga wrote:Есть подраздел Головоломки, то я хочу все таки что-то попроще и более приближенного к IT сфере. То, что можно спросить на интервью и понять, как кандидат думает и думает ли он вообще.

Например.
Программист преследует Вора, который пытается скрыться в пещере. Пещера представляет собой 3 туннеля одинаковой длины, расходящихся из небольшой комнаты под углом 60гр к друг другу и заканчивающихся тупиком. В пещере темно, и Программист может разглядеть Вора только с расстояния не более 10м. Скорость Программиста в два раза больше скорости Ворв. При какой максимальной длине туннеля Программист может гарантированно поймать Вора за конечное время?
Что скажете, Умы? :)
Программист может забарикадировать 2 из 3 туннелей.Проверить первый, если вора нет, открыть второй и проверить , если вора и там нет, то он в третьем туннеле.
А не проще ли было бы тогда просто ждать пока Вор с голода сам не приползет?
Можно еще газ пустить. :)
always_sunny
Уже с Приветом
Posts: 552
Joined: 12 Feb 2013 04:27
Location: SFBA

Re: Задачи для IT интервью

Post by always_sunny »

Pantigalt wrote:
always_sunny wrote:
Berlaga wrote:Есть подраздел Головоломки, то я хочу все таки что-то попроще и более приближенного к IT сфере. То, что можно спросить на интервью и понять, как кандидат думает и думает ли он вообще.

Например.
Программист преследует Вора, который пытается скрыться в пещере. Пещера представляет собой 3 туннеля одинаковой длины, расходящихся из небольшой комнаты под углом 60гр к друг другу и заканчивающихся тупиком. В пещере темно, и Программист может разглядеть Вора только с расстояния не более 10м. Скорость Программиста в два раза больше скорости Ворв. При какой максимальной длине туннеля Программист может гарантированно поймать Вора за конечное время?
Что скажете, Умы? :)
Программист может забарикадировать 2 из 3 туннелей.Проверить первый, если вора нет, открыть второй и проверить , если вора и там нет, то он в третьем туннеле.
А не проще ли было бы тогда просто ждать пока Вор с голода сам не приползет?
Так там же есть конечное время, а без еды можно несколько дней просидеть :)
Про слезоточивый газ я тоже подумала :)

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