1 | |||||||||||||||||||||
Тестовое задание на Junior C++ dev26.07.2013, 18:40. Показов 57886. Ответов 65
Метки нет (Все метки)
Доброго времени суток.
Неделю назад ради интереса отправил свое резюме в одну компанию, куда требуются с++ юниоры. Получил от них тестовое задание. Я ожидал, что они мне откажут (опыта то у меня действительно мизер), но хотелось бы узнать у более опытных людей, какое решение задач "ожидает" компания от соискателя для продолжения с ним отношений. Далее идет 4 задачи и мой вариант решения каждой из них.
0
|
26.07.2013, 18:40 | |
Ответы с готовыми решениями:
65
Тестовое задание надолжность Junior C++ gamedev Тестовое задание Тестовое задание Тестовое задание от компании Exness |
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
26.07.2013, 20:25 | 21 |
Мимино, можем пройтись по битам целого числа и не начинать запись в строку до тех пор, пока не встретим первую единицу.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
26.07.2013, 20:33 | 23 | |||||
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
26.07.2013, 20:34 | 24 |
Кастую в тред кого-нибудь умного, кто скажет, что рекурсия всегда хуже, когда возможна итерация)
Добавлено через 47 секунд
0
|
26.07.2013, 20:34 [ТС] | 25 |
Нашел тему Перемешивание массива. Чем плох мой вариант? Я не использовал STL? Да, это большой минус, но... в требованиях к кандидату говорится, что знание STL это только дополнительное преимущество, а не требование.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
26.07.2013, 20:34 | 26 |
0x10, Зависит от требований эффективности, логичности все же. qsort например итеративно писать несколько сложнее, чем рекурсивно. Или обход дерева.
0
|
26.07.2013, 20:45 [ТС] | 27 |
И все же, как по вашему, в чем же у меня такой минус, что даже на собеседование не позвали? Сильно заметно по коду, что я зеленый-зеленый? Или есть какие то недопустимые ошибки в решении задач?
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
26.07.2013, 21:12 | 28 |
Да. Но в общем случае, полагаю, о рекурсии стоит задумываться в последнюю очередь.
Хотя бы тем, что тут она не нужна) слишком жирно тратиться на вызов функции для такой простой задачи. Плюс, битовые операции в помощь. Сейчас просто набросал эту функцию - получилось 23 строки, из которых 12 - фигурные скобки и пустые строки. Не думаю, что это слишком громоздко. Не в stl дело, а в самом алгоритме) Я допускаю, что возможно несколько реализаций, но лично мне ближе рассматривать такую функцию как предельный случай выборки без повторений, когда размер выборки равен размеру массива. Ну и два рандома для одной операции - это в принципе не очень хорошо, поскольку числа все-таки он генерирует псевдослучайные. Добавлено через 7 минут Мимино, про перемешивание... Это, конечно, крайний и не особо возможный случай, но представьте, что генератор тупит и всегда выдает константу. Тогда по завершению цикла массив вообще не перемешается. Добавлено через 7 минут Хотя с последним уже меня заносит - такие случаи вообще не имеет смысла рассматривать.
1
|
26.07.2013, 21:14 [ТС] | 29 |
Но требований то никаких не ставилось Вот в других компаниях требования четко стоят: сделать рекурсивно или сделать итеративно... или просят реализовать алгоритм определенной сложности... А тут делай как хочешь, а мы потом посмотрим Вот поэтому у меня и возник вопрос: посмотрев на это действительно можно понять, что я не гожусь даже в подмастерье? И если да, то по каким критериям. Критерии мы обсудили, но вопрос в том, достаточно ли их для принятия решения об отказе? У кого опыт в этом деле есть?
0
|
88 / 83 / 21
Регистрация: 08.08.2012
Сообщений: 737
|
|
26.07.2013, 21:15 | 30 |
а что стандартную библиотеку нельзя было использовать?
там некоторые задания на 5 строчек кода.
0
|
26.07.2013, 21:20 | 32 |
В первой задаче от вас ожидали работу с битами памяти с красивым алгоритмом, а может и не одним, во второй это модификация сортировки выбором в один цикл, а вы намудрили, конечно, в четвертой банально вычислить
. Да и программы нечетабельны, конечно, тоже, наверное, бросилось в глаза.
1
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
26.07.2013, 21:28 | 37 |
Мало ли как у них форматирование в письме ползет) Да и за подчеркивания уже был тут им выговор)
0
|
26.07.2013, 21:35 [ТС] | 38 |
Я вот поэтому и хочу устроиться куда нить в подмастерье, чтобы руку набить. Самостоятельное изучение и решение тонн задач не заменит живую практику.
Всем спасибо, ошибки учел, буду работать над собой
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||
26.07.2013, 21:50 | 39 | |||||
на что я смотрю:
сперва поверхностно. тут на первом плане форматирование кода. в целом аккуратненько. но int ind1, ind2, tmp; переменные желательно юзать поближе к месту, где они понадобились. и инициализировать. не экономте на строчках. глазу сложнее выцепить из кода место появления переменной, если они вот так в куче. while (_values[i] < p) i++; - то же самое. условие цикла и тело в одной строке. неудобно читать, неудобно дебажить. далее увидел new int *result = new int[maxValue]; тут имеем возможность получить утечку. всегда используйте RAII. отсутствует проверка входных данных. есть потенциальные обращения по нулевому укзателю, и деление на ноль. не использование STL считаю минусом.
Задания дурацкие, мало что по ним можно понять о кандидате. отказать могли по разным причинам, не обязательно из-за кода.
0
|
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
26.07.2013, 22:11 | 40 | |||||
1, 2 и 4 в кратце решил бы так:
1
|
26.07.2013, 22:11 | |
26.07.2013, 22:11 | |
Помогаю со студенческими работами здесь
40
ООП. Тестовое задание собеседования. Тестовое задание для трудоустройства Небольшое тестовое задание в финской компании. Тестовое задание от работадателя. Хотелось бы услышать критику. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |