Разработка и Конфигурация · 11 мин
Какие вопросы задавать программисту 1С на собеседовании
Конкретные вопросы для собеседования с программистом 1С: платформа, запросы, СКД, обмены, управляемые формы. Как проверить реальный опыт кандидата.
Ошибка при найме программиста 1С дорого обходится: слабый разработчик ломает конфигурацию, раздувает базу неоптимальными запросами и оставляет после себя код, который никто не может поддерживать. При этом стандартные вопросы вроде «расскажите о себе» почти ничего не говорят о реальной квалификации — нужны предметные вопросы по платформе, языку запросов и типовым конфигурациям.
Хорошее собеседование строится в три слоя: сначала проверяется знание платформы и встроенного языка, затем — умение работать с запросами, СКД и обменами, в конце — практический опыт на реальных проектах. Такой подход отсекает кандидатов, которые выучили термины, но не умеют решать задачи.
Ниже приведён структурированный набор вопросов с пояснениями, что именно должен ответить сильный кандидат и какие ответы должны насторожить. Используйте его как каркас и адаптируйте под свой стек: управляемые формы, конкретная конфигурация (ERP, УТ, ЗУП, БП), наличие интеграций.
Вопросы по платформе и встроенному языку
Этот блок показывает, понимает ли кандидат, как устроена платформа, или просто копирует типовые решения. Начните с базовых вопросов: чем отличается справочник от документа, что такое набор записей регистра, чем различаются режимы проведения документа (оперативное и неоперативное). Кандидат уровня junior должен отвечать уверенно; если путается уже здесь, дальнейшие разделы можно сократить.
Для уровня middle обязательны вопросы про транзакции и блокировки: что происходит при проведении документа, что такое управляемые и автоматические блокировки, когда возникает ошибка «Конфликт блокировок при выполнении транзакции» и как её диагностировать. Сильный кандидат объяснит разницу между методами Прочитать() и Заблокировать(), расскажет про избыточные блокировки при записи наборов.
Отдельно проверьте понимание клиент-серверной архитектуры: чем директивы &НаКлиенте и &НаСервере отличаются по контексту, почему нельзя вызвать запрос напрямую на клиенте, что такое серверный вызов и почему лишние вызовы замедляют форму. Попросите объяснить, как бы кандидат оптимизировал форму, которая открывается десять секунд.
Вопросы по языку запросов
Запросы — основной инструмент 1С-разработчика, и именно здесь виднее всего разница между уровнями. Базовый минимум: разница между СОЕДИНЕНИЕ и ОБЪЕДИНИТЬ, чем левое соединение отличается от внутреннего, что делают виртуальные таблицы регистров (Остатки, Обороты, СрезПоследних) и какие параметры им можно передавать.
Обязательный вопрос на оптимизацию: почему нельзя делать соединение с виртуальной таблицей без отборов, что такое вложенные запросы и временные таблицы, когда временные таблицы предпочтительнее. Спросите, чем опасно использование РАЗЛИЧНЫЕ и соединений по неиндексированным полям в больших базах.
Для senior-уровня добавьте вопросы про пакетные запросы, индексацию, конструкцию В(...) с параметром-массивом и типичные причины деградации запроса после роста базы. Попросите кандидата устно описать, как он искал бы «узкое место» медленного отчёта — правильный ответ включает замер производительности и технологический журнал, а не переписывание вслепую.
Как проверить ответ кандидата
Объясняет семантику и влияние на производительность
Путает или говорит «это одно и то же»
Называет параметры отборов и границы периодичности
Не знает, что у СрезПоследних есть параметр периода
Предлагает замер, анализ плана, временные таблицы
Сразу предлагает переписать код без диагностики
Вопросы по СКД и отчётам
Система компоновки данных — обязательный навык для разработчика, работающего с типовыми конфигурациями. Проверьте базу: чем СКД отличается от консольного построения отчёта запросом, что такое наборы данных, связи наборов, ресурсы и вычисляемые поля. Кандидат должен уметь объяснить, как собрать отчёт по остаткам с группировками без единой строки кода.
Усложнённые вопросы: как вывести в отчёт поле, которого нет в исходных данных (вычисляемые поля, собственные функции в общем модуле), как работают параметры периода и стандартные периоды, зачем нужны макеты СКД и когда без них не обойтись. Спросите про программную работу со СКД — формирование отчёта из кода с переопределением настроек.
Практический маркер опыта: спросите, как кандидат реализовал бы отчёт, где нужно объединить данные из регистра накопления и справочника с дополнительным условием. Сильный ответ включает связь наборов данных или объединение в запросе с пояснением, почему выбран именно такой способ.
Вопросы по обменам и интеграциям
Интеграции — зона, где ошибки дороже всего: сломанный обмен может привести к расхождению данных между базами и финансовым потерям. Начните с классики: что такое планы обмена, регистрация изменений, конвертация данных, чем типовой обмен отличается от самописного. Кандидат с опытом расскажет про разрешение коллизий и начальную выгрузку.
Проверьте знание современных способов интеграции: HTTP-сервисы и веб-сервисы в 1С, форматы JSON и XML, работа с REST API внешних систем. Вопрос на понимание: чем HTTP-сервис отличается от веб-сервиса и когда какой выбрать. Для кандидатов в команду с интеграциями обязательно спросите про авторизацию, обработку ошибок и повторные попытки при недоступности внешнего сервиса.
Отдельно — фоновые задания и регламентные операции: как организовать обмен по расписанию, что такое очередь заданий в сервисе, как не допустить параллельного запуска одного обмена. Спросите, как кандидат искал бы причину, по которой обмен «отработал без ошибок», но данные не пришли.
Вопросы по типовым конфигурациям и расширениям
Работа с типовыми решениями требует особой дисциплины. Ключевой вопрос: как вносить доработки, не теряя возможность обновления. Правильный ответ — расширения конфигурации, заимствование объектов, минимум изменений в типовом коде. Спросите, когда расширение не поможет и придётся снимать объекты с поддержки, и какие последствия это имеет при обновлении.
Уточните опыт с конкретными механизмами: БСП (библиотека стандартных подсистем) — общие модули, подписки на события, переопределяемые процедуры. Вопрос на практику: как добавить печатную форму к документу в типовой конфигурации, не изменяя её. Кандидат должен вспомнить механизм дополнительных отчётов и обработок или расширение.
Для вакансий с поддержкой существующей базы важны вопросы про чужой код: как разбираться в незнакомой конфигурации, как искать место, где формируется проводка или печатная форма, как безопасно тестировать изменения. Спросите про опыт обновления нетиповых конфигураций — это отдельный навык, который нельзя подразумевать по умолчанию.
Практические задания и вопросы о реальном опыте
Теория без практики обманчива: дайте кандидату одну-две короткие задачи. Проверенные варианты — написать запрос с группировкой и итогами, найти ошибку в фрагменте кода (например, запрос в цикле или обращение к реквизиту через точку в запросе), объяснить, почему приведённый код упадёт в тонком клиенте. На решение должно уходить 10–20 минут, не больше.
Просите рассказать о реальных проектах по схеме «задача — решение — результат»: какую самую сложную проблему производительности решал, какой обмен проектировал с нуля, что делал, когда доработка сломалась на рабочей базе. Размытые ответы без деталей («ну, оптимизировал запросы») — признак того, что кандидат наблюдал за работой, а не делал её.
Полезен вопрос про ошибки: попросите рассказать о случае, когда кандидат сам что-то сломал в продуктивной базе и как исправлял. Честный рассказ с выводами говорит о зрелости больше, чем заявление «у меня такого не было» — у опытного разработчика такие истории есть всегда.
- 15–10 минут: вопросы по платформе и встроенному языку
- 210–15 минут: запросы, СКД, оптимизация
- 310 минут: обмены, интеграции, типовые конфигурации
- 415–20 минут: практическое задание на запрос или разбор кода
- 510 минут: разбор реального опыта и вопросы кандидата
Красные флаги и типичные ошибки интервьюера
Тревожные признаки в ответах кандидата: не может объяснить разницу между оперативным и неоперативным проведением, не знает про виртуальные таблицы, считает, что запрос в цикле — нормальная практика, не слышал про расширения конфигурации. Ещё один флаг — отсутствие вопросов о вашей инфраструктуре: сильный специалист спросит про версию платформы, конфигурацию, объём базы и состав команды.
Ошибки со стороны интервьюера тоже портят результат. Не превращайте собеседование в экзамен на знание синтаксиса по памяти — справкой пользуются все. Не давайте тестовое задание на несколько часов бесплатно — это отпугивает сильных кандидатов. И не оценивайте только теорию: разработчик, который отлично пишет запросы, но не умеет разбирать чужой код, может не подойти под ваши задачи.
Как адаптировать вопросы под уровень кандидата
Один набор вопросов не подходит всем. Для junior достаточно платформы, простых запросов и понимания объектов метаданных; проверяйте обучаемость и честность («не знаю, но предположу, что…» — нормальный ответ). Для middle добавьте оптимизацию, СКД, блокировки и опыт самостоятельных доработок. Для senior — архитектуру решений, проектирование обменов, нагрузку, командную работу и ревью кода.
Полезно заранее зафиксировать для себя критерии: какие вопросы обязательные (провал по ним — отказ), какие желательные (влияют на уровень оффера). Это делает решение объективнее и позволяет сравнивать кандидатов между собой, а не по общему впечатлению.
Уровни кандидатов и фокус вопросов
База платформы, простые запросы, обучаемость. Не требуйте опыта оптимизации и обменов
Запросы и СКД уверенно, блокировки, расширения, самостоятельные доработки типовых конфигураций
Архитектура, производительность под нагрузкой, проектирование интеграций, ревью и наставничество
Частые вопросы
Нужно ли гонять кандидата по синтаксису встроенного языка?
Нет, заучивание синтаксиса не показывает квалификацию — справка в конфигураторе доступна всегда. Проверяйте понимание механизмов: транзакции, блокировки, контекст выполнения, работа запросов. Именно там ошибки приводят к реальным проблемам в базе.
Какое практическое задание лучше всего показывает уровень?
Написание запроса с соединением, группировкой и отбором по виртуальной таблице — 10–15 минут. Второй вариант — фрагмент кода с типичными ошибками (запрос в цикле, обращение через точку, отсутствие проверки результата), который нужно разобрать устно.
Обязательно ли требовать сертификаты 1С?
Нет. Сертификат «1С:Специалист» подтверждает подготовку, но многие сильные разработчики его не сдавали, а слабые — сдавали. Используйте сертификат как плюс, но решение принимайте по ответам и практическому заданию.
Как проверить опыт кандидата, если нет доступа к его прошлым проектам?
Просите детальные истории по схеме «задача — решение — результат» и задавайте уточняющие вопросы: объём базы, количество пользователей, конкретные механизмы. Человек, который делал работу сам, отвечает на уточнения легко; наблюдатель начинает говорить общими фразами.
Что спрашивать, если нужен разработчик на поддержку, а не на новые проекты?
Фокус на чужой код и диагностику: как искать место формирования проводки, как безопасно менять типовую конфигурацию, как воспроизводить ошибку пользователя, опыт обновления доработанных конфигураций. Практическое задание — разбор незнакомого фрагмента кода.
Сколько должно длиться собеседование с программистом 1С?
Обычно 60–90 минут: теория по блокам, короткое практическое задание и обсуждение опыта. Если кандидат явно не проходит базовый блок, корректно завершить раньше — это экономит время обеим сторонам.
Что важно запомнить
Стройте собеседование слоями: платформа, запросы и СКД, обмены, типовые конфигурации, практика. Обязательно включайте короткое практическое задание и разбор реального опыта. Оценивайте кандидата по заранее зафиксированным критериям под конкретную роль — junior, middle или senior.