C# онлайн: редактор и компилятор для собеседований

Пишите и запускайте программы на C# прямо в браузере, без установки Visual Studio и .NET SDK: код компилируется на сервере, ошибки и вывод видны сразу. Для собеседования откройте общую сессию и отправьте ссылку кандидату. Бесплатно и без регистрации.

Открыть редактор C#
Бесплатно, без регистрацииКак провести лайвкодинг-собеседование на C#Совместный редактор кода: сравнение сервисов

Пример кода

using System;
using System.Linq;

public class Program
{
    public static void Main()
    {
        int[] nums = { 3, 8, 1, 9, 4 };
        var evens = nums.Where(n => n % 2 == 0).OrderBy(n => n);
        Console.WriteLine(string.Join(", ", evens));
        Console.WriteLine(nums.Max());
    }
}

Вывод

4, 8
9

Что умеет редактор

  • Mono 6.12: программа компилируется и выполняется на сервере в изолированной песочнице, ошибки компиляции и вывод видят все участники.
  • LINQ и коллекции под рукой: List, Dictionary, HashSet, Queue, Stack и методы Where, Select, GroupBy.
  • Совместное редактирование в реальном времени: до 5 участников в одной сессии, правки и курсоры видны сразу.
  • Условие задачи пишется в Markdown прямо в сессии, рядом с кодом.
  • Банк задач открыт без входа. После бесплатного входа — свои задачи, режим интервью с таймерами, оценка кандидата и история собеседований.

Как провести собеседование

  1. Нажмите «Провести собеседование» — сессия создастся с примером программы, его можно заменить своей задачей.
  2. Опишите условие в Markdown и отправьте ссылку кандидату: регистрация ему не нужна.
  3. Попросите кандидата проверять решение вызовами из Main и выводом через Console.WriteLine. Входные данные задавайте в коде или в поле «Ввод (stdin)» над выводом — его видят все участники.

Типичные задачи на собеседовании

  • Найти пару чисел с заданной суммой через Dictionary за O(n) и сравнить с двойным циклом.
  • Сгруппировать заказы по клиенту через LINQ GroupBy и посчитать сумму по каждому.
  • Объяснить разницу между class и struct: где живут данные и что копируется при передаче в метод.
  • Реализовать IEnumerable через yield return и показать, когда выполняется ленивый код.
  • LRU-кэш на Dictionary и LinkedList с операциями Get и Put за O(1).
  • Проверить правильность скобочной последовательности через Stack<char>.

Ограничения

  • Автотестов для C# пока нет — проверяйте решение вызовами из Main и выводом.
  • Код компилирует Mono, а не .NET 8: самые новые возможности языка могут не поддерживаться. Объявляйте класс с методом Main.
  • Доступна только стандартная библиотека: пакеты NuGet не подключаются.
  • Компиляция ограничена 10 секундами, запуск — 3 секундами и 64 КБ вывода.

Частые вопросы

На чём выполняется C#?
На Mono 6.12. Программа компилируется и запускается на сервере, поэтому результат одинаков у всех участников.
Можно ли подключить пакет NuGet?
Нет, доступна только стандартная библиотека. Для задач собеседования хватает коллекций, LINQ и работы со строками.
Есть ли автотесты для C#?
Пока нет. Решение проверяют вызовами из Main и выводом — заодно видно, как кандидат тестирует свой код.
Нужна ли регистрация?
Нет. Редактор открывается сразу, а кандидату для собеседования достаточно ссылки и имени. Банк задач тоже открыт без входа. Вход нужен для своих задач, режима интервью и истории.

Редактор для других языков