Разработка и Конфигурация · 12 мин
Какие вопросы задать 1С-программисту на собеседовании
Готовый список вопросов для собеседования с 1С-программистом: язык запросов, СКД, управляемые формы, обмены, типовые конфигурации и проверка реального опыта.
Нанять сильного 1С-программиста сложно не потому, что мало кандидатов, а потому что уровень «1С-разработчик» у всех означает разное: от правки печатных форм до проектирования высоконагруженных обменов. Обычное резюме это различие не показывает, поэтому отбор решает структура собеседования: вопросы по платформе, запросам, типовым конфигурациям и реальным задачам кандидата.
Главный принцип интервью — спрашивать не «знаете ли вы X», а «расскажите, как вы делали X». Ответы на вопросы о личном опыте почти невозможно выучить заранее, а уровень детализации сразу показывает, работал ли человек руками или только читал курсы. Хороший специалист легко уточняет детали: какие объекты трогал, какие были объёмы данных, что сломалось и как чинил.
Ниже — готовый набор вопросов, сгруппированный по блокам: базовая платформа, язык запросов, интерфейс и формы, интеграции, типовые конфигурации, производственные задачи и «красные флаги» в ответах. Берите 15–25 вопросов под уровень вакансии, а не весь список целиком.
Общие вопросы об опыте: как отличить практика от теоретика
Начинайте с открытых вопросов об опыте — они задают тон и дают фактуру для уточняющих вопросов. Попросите рассказать о двух-трёх последних проектах: какая конфигурация, какая роль кандидата в команде, какие задачи решал лично. Формулировка «мы сделали» должна сменяться на «я сделал» — уточняйте, что именно в этом «мы» делал сам кандидат.
Полезные вопросы этого блока:
- Расскажите о самой сложной задаче, которую решали в 1С. В чём была сложность и как вы её обошли?
- Какая ошибка в продакшене была самой запоминающейся и как вы её исправляли?
- С какими конфигурациями работали: УТ, ERP, БП, ЗУП? Насколько глубоко лезли в типовой код?
- Работали с расширениями? Когда выбираете расширение вместо изменения конфигурации?
- Как у вас организована разработка: хранилище конфигурации, EDT, git, код-ревью?
Признак сильного кандидата — он сам называет конкретику: версии платформы, имена объектов метаданных, объёмы («база 300 ГБ, 200 пользователей»). Признак слабого — общие слова «делал доработки», «писал отчёты» без единой детали даже после уточняющих вопросов.
Вопросы по платформе и встроенному языку
Этот блок проверяет фундамент: понимает ли кандидат, как устроена платформа 1С, или только копирует готовые куски кода. Вопросы должны быть такими, чтобы на них нельзя было ответить одним словом.
- Чем объектные типы данных (СправочникОбъект) отличаются от ссылочных (СправочникСсылка)? Когда какие использовать?
- Что происходит при вызове метода Записать() у документа? Какие события срабатывают и в каком порядке?
- В чём разница между директивами &НаСервере, &НаКлиенте, &НаСервереБезКонтекста?
- Что такое управляемые и обычные блокировки? Когда возникает взаимоблокировка и как её искать?
- Как работает механизм регистрации изменений в планах обмена?
- Чем отличается Проведен от ПометкаУдаления у документа? Что происходит с движениями?
Хороший вопрос на понимание, а не на память: «У вас отчёт формируется 10 минут. С чего начнёте разбор?» Сильный ответ включает замер производительности, анализ плана запроса, проверку индексов и соединений таблиц. Слабый — «перепишу запрос» без диагностики.
Язык запросов и СКД: вопросы, которые отсеивают половину кандидатов
Запросы — ежедневный инструмент 1С-разработчика, и именно здесь чаще всего виден реальный уровень. Спрашивайте не синтаксис, а понимание механики.
- Чем ЛЕВОЕ СОЕДИНЕНИЕ отличается от ВНУТРЕННЕГО? Приведите пример, где неправильный выбор исказит отчёт.
- Что такое виртуальные таблицы регистров и когда их использование обязательно, а когда вредно?
- Как работают временные таблицы и пакетные запросы? Зачем индексировать временную таблицу?
- В чём разница между РАЗЛИЧНЫЕ и СГРУППИРОВАТЬ ПО?
- Что такое СКД и чем она лучше ручного построения отчёта? Когда СКД не подходит?
- Как в СКД сделать отчёт с ресурсами, вычисляемыми на уровне группировок?
Практическая мини-задача: дать текст запроса с типичной ошибкой (например, соединение с виртуальной таблицей без отбора или обращение к таблице через точку — «разыменование») и попросить найти проблему. Кандидат, который видит разыменование за 30 секунд, работал с запросами всерьёз.
ВЫБРАТЬ
Заказы.Ссылка КАК Заказ,
Заказы.Контрагент.Наименование КАК Контрагент
ИЗ
Документ.ЗаказКлиента КАК Заказы
ГДЕ
Заказы.Дата МЕЖДУ &НачалоПериода И &КонецПериодаКстати, показанный выше запрос — хороший материал для обсуждения: обращение «Заказы.Контрагент.Наименование» — это скрытое соединение, которое на больших объёмах бьёт по производительности. Спросите, как кандидат его перепишет.
Управляемые формы и интерфейс
Если кандидат будет работать с современными конфигурациями, без понимания управляемых форм не обойтись. Здесь важны вопросы про клиент-серверное взаимодействие — именно в нём чаще всего путаются новички.
- Как передать данные с клиента на сервер, если у вас таблица значений на форме?
- Почему нельзя вызвать серверную процедуру с контекстом из клиентского обработчика ожидания?
- Что такое реквизиты формы и чем они отличаются от данных объекта?
- Как программно создать элемент формы и когда это оправдано?
- Что такое длительные операции и как показать пользователю прогресс выполнения фонового задания?
Контрольный вопрос: «Пользователь нажал кнопку, и форма зависла на минуту. Что не так и как исправить?» Правильный вектор ответа — тяжёлая операция выполняется синхронно на серверном вызове, нужно убирать в фоновое задание через длительные операции.
Обмены, интеграции и внешние системы
Интеграции — самая дорогая по цене ошибки часть работы, поэтому для позиций middle и senior этот блок обязателен. Даже junior-у полезно задать один-два вопроса, чтобы понять кругозор.
- С какими способами интеграции работали: HTTP-сервисы, веб-сервисы, файловые обмены, RabbitMQ, Kafka?
- Как организовать надёжный обмен: что делать, если приёмник недоступен или сообщение обработалось дважды?
- Чем планы обмена отличаются от самописного обмена через регистрацию изменений?
- Как написать и опубликовать HTTP-сервис в 1С? Как обработать входящий JSON?
- Работали с COM/OLE или внешними компонентами? Какие проблемы встречали?
Сильный кандидат в теме обменов сам упоминает идемпотентность, очереди повторной отправки, журналирование ошибок и контроль расхождений. Если человек «настраивал обмен с сайтом», но не может объяснить, что происходит при падении обмена посередине пакета, — его участие в интеграции было поверхностным.
Типовые конфигурации и библиотека стандартных подсистем
Большинство вакансий предполагает доработку типовых решений, а не разработку с нуля. Проверьте, умеет ли кандидат жить в чужом коде и не ломать обновления.
- Как вы дорабатываете типовую конфигурацию, чтобы не усложнять обновление? Расскажите про расширения и механизм переопределяемых модулей.
- Что такое БСП и какими её подсистемами пользовались на практике?
- Как добавить печатную форму к типовому документу через дополнительные отчеты и обработки?
- Обновляли сильно переписанную конфигурацию? Как строили процесс и что было самым болезненным?
- Как искать, где в типовом коде формируется нужное движение документа?
Последний вопрос особенно показателен: умение быстро ориентироваться в типовом коде (поиск по подпискам на события, общим модулям проведения, механизмам БСП) отличает человека с реальным опытом поддержки от того, кто писал только с нуля в пустых конфигурациях.
Расширение или изменение конфигурации
Подходит для добавления форм, отчётов, обработчиков и небольших доработок. Обновление типовой почти не усложняется. Ограничение: не всё можно изменить через расширение.
Нужно при глубокой переработке механизмов. Обновление становится трудоёмким, требует аккуратного сравнения и объединения. Оправдано только при реальной необходимости.
Лучший вариант для печатных форм, отчётов и разовых операций. Вообще не влияют на обновление, но не подходят для изменения логики проведения.
Практическое задание и оценка ответов
Теоретическая часть показывает знания, но не показывает скорость и стиль работы. Завершите собеседование короткой практикой на 20–30 минут: не олимпиадной задачей, а типичной рабочей ситуацией.
- 1Подготовьте тестовую базу заранее: демо-конфигурация, несколько документов, один заведомо медленный отчёт
- 2Дайте задачу: написать несложный отчёт на СКД или найти причину медленной работы готового запроса
- 3Наблюдайте за процессом: как кандидат ищет информацию, пользуется ли синтакс-помощником, как называет переменные
- 4Попросите прокомментировать решение вслух и предложить, как его улучшить
- 5Оценивайте не только результат, но и приём работы: структура кода, обработка ошибок, вопросы по условию задачи
Хорошие практические задания: «отчёт по продажам по менеджерам за период с отбором на СКД», «обработка массового изменения реквизита с транзакцией и обработкой ошибок», «найдите, почему проведение документа стало занимать 30 секунд». Плохие — задачи на знание редких функций платформы, которые за 5 секунд гуглятся.
Красные флаги в ответах кандидата
Некоторые ответы должны насторожить независимо от общего впечатления. «Всё делал через запросы к базе напрямую в SQL» без понимания, когда это допустимо, — риск для целостности данных. «Типовой код не читаю, проще написать свой» — будущие конфликты с обновлениями. «Ошибок в продакшене у меня не было» — либо очень маленький опыт, либо нечестность.
Обратный признак качества — кандидат, который спокойно говорит «этого не делал, но предположу, что работает так-то» и рассуждает логично. Честное незнание с правильным ходом мысли ценнее уверенного блефа.
Что важно запомнить
Стройте собеседование вокруг реального опыта: просите рассказывать о задачах с деталями, проверяйте пять ключевых блоков (платформа, запросы, формы, интеграции, типовые конфигурации) и завершайте коротким практическим заданием. Оценивайте ход рассуждений, а не только правильность ответов.
Частые вопросы
Сколько вопросов задавать на одном собеседовании?
Оптимально 15–25 вопросов плюс практическое задание, всё вместе — 60–90 минут. Большее количество превращает интервью в экзамен и утомляет обе стороны, а меньшее не даёт проверить все важные блоки. Лучше глубже копнуть 2–3 темы, чем поверхностно пройтись по десяти.
Чем отличаются вопросы для junior, middle и senior 1С-разработчика?
Junior: основы платформы, простые запросы, устройство справочников и документов, готовность учиться. Middle: оптимизация запросов, СКД, управляемые формы, расширения, опыт самостоятельных доработок. Senior: архитектура решений, высокие нагрузки, интеграции и очереди, проектирование обменов, наставничество и оценка задач.
Нужно ли требовать сертификаты 1С:Профессионал?
Нет, это не должно быть жёстким требованием. Сертификат подтверждает знание платформы на момент сдачи, но не показывает опыт проектов. Используйте его как небольшой плюс, а решение принимайте по ответам на практические вопросы и результату тестового задания.
Как проверить кандидата, если сам проводящий не разбирается в 1С?
Используйте вопросы о личном опыте с обязательными деталями: названия объектов, объёмы данных, сроки, последствия ошибок. Попросите объяснить одну свою задачу «на пальцах» — сильный специалист умеет объяснять просто. Техническую часть поручите действующему разработчику или внешнему эксперту, либо ограничьтесь оплачиваемым тестовым заданием с проверкой результата.
Давать ли тестовое задание на дом?
Да, но короткое — не более 1–2 часов работы, и желательно оплачиваемое при найме. Большие бесплатные задания отпугивают сильных кандидатов и создают этическую проблему, если результат потом используется в работе компании. Альтернатива — live-сессия на 30 минут, где кандидат решает задачу при вас.
Какие вопросы задать про работу в команде и процессы?
Спросите про опыт работы с хранилищем конфигурации или EDT и git, участие в код-ревью, взаимодействие с аналитиками и постановку задач. Уточните, как кандидат поступает, когда требования в задаче неполные или противоречивые, — это покажет зрелость лучше любых технических вопросов.