Previous Entry Share Next Entry
Задания для кандидатов Internship Program 2010
cqg_ukraine
Желающим пройти обучение в Киевском офисе CQG необходимо выполнить 1 из предложенных заданий. Выполненное задание (вместе с резюме) необходимо выслать на mariac@cqg.com. Если результаты инспекции будут положительными, Вас пригласят на техническое интервью, результаты которого станут решающими для присвоения звания "студента". Удачи!

1. Азбука Морзе

Разработайте программу для декодирования азбуки Морзе.

На вход программы подается код азбуки Морзе с удаленными разделителями, который кодирует одно или несколько английских слов. Одним и тем же кодом могут быть представлены разные слова. Восстановите слово (слова) по коду.

Например, код -..- может кодировать последовательности TEA (-|.|.-), DT (-..|-), NA (-.|.-) и X (-..-) и другие, однако, только TEA является словом.

http://en.wikipedia.org/wiki/Morse_code

2. Проверка сложности пароля

Разработайте программу для оценки сложности пароля, вводимого для защиты финансовой информации (например, доступ к аккаунту в интернет-магазине).

На вход подается список паролей (plaintext). Программа должна оценить сложность каждого пароля по одному или нескольким алгоритмам. Алгоритмы разрабатываются тез строгого ТЗ, руководствуясь здравым смыслом. Например, алгоритмы могут проверять на
  • Длину пароля
  • Совпадение со словарем ( вариации, набор в другой раскладке, translit ...)
  • Цепочки букв на клавиатуре
  • ...
3. Арифметика длинных чисел

Разработайте программу для выполения сложения, вычитания и умножения целых чисел произвольной разрядности. Разрядность чисел ограничена количеством памяти, доступной приложению.

На вход программе даются целые числа записанные в десятичной системе счисления и знаки арифметических операций (' ', '-', '*'). Программа должна вывести результат введённого выражения.

Предусмотреть ввод данных с клавиатуры и из файла.

Например, программа должна уметь умножить 123 456 789 123 456 789 на 321 654 987 321 654 987.

4. Календарь

Вы - молодой, энергичный человек, которому приходится выполнять множество дел в один день одновременно. Возможно, некоторые из них вы бы хотели перенести или отменить. Но как узнать, какие именно?

Задача: во входном файле перечисляются варианты Ai, Bi, Ci (i = 0..N), где N - количество строк в файле, Ai - время начала дела (HH:MM), Bi - время конца дела (HH:MM), Ci - название дела (в одинарных кавычках). Необходимо вывести все возможные варианты пересечения дел во времени.

Пример 1
Входной файл 'input.txt'
8:00 15:00 'University'
12:00 13:00 'Going to CQG'
13:00 18:00 'Working'
18:00 19:00 'Going home'
19:00 20:00 'Prepairing supper'
19:30 20:00 'Call my girlfriend'
20:00 22:00 'Having supper'
20:00 22:00 'Watching film'

Выходной файл 'output.txt'
12:00 13:00 'University' 'Going to CQG'
13:00 15:00 'University' 'Working'
19:30 20:00 'Prepairing supper' 'Call my girlfriend'
20:00 22:00 'Having supper' 'Watching film'


Пример 2
Входной файл ‘input.txt’
12:00 13:00 ‘task 1’
12:30 13:30 ‘task 2’

Выходной файл 'output.txt'
12:30 13:00 ‘task 1’ ‘task 2’


  • 1

Привет из Еревана :)

Номер 3 можно просто списать из книги Кнута.. Хотя если интерн знает что это такое, и где именно там искать, его уже можно на интервью звать :))

Re: Привет из Еревана :)

Мы тоже так думаем :)

Re: Привет из Еревана :)

Ничего если мы ваши задачки позаимствуем если что ? :)))

Re: Привет из Еревана :)

В почту напишу

Re: Привет из Еревана :)

Салямки, да! :-)
Хорошие задачки, на интервью можно давать :)

  • 1
?

Log in

No account? Create an account