Недавно мне написал рекрутер и сказал, что его клиент ищет программиста с моими навыками, но для получения работы мне нужно написать тест. Я говорю - ну ладно, без проблем напишу. Мне присылают тест из трёх заданий. Я все их точно не помню но одно кажется было - найти все натуральные числа в диапазоне. Казалось бы, вполне классическая задача, решение которой можно найти в интернете без проблем, но тут же приписано, что я должен это сделать на Transact-SQL.
Я даже не стал заморачиваться и писать этот тест, просто подобного я даже не встречал. Но задание вполне интересное и если кто-то хочет решить, то интересно было бы увидеть, как бы ты это сделал?
Интересно еще твое мнение, что ты думаешь о таком задании и что оно говорит о том программисте, которого тестируют.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
задача очень проста в решении
сделано через Хранимку
месяц назад решил такую задачу. через Процедуру. показать код?
-- Тут тебе и в консольку вывод и если нужно в таблицу с последующим селектом. Вывод для примера до 50
CREATE TABLE #Numbers(
[id] [int] IDENTITY(1,1) NOT NULL,
[Number] [int] NOT NULL
)
GO
DECLARE
@i INT,
@a INT
SET @i = 50
SET @a = 1
WHILE (@a <= @i)
BEGIN
PRINT @a
INSERT INTO #Numbers (Number) VALUES (@a)
SET @a = @a + 1
END
GO
SELECT Number FROM #Numbers
GO
DROP TABLE #Numbers
-- Ну или для совсем ленивых
CREATE TABLE #Numbers([id] [int] IDENTITY(1,1) NOT NULL)
GO
INSERT INTO #Numbers default values
GO 50
SELECT ID FROM #Numbers
GO
DROP TABLE #Numbers
GO
Чушь собачья такие задания. Помню собеседовался в конторе которая использует для работы исключительно CMS, с нуля сами не делают. Пишут, как я понял, чисто сайты. Собеседование было тупо по основам .NET и C#, я бы на эти вопросы ответилбы даже до того как начал работать с C#. Просили показать пример когда, я прислал тестовое задание за пару дней до собеседование которое когда-то делал в другую контору на Entity Framework, async/await, ASP.NET MVC, WebAPI, AngularJS, Bootstrap, но им этого было мало, сразу после собеседования впарили 3 мини задания ещё - одно посчитать факториал, второе что-то вроде валидации числа, а третье было более математическим надо было понять что делает код, я в итоге не понял, так как не спец в математике, в ответе на задание сказали, что оно делает "Values are the same but the distribution is changed". Так вот вопрос нафиг было давать дополнительные задания, если я прислал тестовое неплохое, отлично отвечал на вопросы, ещё и вопросы с математикой от людей которые вообще кроме своих CMS ничего не используют, наверное без них сами и сайт не напишут. В общем в итоге они предложили работу, но я отказался.
По идее, рассчитано на знание SQL (вполне возможно, что у той компании много всяких legacy БД с кучей хранимых процедур и т.п.).
А вообще, задание классное. И есть возможность его не просто сделать, а выпендриться перед потенциальным работодателем, например, задействовав хак конкретной СУБД, который сгенерирует числа без лишних усилий (это как вычислять факториал в C++ на этапе компиляции...). Но даже если придеться писать свою функцию, то можно не просто накодить, но и сделать проверки на граничные значения, написать тесты для функции (на Python, к примеру), и все это запускать на In-Memory БД.
Судя по всему вся фича в использовании функций и процедур из-за их возможности поддержки циклов. А дальше почти тоже самое как на других языках.
Это задачка на хорошее знание циклов, хотя доводилось видеть на sql вывод фрактала мандельброта. Возникает лишь вопрос. А зачем оно надо?
Если программист, которого тестируют успешно справился с заданием, то вероятно он недавно закончил учебное заведение и помнит свойства натуральных чисел, а если не справился, то "школьные задачки" для него в далеком прошлом и если бы он открыл справочник по математике, то тоже скорее всего бы справился. Ценность этого задания - никакая. И вообще все эти тесты являются проявлением недоверия к опыту работы соискателя, если он у него конечно есть. Ну а если нет, то можно и потестировать. Сколько у нас к конторе не пытались проводить тесты для соискателей никто не мог в полной мере ответить на большинство вопросов. Вероятно из-за стресса и академического характера такого подхода. Однако испытательный срок эту погрешность всегда исправляет. Кто-то уходил, а кто-то вполне успешно работал долгое время, несмотря на то, что тест то он прошел не особо хорошо.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.