К статье
Практический материал

Разработка и Конфигурация · 11 мин

Какие вопросы задавать программисту 1С на собеседовании

Конкретные вопросы для собеседования с программистом 1С: платформа, запросы, СКД, обмены, управляемые формы. Как проверить реальный опыт кандидата.

Ошибка при найме программиста 1С дорого обходится: слабый разработчик ломает конфигурацию, раздувает базу неоптимальными запросами и оставляет после себя код, который никто не может поддерживать. При этом стандартные вопросы вроде «расскажите о себе» почти ничего не говорят о реальной квалификации — нужны предметные вопросы по платформе, языку запросов и типовым конфигурациям.

Хорошее собеседование строится в три слоя: сначала проверяется знание платформы и встроенного языка, затем — умение работать с запросами, СКД и обменами, в конце — практический опыт на реальных проектах. Такой подход отсекает кандидатов, которые выучили термины, но не умеют решать задачи.

Ниже приведён структурированный набор вопросов с пояснениями, что именно должен ответить сильный кандидат и какие ответы должны насторожить. Используйте его как каркас и адаптируйте под свой стек: управляемые формы, конкретная конфигурация (ERP, УТ, ЗУП, БП), наличие интеграций.

Вопросы по платформе и встроенному языку

Этот блок показывает, понимает ли кандидат, как устроена платформа, или просто копирует типовые решения. Начните с базовых вопросов: чем отличается справочник от документа, что такое набор записей регистра, чем различаются режимы проведения документа (оперативное и неоперативное). Кандидат уровня junior должен отвечать уверенно; если путается уже здесь, дальнейшие разделы можно сократить.

Для уровня middle обязательны вопросы про транзакции и блокировки: что происходит при проведении документа, что такое управляемые и автоматические блокировки, когда возникает ошибка «Конфликт блокировок при выполнении транзакции» и как её диагностировать. Сильный кандидат объяснит разницу между методами Прочитать() и Заблокировать(), расскажет про избыточные блокировки при записи наборов.

Отдельно проверьте понимание клиент-серверной архитектуры: чем директивы &НаКлиенте и &НаСервере отличаются по контексту, почему нельзя вызвать запрос напрямую на клиенте, что такое серверный вызов и почему лишние вызовы замедляют форму. Попросите объяснить, как бы кандидат оптимизировал форму, которая открывается десять секунд.

Вопросы по языку запросов

Запросы — основной инструмент 1С-разработчика, и именно здесь виднее всего разница между уровнями. Базовый минимум: разница между СОЕДИНЕНИЕ и ОБЪЕДИНИТЬ, чем левое соединение отличается от внутреннего, что делают виртуальные таблицы регистров (Остатки, Обороты, СрезПоследних) и какие параметры им можно передавать.

Обязательный вопрос на оптимизацию: почему нельзя делать соединение с виртуальной таблицей без отборов, что такое вложенные запросы и временные таблицы, когда временные таблицы предпочтительнее. Спросите, чем опасно использование РАЗЛИЧНЫЕ и соединений по неиндексированным полям в больших базах.

Для senior-уровня добавьте вопросы про пакетные запросы, индексацию, конструкцию В(...) с параметром-массивом и типичные причины деградации запроса после роста базы. Попросите кандидата устно описать, как он искал бы «узкое место» медленного отчёта — правильный ответ включает замер производительности и технологический журнал, а не переписывание вслепую.

Контрольные точки

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

Разница между РАЗЛИЧНЫЕ и СГРУППИРОВАТЬ ПО
Норма

Объясняет семантику и влияние на производительность

Тревожный признак

Путает или говорит «это одно и то же»

Работа с виртуальными таблицами
Норма

Называет параметры отборов и границы периодичности

Тревожный признак

Не знает, что у СрезПоследних есть параметр периода

Оптимизация запроса
Норма

Предлагает замер, анализ плана, временные таблицы

Тревожный признак

Сразу предлагает переписать код без диагностики

Вопросы по СКД и отчётам

Система компоновки данных — обязательный навык для разработчика, работающего с типовыми конфигурациями. Проверьте базу: чем СКД отличается от консольного построения отчёта запросом, что такое наборы данных, связи наборов, ресурсы и вычисляемые поля. Кандидат должен уметь объяснить, как собрать отчёт по остаткам с группировками без единой строки кода.

