C# онлайн: редактор и компилятор для собеседований
Пишите и запускайте программы на C# прямо в браузере, без установки Visual Studio и .NET SDK: код компилируется на сервере, ошибки и вывод видны сразу. Для собеседования откройте общую сессию и отправьте ссылку кандидату. Бесплатно и без регистрации.
Бесплатно, без регистрацииКак провести лайвкодинг-собеседование на 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 прямо в сессии, рядом с кодом.
- Банк задач открыт без входа. После бесплатного входа — свои задачи, режим интервью с таймерами, оценка кандидата и история собеседований.
Как провести собеседование
- Нажмите «Провести собеседование» — сессия создастся с примером программы, его можно заменить своей задачей.
- Опишите условие в Markdown и отправьте ссылку кандидату: регистрация ему не нужна.
- Попросите кандидата проверять решение вызовами из 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 и выводом — заодно видно, как кандидат тестирует свой код.
- Нужна ли регистрация?
- Нет. Редактор открывается сразу, а кандидату для собеседования достаточно ссылки и имени. Банк задач тоже открыт без входа. Вход нужен для своих задач, режима интервью и истории.