Как подготовиться к поступлению

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

1 этап - онлайн тестирование

Смотрите примеры вопросов для каждого раздела теста.

В тестировании "Основы веб-технологий" будет 4 части: HTML/CSS, SQL, Python, сетевые протоколы.

  1. В каких CSS селекторах допущена ошибка?
    • div.wrapper
    • div .wrapper
    • div...wrapper
    • div(.wrapper)
    • div #wrapper
  2. Необходимо вывести 10 пользователей с наибольшим рейтингом, в случае одинакового рейтинга пользователи сортируются по нику (в порядке возрастания). Какие SQL запросы позволяют решить эту задачу?
    SELECT * FROM users ORDER BY rating, nick ASC LIMIT 10
    SELECT * FROM users ORDER BY rating DESC, nick ASC LIMIT 10
    SELECT * FROM users ORDER BY rating, nick LIMIT 10
    SELECT * FROM users ORDER BY rating DESC, nick LIMIT 10
    SELECT * FROM users ORDER BY rating ASC, nick DESC LIMIT 10
  3. Каков результат исполнения следующего кода на языке Python?
    import bisect
    a = sorted([1, 3, 2, 1, 5, 1, 3])
    print bisect.bisect_left(a, 2)
    
  4. Какие IP-адреса относятся к локальной сети?
    • 127.0.0.1
    • 127.0.1.0
    • 192.168.0.1
    • 192.168.1.0
    • 8.8.8.8
  1. Какое максимальное количество вершин может иметь бинарное дерево высотой 10? Высота дерева из 1 узла равна 1.
    • 10
    • 9
    • 1024
    • 1023
  2. Дан массив невозрастающих целых чисел. Как следует дополнить программу, чтобы она нашла минимальную позицию элемента, меньшего значения ключа?
    int find(int *a, int begin, int end, int key) {
        if (begin == end) return begin;
        int middle = (begin + end) / 2;
        if ( /* code here */ ) {
            end = middle;
        } else {
            begin = middle;
        }
    }
    		                            
    key < a[middle]
    key <= a[middle]
    key > a[middle]
    key >= a[middle]
  3. Что напечатает программа в 5 строке?
    int a = 2;
    int b = 3;
    for (int i = 0; i < 10; ++i) {
        int c = a + b;
        a = b;
        b = c;
        printf("%d\n", b);
    }
    		                            
    • 34
    • 35
    • 55
    • 89
    • 21
  1. Какая из команд покажет LoadAvg?
    • sysload
    • cat /proc/load_averages
    • uptime
    • sysinfo
    • iostat
    • sysstat
    • ps -l
  2. Какая из этих команд меняет владельца файла?
    • chsh
    • chown
    • ps
    • chmod
  3. Как сменить каталог на домашний?
    • cd ~
    • cwd ~
    • gohome
    • cd $HOME
  1. В какой строке (строках) программы на C++ ошибка?
    int f1() {
        char ch, ch1 = 'a', ch2 = 'b', ch3 = 'c';
        ch = ch1 + ch2 + ch3;
        f1 = int(ch);
        return f1;
    }
    
    • 1 и 3
    • 1, 3, 4 и 5
    • 4 и 5
  2. Какая из операций не является бинарной?
    • A – B
    • A + B
    • A ^ 2
    • A * B
    • –А
  3. Какая из приведённых рекурсивных функций sum вычисляет сумму целых чисел от start до end?
    • if (end == start) return 1;
      else return end + sum(start, end – 1);
    • if (end == start) return start;
      else return end + sum(start, end – 1);
    • if (end >= start) return 0;
      else return end + sum(start, end – 1);
  1. Какая команда загружает репозиторий с удаленного сервера?

2 этап - очное собеседования

  1. Опишите возможную программную и аппаратную архитектуру одного из типовых высоконагруженных web-сервисов. Какие технологии и языки программирования целесообразно использовать на front и back-end сервиса? Какие СУБД и почему Вы рекомендуете использовать? Какие способы оптимизации работы под нагрузкой можно применить и в каких случаях?

Книги для подготовки:

  1. Алгоритмы. Построение и анализ, Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн
  2. Язык программирования C, Брайан У. Керниган, Деннис М. Ритчи
  3. Приемы объектно-ориентированного проектирования. Паттерны проектирования, Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес
  4. Математическая логика. Введение в математическую логику. Учебное пособие, Андрей Колмогоров, Альберт Драгалин
  5. Математическая логика и теория алгоритмов, Владимир Крупский, Валерий Плиско
  6. Конспект лекций по высшей математике. В 2 частях, Дмитрий Письменный
  7. Unix и Linux. Руководство системного администратора, Эви Немет, Гарт Снайдер, Трент Р. Хейн, Бэн Уэйли
  8. Изучаем Python, Марк Лутц
  9. Язык программирования Python, Р.А. Сузи
  10. http://htmlbook.ru/
  11. SQL для простых смертных, Мартин Грабер