Подведение итогов конкурса самых странных заданий на собеседованиях

от автора

Настало время подвести итоги конкурса, который был в статье "Программисты, ходите на собеседования". Условия конкурса были следующие: привести пример самого необычного задания, которое было на вашем собеседовании. Пришло время подвести итоги конкурса и провести финальное голосование! Поехали!

Задание, которое прислали читатели

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

1. Пользователь с ником jakushev привёл два задания (первое и второе).
Первое задание:

Ну, не знаю, на сколько интересное, но абсолютно глупое задание:«Написать „Hellow, World!“ без единой ‘;’ ». На Си.

Второе задание:

На «бареметалл» еще такое любят: Есть очень простой контроллер, с минимальным ОЗУ, допустим, PIC16F873, он «нюхает» RS-485. По интерфейсу передается пакет, состоящий из 32х битных чисел. Формат, начало и конец пакета известны, известно, что каждое число передается четное количество раз. Так же известно, что канал 100% надежен. А поток может быть ОЧЕНЬ длинный. Но 1 число из выборки передается нечетное количество раз. Как его найти?

2. Пользователь с ником nick758 привёл следующую задачу:

Задачка с собеседования. Что выведет программа? Решить без запуска. В тексте незначительные ошибки, чтобы сразу не скомпилировалось.

Самая наркоманская задачка такого рода из тех, что я видел.

float bon_jovi[4][4]=  { {0,   2,    0.5,   2},    {1,   3,    3 ,    0},    {2,   0.5,  0,     1},    {0,   0,    0,     0}  }  #define FIRST_SONG 3 #define LAST_SONG 1 #define CD 0 #define ARTIST 1  void f(float *p, int jazz, int hiphop) {   int high_rating=0;   int low_rating=high_rating   int music;   float sum=0.0;    for (music = jazz; music <= hiphop; music++)   {       sum += *(p++)       if ( p[music])         high_rating++;       else         ++low_rating   }    p--;   sum += *(--p)    printf("%d %d %f", high_rating, low_rating, sum) }  int main() {   f(&bon_jovi[CD][ARTIST], LAST_SONG, FIRST_SONG)    return 0; }

3. Пример с собеседования от пользователя VolCh
:

  • интерпретатор простого ЯП (подмножество паскаль кажется): переменные, арифметика,
  • задача на выявление рассинхронизации тактовых генераторов двух компьютеров с вымышленными(?) архитектурой и ассемблером с простейший одноранговой сеткой, скорее даже прямым соединением
  • удалённый лайвкодинг: написать и поднять простой CRUD на symfony без генераторов в докере (не помню Докер условием был или сам решил)
  • нарисовать грубую модель предметной области jira, нарисовать схему сервисов: серверы, сторы, очереди, СУБД и т. п.

4. Пользователь iamdev95 привёл занимательную задачку:

Есть два регистра: R1 и R2
Есть две команды:
C1: R1 := K*R2 — R1
C2: R2 := K*R1 + R2
Есть целевое число N
На входе: K, N, R1, R2
Нужно: распечатать минимальную последовательность из команд, позволяющую получить N в R1 или в R2 (в любом из двух регистров)
Либо напечатать ничего
Известно, что K != 0, R1 != R2, K, R1, R2 — натуральные, N — целое.

5. Шуточная (но вполне реальная) задача от vadim_bv

Задача из физтеховской шутки «решала вся кафедра, но к экзамену решила»: Отсортировать 8-терабайтный массив байтов.

В ваших силах определить победителя! Голосуем за самое интересное задание на интервью. По результатам голосования победитель получит интересный приз! Результаты голосования подведём в воскресенье 11 октября.

ссылка на оригинал статьи https://habr.com/ru/company/ruvds/blog/521794/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *