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

- Понятная карта тем вместо случайного списка вопросов
- Ответ через задачу, решение, проверку и ограничение
- Отдельная подготовка к чтению и исправлению кода
- Честный рассказ об учебном и прошлом опыте
Содержание
Соберите карту тем
Начните с требований конкретных вакансий и общей базы по платформе. Для каждой темы ответьте на четыре вопроса: могу объяснить, могу показать пример, знаю типичную ошибку, умею проверить.
- Метаданные: справочники, документы, регистры, реквизиты и табличные части.
- Встроенный язык: типы, коллекции, процедуры, исключения и контексты.
- Запросы: параметры, соединения, группировки, временные и виртуальные таблицы.
- Бизнес-логика: запись, проведение, движения, транзакции и блокировки.
- Управляемые формы: события, команды и клиент-серверное взаимодействие.
- Инженерная база: отладка, чтение кода, контроль версий и разбор изменений.
Стройте ответ вокруг решения
Рабочая структура ответа простая: что это такое, когда применяется, где вы использовали, какая ошибка возможна и как её проверить. Слабый ответ часто заканчивается словами «не знаю» или «не уверен». Если точную деталь не помните, обозначьте это честно, но попробуйте вспомнить похожую задачу, объяснить ход мысли и сказать, где проверите информацию.
Не начинайте с длинного экскурса. Сначала ответьте на вопрос одним-двумя предложениями, затем предложите углубиться в пример.
10 вопросов, на которых удобно проверить базу
Это учебная подборка, а не обещание угадать вопросы конкретной компании. Сначала ответьте вслух, потом откройте объяснение. Если можете повторить определение, но теряетесь на уточнении, вернитесь к маленькой задаче по этой теме.
1. Чем конфигурация отличается от платформы?
Платформа исполняет приложение и даёт разработчику инструменты: язык, формы, запросы и хранение данных. Конфигурация описывает конкретное приложение — например, его документы, справочники и правила проведения. Обновить платформу и изменить реквизит документа — разные действия.
Проверьте себя. Где вы добавите поле «Комментарий» в учебный документ и почему для этого не нужно менять саму платформу?
2. Когда нужен справочник, а когда документ?
В справочнике удобно хранить многократно используемые сущности: товары, склады, организации. Документ описывает событие — например, поступление товаров. Выбор зависит от смысла данных, а не от того, у какого объекта удобнее форма.
Проверьте себя. Почему товар хранится в справочнике, а поступление этого товара — отдельным документом?
3. Что отличается у записи и проведения документа?
Запись сохраняет документ. Проведение запускает предусмотренную конфигурацией обработку проведения, которая может сформировать движения по регистрам. Сам факт записи не означает изменения остатков; не каждый документ вообще поддерживает проведение.
Проверьте себя. Документ сохранился, но остаток не изменился. Что проверите кроме сообщения об успешной записи?
4. Когда выбрать регистр сведений, а когда регистр накопления?
Регистр сведений хранит значения по набору измерений; периодический может хранить историю, например изменения цены товара. Регистр накопления предназначен для учёта числовых ресурсов по измерениям — остатков или оборотов. Цену нельзя получить простым сложением всех её изменений.
Проверьте себя. Где хранить историю цен, а где — количество товара на складе? Что будет измерением и что ресурсом?
5. Что выполняется на клиенте, а что на сервере?
Клиент показывает интерфейс и обрабатывает действия пользователя. Работа с базой и запросами выполняется на сервере. Клиентский обработчик может обратиться к серверной процедуре, но каждый такой переход имеет стоимость. Поэтому вызов сервера для каждой строки формы стоит разобрать отдельно.
Проверьте себя. Почему приветствие на форме не требует серверного вызова, а запрос к регистру требует?
6. Чем серверный вызов с контекстом формы отличается от вызова без контекста?
Процедура с директивой НаСервере имеет доступ к контексту формы. НаСервереБезКонтекста не получает этот доступ: нужные данные передаются параметрами. Второй вариант полезен для отдельного расчёта, но не позволяет обращаться к реквизитам формы как к своим переменным.
Проверьте себя. Если процедуре нужны только дата и список товаров, нужно ли передавать всю форму?
7. Когда взять массив, а когда соответствие?
Массив подходит для последовательности, где важны порядок и индекс. Соответствие связывает ключ со значением — например, ссылку на товар с его ценой. Повторная вставка по тому же ключу заменяет значение, поэтому нельзя без проверки складывать в него несколько видов цен одного товара.
Проверьте себя. Что произойдёт, если ключом сделать только товар, а цены отличаются ещё и по валюте?
8. Зачем параметры в запросе?
Параметр передаёт значение отдельно от текста запроса и сохраняет его тип. Например, дату и ссылку на склад передают через УстановитьПараметр, а не склеивают строками. Параметры не заменяют проверку прав и не позволяют произвольно подставить имя таблицы.
Проверьте себя. Как передадите выбранный склад? Что изменится, если пользователь попросит прочитать таблицу, к которой у него нет доступа?
9. Почему после левого соединения пропали строки?
Левое соединение сохраняет строки левой таблицы, даже если справа нет пары. Поля отсутствующей правой строки получают NULL. Но условие в ГДЕ по правому полю может затем убрать эти строки. Сначала уточните смысл отчёта: нужны все товары или только товары с остатком.
Проверьте себя. Где проверить условие по складу и чем заменить NULL, если отчёт должен показывать нулевой остаток?
10. Зачем транзакция и почему она не заменяет блокировку?
Транзакция объединяет изменения: они подтверждаются вместе или откатываются при ошибке. Но два пользователя могут одновременно проверить один и тот же остаток. Для такого сценария отдельно разбирают изоляцию, режим блокировок и момент повторной проверки данных.
Проверьте себя. Два пользователя продают последнюю единицу. Почему одной проверки остатка на форме недостаточно?
Готовьтесь разбирать код на экране
На собеседовании по 1С обычно не просят писать программу с нуля в прямом эфире. Чаще показывают экран с фрагментом кода или запросом и спрашивают, что здесь не так, к чему приведёт ошибка и как можно улучшить решение. Сначала объясните назначение фрагмента, затем назовите проблему и только после этого предложите исправление.
Начните с коротких фрагментов в тренажёре чтения кода, а затем возвращайтесь к двум примерам ниже.

