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

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

Что спросить на собеседовании у программиста 1С

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

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

Эффективное интервью с 1С-разработчиком обычно состоит из четырёх блоков: вопросы по устройству платформы, проверка навыков запросов и СКД, разбор реальных задач из практики кандидата и короткое живое задание. Такой формат занимает 60–90 минут и позволяет отличить человека, который «делал по инструкции», от специалиста, понимающего, как система работает внутри.

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

Вопросы по устройству платформы 1С

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

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

Полезные вопросы этого блока:

  • Чем отличается функция от процедуры и что такое контекст модуля — модули объекта, формы, общие модули?
  • Что такое виртуальные таблицы запросов и почему «Остатки» у регистра накопления работают быстрее, чем выборка из физической таблицы?
  • Чем различаются методы НайтиПоКоду, НайтиПоНаименованию и НайтиПоРеквизиту? Какой из них быстрее и почему?
  • Что происходит при проведении документа: порядок вызова обработчиков?
  • Что такое разделение данных и в каких случаях оно применяется?

Тревожный признак — кандидат уверенно перечисляет объекты, но не может объяснить, зачем нужны индексы и когда запрос «тормозит» из-за их отсутствия. Это значит, что с производительностью он не работал, а в реальной базе с миллионами записей это станет проблемой.

Проверка навыков запросов и СКД

Язык запросов — основной инструмент 1С-разработчика, и его нужно проверять глубже, чем «умеете ли вы писать запросы». Попросите кандидата устно или на бумаге составить запрос: выбрать остатки товаров по складу на дату с отбором по номенклатурной группе. Затем усложните: добавьте соединение со справочником и спросите, чем ЛЕВОЕ СОЕДИНЕНИЕ отличается от ВНУТРЕННЕГО и что будет, если соединить таблицы «многие ко многим» без условий.

Обязательно задайте вопросы про типичные ловушки: что вернёт запрос с обращением к полю через точку («Документ.Контрагент.ИНН»), почему это медленно и как переписать через явное соединение. Спросите про различие РАЗЛИЧНЫЕ и СГРУППИРОВАТЬ ПО, про ПОМЕСТИТЬ и временные таблицы, про пакетные запросы.

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

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

Попросите объяснить план простого запроса с соединением
Норма

Кандидат говорит об индексах, порядке таблиц и левом соединении

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

Ответ сводится к «конструктор сам всё сделает»

Вопрос про виртуальную таблицу Остатки с параметрами
Норма

Знает, что параметры виртуальной таблицы лучше отборов в ГДЕ

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

Не видит разницы между параметрами виртуальной таблицы и условием ГДЕ

Вопрос про итоги и группировки
Норма

Различает ИТОГИ ПО, ОБЩИЕ и группировку

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

Путает итоги с группировкой или не использовал итоги

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

Опыт работы с типовыми конфигурациями

Знание платформы без знания типовых решений — половина профессии. Уточните, с какими конфигурациями кандидат реально работал: УТ, ERP, БП, ЗУП, КА — и что именно делал: дорабатывал, обновлял, переносил данные. Формулировка «поддерживал 1С» ничего не значит; просите конкретику: «Расскажите о самой сложной доработке в типовой конфигурации и как вы её делали, чтобы не сломать обновления».

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

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

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

Почти в каждой компании 1С обменивается данными с сайтом, CRM, складскими системами или другими базами 1С. Спросите, какие механизмы обмена кандидат использовал: планы обмена, универсальный формат EnterpriseData, конвертация данных, COM-соединение, HTTP- и веб-сервисы, REST API, файловые выгрузки. Попросите рассказать архитектуру одного реального обмена: что было источником, что приёмником, как решались конфликты и дубли.

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

Дополнительные вопросы:

  • Что такое регистрация изменений в плане обмена и как выгрузить только изменённые данные?
  • Чем отличается синхронизация по ссылке и по сочетанию полей при сопоставлении объектов?
  • Как организовать обмен через HTTP-сервис: аутентификация, формат JSON, обработка ошибок?
  • Что делать, если в обмене появились дубли контрагентов?

Практическое задание: что дать и как оценивать

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

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

Типичные ошибки в коде кандидатов
01
Запрос внутри цикла — признак непонимания, что каждый запрос это обращение к СУБД; правильно собрать данные одним запросом
02
Обход результата запроса без Выгрузить() там, где нужна таблица значений — код работает, но неэффективен и неудобен
03
Отсутствие обработки исключений в обменах и загрузках — первая же битая строка файла остановит всю операцию
04
Изменение типовых модулей вместо расширения — проблемы при первом же обновлении
05
Нет проверки на пустые ссылки и NULL в соединениях — отчёты показывают неполные данные
Как провести практическую часть
  1. 1
    Подготовьте тестовую базу или чистую конфигурацию заранее — не тратьте время интервью на установку
  2. 2
    Сформулируйте задание письменно: что должно получиться, какие ограничения, сколько времени
  3. 3
    Дайте 20–30 минут и не подсказывайте, но разрешите пользоваться синтакс-помощником — память на синтаксис не проверяем
  4. 4
    Попросите кандидата прокомментировать решение: почему выбран такой подход, что можно улучшить
  5. 5
    Отметьте 2–3 момента, которые можно сделать лучше, и посмотрите на реакцию — адекватное восприятие замечаний важно для командной работы

Вопросы о подходе к работе и типичные ошибки работодателя

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

Полезный вопрос: «Расскажите о баге, который вы долго искали. Как нашли?». Ответ показывает владение инструментами диагностики: отладчик, замеры производительности, журнал регистрации, технологический журнал. Если кандидат ни разу не пользовался замерами производительности, оптимизация в вашей базе ему не по силам.

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

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

Оптимальная структура встречи на 60–90 минут: 10 минут — рассказ кандидата о себе и ваши уточняющие вопросы по проектам, 25–30 минут — технические вопросы по блокам выше, 20–30 минут — практическое задание, 10 минут — вопросы кандидата и ваш рассказ о задачах. Записывайте ответы по чек-листу, чтобы сравнивать кандидатов между собой объективно.

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

Форматы проверки кандидата

Устные вопросы по платформе

Быстро отсеивает слабую теорию, но не показывает реальную скорость и качество кода

Живое задание на собеседовании

Показывает мышление и работу под лёгким стрессом; ограничение — задача должна быть маленькой

Оплачиваемое тестовое задание

Самая честная проверка качества кода; подходит для финальных этапов, отпугивает часть кандидатов на ранних

Разбор прошлых проектов

Хорошо проверяет реальный опыт, но требует умений интервьюера отличать «участвовал» от «делал сам»

Итог

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

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

Часто задаваемые вопросы

Достаточно ли сертификата «1С:Профессионал» для найма?

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

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

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

Нужно ли гнаться за знанием конкретной конфигурации, например ERP?

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

Как проверить кандидата, если сам не разбираешься в 1С?

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

Какое тестовое задание адекватно по объёму?

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

Что спросить у фрилансера вместо классического собеседования?

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