Усложнённые вопросы: как вывести в отчёт поле, которого нет в исходных данных (вычисляемые поля, собственные функции в общем модуле), как работают параметры периода и стандартные периоды, зачем нужны макеты СКД и когда без них не обойтись. Спросите про программную работу со СКД — формирование отчёта из кода с переопределением настроек.

Практический маркер опыта: спросите, как кандидат реализовал бы отчёт, где нужно объединить данные из регистра накопления и справочника с дополнительным условием. Сильный ответ включает связь наборов данных или объединение в запросе с пояснением, почему выбран именно такой способ.

Вопросы по обменам и интеграциям

Интеграции — зона, где ошибки дороже всего: сломанный обмен может привести к расхождению данных между базами и финансовым потерям. Начните с классики: что такое планы обмена, регистрация изменений, конвертация данных, чем типовой обмен отличается от самописного. Кандидат с опытом расскажет про разрешение коллизий и начальную выгрузку.

Проверьте знание современных способов интеграции: HTTP-сервисы и веб-сервисы в 1С, форматы JSON и XML, работа с REST API внешних систем. Вопрос на понимание: чем HTTP-сервис отличается от веб-сервиса и когда какой выбрать. Для кандидатов в команду с интеграциями обязательно спросите про авторизацию, обработку ошибок и повторные попытки при недоступности внешнего сервиса.

Отдельно — фоновые задания и регламентные операции: как организовать обмен по расписанию, что такое очередь заданий в сервисе, как не допустить параллельного запуска одного обмена. Спросите, как кандидат искал бы причину, по которой обмен «отработал без ошибок», но данные не пришли.

Вопросы по типовым конфигурациям и расширениям

Работа с типовыми решениями требует особой дисциплины. Ключевой вопрос: как вносить доработки, не теряя возможность обновления. Правильный ответ — расширения конфигурации, заимствование объектов, минимум изменений в типовом коде. Спросите, когда расширение не поможет и придётся снимать объекты с поддержки, и какие последствия это имеет при обновлении.

Уточните опыт с конкретными механизмами: БСП (библиотека стандартных подсистем) — общие модули, подписки на события, переопределяемые процедуры. Вопрос на практику: как добавить печатную форму к документу в типовой конфигурации, не изменяя её. Кандидат должен вспомнить механизм дополнительных отчётов и обработок или расширение.

Для вакансий с поддержкой существующей базы важны вопросы про чужой код: как разбираться в незнакомой конфигурации, как искать место, где формируется проводка или печатная форма, как безопасно тестировать изменения. Спросите про опыт обновления нетиповых конфигураций — это отдельный навык, который нельзя подразумевать по умолчанию.

Практические задания и вопросы о реальном опыте

Теория без практики обманчива: дайте кандидату одну-две короткие задачи. Проверенные варианты — написать запрос с группировкой и итогами, найти ошибку в фрагменте кода (например, запрос в цикле или обращение к реквизиту через точку в запросе), объяснить, почему приведённый код упадёт в тонком клиенте. На решение должно уходить 10–20 минут, не больше.

Просите рассказать о реальных проектах по схеме «задача — решение — результат»: какую самую сложную проблему производительности решал, какой обмен проектировал с нуля, что делал, когда доработка сломалась на рабочей базе. Размытые ответы без деталей («ну, оптимизировал запросы») — признак того, что кандидат наблюдал за работой, а не делал её.

Полезен вопрос про ошибки: попросите рассказать о случае, когда кандидат сам что-то сломал в продуктивной базе и как исправлял. Честный рассказ с выводами говорит о зрелости больше, чем заявление «у меня такого не было» — у опытного разработчика такие истории есть всегда.

Структура собеседования
  1. 1
    5–10 минут: вопросы по платформе и встроенному языку
  2. 2
    10–15 минут: запросы, СКД, оптимизация
  3. 3
    10 минут: обмены, интеграции, типовые конфигурации
  4. 4
    15–20 минут: практическое задание на запрос или разбор кода
  5. 5
    10 минут: разбор реального опыта и вопросы кандидата