- Расскажите, что делает показанный код или запрос.
- Найдите ошибку и объясните, к какому результату она приведёт.
- Если важен контекст выполнения, объясните разницу между клиентом и сервером.
- Предложите вариант исправления или оптимизации и обоснуйте его.
- Расскажите, как проверили бы результат после изменения.
Пример 1. Почему итог оказался меньше ожидаемого
Представьте, что на экране две строки заказа: 2 штуки по 100 и 3 штуки по 50. Нужно получить общий итог 350. Прочитайте код и до запуска назовите, какое число останется в переменной Итог.
Итог = 0;
Для Каждого СтрокаТовара Из Товары Цикл
Итог = СтрокаТовара.Количество * СтрокаТовара.Цена;
КонецЦикла;Разбор: вместо накопления получилось присваивание
На первой строке Итог станет равен 200, на второй — 150. Предыдущая сумма перезаписана. Нужно прибавлять сумму строки: Итог = Итог + СтрокаТовара.Количество * СтрокаТовара.Цена. Начальное значение 0 должно остаться перед циклом.
Проверьте себя. Проверьте пустую таблицу → 0, одну строку → 200, обе строки → 350. Если поменять строки местами, исправленный итог останется 350, а ошибочный станет 200.
Пример 2. Почему отчёт потерял товар без остатка
Условие: показать все товары и остаток на выбранном складе. В учебном справочнике без групп есть «Кабель» и «Стойка». На складе «Основной» у кабеля 5 штук, у стойки движений нет. Ожидаем две строки: 5 и 0.
Регистр накопления «ТоварыНаСкладах» имеет вид «Остатки», измерения «Номенклатура» и «Склад», ресурс «Количество». Параметр Склад — ссылка на склад «Основной», а не строка с его названием. Запрос выполняется на сервере.
Если непонятно, откуда берётся NULL, сначала разберите три разных случая: Неопределено, NULL и пустую ссылку.
ВЫБРАТЬ
Товары.Ссылка КАК Номенклатура,
Остатки.КоличествоОстаток КАК Остаток
ИЗ
Справочник.Номенклатура КАК Товары
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрНакопления.ТоварыНаСкладах.Остатки() КАК Остатки
ПО Товары.Ссылка = Остатки.Номенклатура
ГДЕ
Остатки.Склад = &СкладВЫБРАТЬ
Товары.Ссылка КАК Номенклатура,
ЕСТЬNULL(Остатки.КоличествоОстаток, 0) КАК Остаток
ИЗ
Справочник.Номенклатура КАК Товары
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрНакопления.ТоварыНаСкладах.Остатки(
, Склад = &Склад) КАК Остатки
ПО Товары.Ссылка = Остатки.НоменклатураРазбор: левое соединение само по себе не спасает строку
У стойки справа нет пары, поэтому поле Склад получает NULL и условие в ГДЕ не проходит. В исправленном варианте остатки сразу получаются для выбранного склада, а ЕСТЬNULL показывает ноль для отсутствующего остатка. Простая замена NULL в списке полей без изменения отбора проблему не решит.
Проверьте себя. Добавьте кабель на другой склад: число 5 в отчёте не должно измениться. Уберите все движения с выбранного склада: оба товара должны остаться с нулём. Если регистр имеет ещё измерения, проверьте, не появились ли несколько строк на один товар.
Подготовьте честный рассказ об опыте
Про учебный проект говорите прямо: «сделал в учебной конфигурации», «проверил на выдуманных данных», «изменил после разбора». Из прошлой профессии покажите полезные навыки, но не приписывайте себе роли и ответственность, которых не было.
Заранее подготовьте короткий рассказ о сложной ошибке. Ценность такой истории — в поиске причины, исправлении и выводе, а не в масштабе проекта.
Подготовить конкретное описание своей работы поможет учебный образец резюме с комментариями.
Задайте вопросы будущей команде
Уточните, с какими конфигурациями и версиями работает команда, как ставят задачи и проверяют код, есть ли тестовая среда, как выпускают изменения и кто помогает новичку разбираться в предметной области. Ответы помогут оценить рабочую среду и подготовиться к следующему этапу.
Финальная самопроверка
Сначала потренируйтесь самостоятельно в голосовом симуляторе «Собесника». Затем проведите пробное собеседование с другим учеником под запись и разберите обратную связь. Отмечайте не только незнание, но и слишком длинные ответы, отсутствие примера и момент, когда вы перестали слышать вопрос. После этого повторите слабые темы и проверьте подготовку на настоящем собеседовании.
Самопроверка
Частые вопросы
Нужно ли учить ответы дословно?
Нет. Запомните структуру и ключевые связи, а формулировку стройте вокруг собственного примера. Заученный текст плохо переносит уточняющие вопросы.
Что делать, если не знаю ответа?
Не останавливайтесь на «не знаю»: вспомните похожий опыт, объясните ход мысли и скажите, где проверите ответ.
Можно ли показывать учебный код?
Да, если он ваш, не содержит секретов и чужих данных, а вы можете объяснить его устройство, тестовый сценарий и изменения после обратной связи.
Первичные источники
Что проверить дополнительно
Полезный материал
Поделиться статьёй
Сохраните материал или отправьте его тому, кому он пригодится.
Шаг 4 из 5
От учебной задачи к первой работе в 1С
Подготовьтесь уточнять требования, задавать вопросы коллегам и работать с замечаниями.
Следующий шаг
Нужна репетиция и разбор пробелов?
На странице менторства описан формат подготовки и обратной связи.