130 / 70 / 25
Регистрация: 20.03.2014
Сообщений: 261
|
|||||||||||||||||||||||||||||||||||||||||
1 | |||||||||||||||||||||||||||||||||||||||||
Проверить корректность реализации нескольких задач11.07.2014, 18:40. Показов 1767. Ответов 19
Метки нет (Все метки)
Добрый вечер всем.
Вопрос относиться к опытным программистам С++. Вопрос такой. Я хотел устроится на вакансию Junior Developer C++, мне прислали тестовые задания: Кликните здесь для просмотра всего текста
Задача 1. Кликните здесь для просмотра всего текста
1. Распечатать произвольное число в двоичной системе исчисления. Описание. Написать функцию, принимающую на вход произвольное целочисленное значение и возвращающую строку, содержащую его представление в двоичной системе исчисления. Декларация.
Ожидаемый результат. Например, для числа 13 данная функция должна вернуть строку "1101". Проверка работы. Решение должно демонстрировать работу функции на примере 10 случайных чисел в диапазоне 0 до 512. Задача 2. Кликните здесь для просмотра всего текста
2. Сгенерировать неупорядоченный массив целых чисел от 1 до N. Описание. Написать функцию, принимающую на вход произвольное целочисленное значение и возвращающую массив, содержащий последовательность чисел от 1 до этого значения, в котором каждое число последовательности находится в заведомо случайной позиции. Декларация.
Например, 2 последовательных запуска данной функции с параметром 7 могут сгенерировать последовательности вида {2, 5, 7, 3, 4, 1, 6} {5, 1, 3, 4, 6, 2, 7} Проверка работы. Решение должно демонстрировать работу функции на примере 4 случайных чисел в диапазоне от 5 до 15. Задача 3. Кликните здесь для просмотра всего текста
3. Сортировка массива. Описание. Написать функцию, принимающую в качестве параметра массив неупорядоченных целых чисел (сгенерированный с помощью функции из задачи 2) и выполняющую его сортировку. Декларация.
Например, массив вида {2, 5, 7, 3, 4, 1, 6} будет преобразован данной функцией в {1, 2, 3, 4, 5, 6, 7}. Проверка работы. Решение должно демонстрировать работу функции на примере результатов, полученных при решении задачи 2 (последовательностей, сгенерированных для 4 случайных чисел в диапазоне от 5 до 15). Задача 4. Кликните здесь для просмотра всего текста
4. Определить недостающее число в неупорядоченной последовательности целых чисел. Описание. Написать функцию, принимающую в качестве параметра массив неупорядоченных целых чисел (сгенерированный с помощью функции из задачи 2) и определяющую значение последнего элемента в массиве без доступа к нему. Декларация.
Например, для последовательности {5, 7, 8, 3, 1, 9, 2, 6, 4} данная функция должна вернуть 4. Проверка работы. Решение должно демонстрировать работу функций на примере результатов, полученных при решении задачи 2 (последовательностей, сгенерированных для 4 случайных чисел в диапазоне от 5 до 15). Вот мои решения: Кликните здесь для просмотра всего текста
Задача 1. Кликните здесь для просмотра всего текста
Задача 2. Кликните здесь для просмотра всего текста
Задача 3. Кликните здесь для просмотра всего текста
Задача 4. Кликните здесь для просмотра всего текста
Сначала ответели что просто не прошел тест. Я потом добивался более внятного ответа и Мне вот что ответили: Судя по отчету по вашему заданию, могу сказать, вот что: первая задача построена нелогично, вторая задача у вас не работает, третья и четвертая не оптимальны. Скриншот консоли: Согласен что в 3-й задаче я психанул и отсортировал всё пузырьком, тут мои грабли. В 4-й задаче я выбрал между нагрузгой на ОЗУ(использование ещё одного массива) и нагрузкой на ЦПУ, выбрал ЦПУ, тоже возможно не прав. Я бы хотел что бы знающие люди мне подсказали пути дальнейшего развития, более конкретно указали какие стороны С++ подтянуть, я из этих заданий не вижу, возможно мало опыта потому что.
1
|
11.07.2014, 18:40 | |
Ответы с готовыми решениями:
19
Метод хорд - проверить корректность реализации кода Простой консольный конвертер валют - проверить корректность реализации Проверить корректность реализации класса Delegate- проверить корректность реализации кода |
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
11.07.2014, 18:49 | 2 |
На форуме уже был разбор точно таких же заданий. Тестовое задание на Junior C++ dev
2
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
11.07.2014, 19:18 | 3 |
А я вот одного не пойму. Это тесты по C++, а люди пишут ответы на Си. В условии вроде бы не сказано, что STL нельзя использовать. Может быть их за незнание STL и бракуют?
1
|
54 / 3 / 2
Регистрация: 17.05.2014
Сообщений: 72
|
||||||
11.07.2014, 19:29 | 4 | |||||
Я бы первую задачу решил бы примерно так:
1
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
11.07.2014, 19:35 | 5 |
Из постановки задачи ясно, что требуется знание не библиотеки, а тривиальных алгоритмов. Иначе было бы оговорено специально. Задания решены либо неправильно, либо неоптимально, а массив там или вектор - непринципиально.
1
|
22 / 19 / 6
Регистрация: 24.12.2012
Сообщений: 435
|
|
11.07.2014, 19:43 | 6 |
Горелый, можешь кинуть сайт этой компании? Уж больно хочется попробовать )
1
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
11.07.2014, 19:48 | 7 |
Так в том-то и дело, что в задании нет никаких специальных указаний, а все что не запрещено, то разрешено.
1
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
11.07.2014, 19:51 | 8 |
Наивное переписывание на stl не гарантирует корректность и оптимальность получившегося кода.
1
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
11.07.2014, 19:54 | 9 |
1
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
11.07.2014, 20:00 | 10 |
Если не стоять на формальной ноге, а руководствоваться здравым смыслом, то задание с исходным данным в виде массива, подразумевающее его сортировку вызовом стандартной функции - само по себе глупо.
Добавлено через 1 минуту Не по теме: А вообще, эти задания - уровень не джуниора, а скорее уровня контрольной в школе.
1
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
11.07.2014, 20:07 | 11 |
Ну вы все-таки какими-то своими интуитивными предположениями оперируете, но так как нет в задании никаких указаний, то они недоказуемы.
Давайте все-таки будем взаимно вежливы, не стоит в наших "высокоумных и глубоко теоретических" дискуссиях переходить на личности.
1
|
0x10
|
11.07.2014, 20:10
#12
|
Не по теме: Mr.X, да я не перехожу вроде. Ок, проехали.
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
11.07.2014, 20:29 | 13 |
А почему прототипы не соответствуют? В задании просто указатели.
1
|
130 / 70 / 25
Регистрация: 20.03.2014
Сообщений: 261
|
|
11.07.2014, 20:57 [ТС] | 14 |
Использовал ссылки на указатели что бы выделение памяти поместить в сам метод.
Например для первой задачи каким образом вернуть строку через параметр. Да, прочитав ветку форума по ссылке из первого ответа вижу что нужно ещё подучить матчасть. Добавлено через 41 секунду Компания G5 Entertaiment.
2
|
130 / 70 / 25
Регистрация: 20.03.2014
Сообщений: 261
|
|
13.07.2014, 02:43 [ТС] | 16 |
Jupiter, согласен.
Моё решение было аргументированно тем что туда могут передать буфер меньшей длинны чем требуется. Мало опыта, буду учится.
1
|
kylroma
|
|||||
13.07.2014, 17:30
#18
|
|||||
Не по теме: где такие задания дают? Мне вот сказали "изложить свои мысли в свободной форме" что делает этот код%-): Кликните здесь для просмотра всего текста
0
|
29 / 29 / 4
Регистрация: 29.09.2009
Сообщений: 177
|
||||||
13.07.2014, 17:37 | 19 | |||||
Я кажется тоже делал эти тесты:
1
|
Комп_Оратор)
|
|||||||||||
13.07.2014, 20:23 | 20 | ||||||||||
Горелый, здравствуйте.
Посмотрел 2 задание и не понял как генерятся случайные числа. Вот тут:
А демострация на 4-х случайных значениях (подразумевается не совпадающих же?) Может я и не понял задания, да и пишу я слабо (мягко говоря), но вот что мне показалось:
1
|
13.07.2014, 20:23 | |
13.07.2014, 20:23 | |
Помогаю со студенческими работами здесь
20
Проверить корректность реализации динамического массива Проверить корректность реализации односвязного списка Ряд Тейлора - проверить корректность реализации Класс Avtomobil - проверить корректность реализации кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Блоги программистов | |||||
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(асихронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения
PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
|
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
|
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
|
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9
Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
|
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
wget. . .
|
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin.
Есть ещё регистры,. . .
|
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps
Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
|