Красные флаги и типичные ошибки интервьюера

Тревожные признаки в ответах кандидата: не может объяснить разницу между оперативным и неоперативным проведением, не знает про виртуальные таблицы, считает, что запрос в цикле — нормальная практика, не слышал про расширения конфигурации. Ещё один флаг — отсутствие вопросов о вашей инфраструктуре: сильный специалист спросит про версию платформы, конфигурацию, объём базы и состав команды.

Ошибки со стороны интервьюера тоже портят результат. Не превращайте собеседование в экзамен на знание синтаксиса по памяти — справкой пользуются все. Не давайте тестовое задание на несколько часов бесплатно — это отпугивает сильных кандидатов. И не оценивайте только теорию: разработчик, который отлично пишет запросы, но не умеет разбирать чужой код, может не подойти под ваши задачи.

Типичные ошибки при найме 1С-разработчика
01
Спрашивать только теорию без практического задания — кандидат с заученными ответами проходит фильтр
02
Требовать знание всех конфигураций сразу — лучше оценивать глубину в одной и способность разбираться в новых
03
Игнорировать вопросы про работу с чужим кодом и поддержку — в большинстве вакансий это основная часть работы
04
Давать большое бесплатное тестовое задание — сильные кандидаты отказываются, остаются менее востребованные

Как адаптировать вопросы под уровень кандидата

Один набор вопросов не подходит всем. Для junior достаточно платформы, простых запросов и понимания объектов метаданных; проверяйте обучаемость и честность («не знаю, но предположу, что…» — нормальный ответ). Для middle добавьте оптимизацию, СКД, блокировки и опыт самостоятельных доработок. Для senior — архитектуру решений, проектирование обменов, нагрузку, командную работу и ревью кода.

Полезно заранее зафиксировать для себя критерии: какие вопросы обязательные (провал по ним — отказ), какие желательные (влияют на уровень оффера). Это делает решение объективнее и позволяет сравнивать кандидатов между собой, а не по общему впечатлению.

Уровни кандидатов и фокус вопросов

Junior

База платформы, простые запросы, обучаемость. Не требуйте опыта оптимизации и обменов

Middle

Запросы и СКД уверенно, блокировки, расширения, самостоятельные доработки типовых конфигураций

Senior

Архитектура, производительность под нагрузкой, проектирование интеграций, ревью и наставничество

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

Нужно ли гонять кандидата по синтаксису встроенного языка?

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

Какое практическое задание лучше всего показывает уровень?

Написание запроса с соединением, группировкой и отбором по виртуальной таблице — 10–15 минут. Второй вариант — фрагмент кода с типичными ошибками (запрос в цикле, обращение через точку, отсутствие проверки результата), который нужно разобрать устно.

Обязательно ли требовать сертификаты 1С?

Нет. Сертификат «1С:Специалист» подтверждает подготовку, но многие сильные разработчики его не сдавали, а слабые — сдавали. Используйте сертификат как плюс, но решение принимайте по ответам и практическому заданию.

Как проверить опыт кандидата, если нет доступа к его прошлым проектам?

Просите детальные истории по схеме «задача — решение — результат» и задавайте уточняющие вопросы: объём базы, количество пользователей, конкретные механизмы. Человек, который делал работу сам, отвечает на уточнения легко; наблюдатель начинает говорить общими фразами.

Что спрашивать, если нужен разработчик на поддержку, а не на новые проекты?

Фокус на чужой код и диагностику: как искать место формирования проводки, как безопасно менять типовую конфигурацию, как воспроизводить ошибку пользователя, опыт обновления доработанных конфигураций. Практическое задание — разбор незнакомого фрагмента кода.

Сколько должно длиться собеседование с программистом 1С?

Обычно 60–90 минут: теория по блокам, короткое практическое задание и обсуждение опыта. Если кандидат явно не проходит базовый блок, корректно завершить раньше — это экономит время обеим сторонам.

Итог

Что важно запомнить

Стройте собеседование слоями: платформа, запросы и СКД, обмены, типовые конфигурации, практика. Обязательно включайте короткое практическое задание и разбор реального опыта. Оценивайте кандидата по заранее зафиксированным критериям под конкретную роль — junior, middle или senior.