Собеседование и тестовое задание для разработчика 1С: что спрашивать и как оценивать
Содержание
Проверить программиста 1С можно за три шага: 15-минутный звонок по резюме, техническое собеседование на 60–90 минут с разбором живого кода и короткое тестовое задание на 3–4 часа в вашей копии базы. Чек-листа «знает / не знает» мало: важнее, как человек рассуждает о запросах, проведении документов и клиент-серверном контексте.
Если в компании нет своего сильного разработчика, пригласите внешнего специалиста хотя бы на техническую часть. Сертификат «1С:Специалист» — хороший сигнал, но он не заменяет просмотр реального кода кандидата.
Первичный отбор: что читать в резюме программиста 1С
Резюме разработчика 1С быстро отсеивает лишних, если смотреть на конкретику, а не на список из 20 конфигураций.
На что смотреть в первую очередь:
- 🧩 Конкретные задачи. «Доработал обмен УТ 11 → БП 3.0 через Конвертацию данных 3, добавил выгрузку маркируемых товаров» лучше, чем «сопровождение 1С».
- 🏗️ Тип работы. Внедрение, сопровождение, франчайзи, разработка с нуля — это разные навыки. Сотрудник франчайзи привык к быстрым мелким задачам, разработчик тиражного решения — к архитектуре.
- 🔢 Версии. Опыт только на 7.7 или обычных формах 8.2 без управляемых форм — заметный пробел для работы с актуальными конфигурациями.
- 🛠️ Инструменты. Расширения конфигурации , хранилище, EDT, Git, СКД, БСП, HTTP-сервисы — каждое упоминание стоит потом проверить вопросом.
- 📜 Сертификаты. «1С:Специалист» по платформе и по конкретной конфигурации, «1С:Профессионал». Номер можно уточнить у кандидата и проверить по реестру.
Что настораживает:
- ⚠️ Перечень всех конфигураций подряд без задач — скорее всего, человек их видел, но не дорабатывал.
- ⚠️ Частая смена мест работы раз в 4–6 месяцев без объяснений.
- ⚠️ «Знание всех типовых» у кандидата с опытом меньше двух лет.
Короткий созвон на 15 минут экономит час собеседования. Попросите рассказать о последней сложной задаче: что было не так, что сделал, сколько заняло. По ответу сразу видно уровень.
Технические вопросы на собеседовании по платформе 1С 8.3
Задавайте вопросы с «почему», а не на определения. Ответ «регистр накопления — это объект метаданных» ничего не говорит о кандидате.
Объекты метаданных и проведение
- Чем регистр сведений отличается от регистра накопления? Когда нужен периодический регистр сведений?
- Какие виды регистра накопления бывают и почему для оборотного регистра нет виртуальной таблицы остатков?
- Что происходит при проведении документа: в каком порядке срабатывают события и где пишут движения?
- Зачем нужна управляемая блокировка при списании остатков и что будет без неё при одновременной работе двух менеджеров?
- Чем отличается оперативное проведение от неоперативного?
Клиент-серверная архитектура и формы
- Какие бывают директивы компиляции и чем
&НаСервереотличается от&НаСервереБезКонтекста? - Почему из клиентского кода нельзя обратиться к объекту базы напрямую?
- Сколько серверных вызовов произойдёт в коде, где в цикле по строкам таблицы на клиенте вызывается серверная процедура? Как это исправить?
- Что такое общий модуль с флагами «Сервер» и «Вызов сервера» и когда второй флаг лучше не ставить?
Язык запросов
Это самая показательная часть. Спросите:
- Почему виртуальную таблицу
Остаткифильтруют через параметры, а не черезГДЕ? - Зачем нужны временные таблицы и пакетные запросы?
- Чем опасно обращение к реквизиту через точку у поля составного типа?
- Как получить последнюю цену номенклатуры на дату по каждой позиции одним запросом?
Сильный кандидат отвечает с примерами из практики, слабый — пересказывает учебник или путается в терминах.
Работа с кодом на собеседовании: разбор чужого фрагмента
Дайте кандидату 20 строк кода с ошибками и попросите найти проблемы вслух. Это занимает 10–15 минут и показывает больше, чем час вопросов.
Пример фрагмента для разбора:
&НаКлиенте
Процедура ЗаполнитьЦены(Команда)
Для Каждого Строка Из Объект.Товары Цикл
Строка.Цена = ПолучитьЦену(Строка.Номенклатура);
КонецЦикла;
КонецПроцедуры
&НаСервере
Функция ПолучитьЦену(Номенклатура)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Цены.Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК Цены
|ГДЕ Цены.Номенклатура = &Номенклатура";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Возврат Выборка.Цена;
КонецФункции
Что должен заметить хороший разработчик:
| Проблема | Почему плохо | Как исправить |
|---|---|---|
| Серверный вызов в цикле | 200 строк — 200 обращений к серверу, форма «висит» | Один вызов, цены на все позиции сразу |
| Запрос в цикле | 200 запросов к базе вместо одного | Передать список номенклатуры, В (&Список) |
Отбор в ГДЕ у среза последних | Срез строится по всему регистру, потом фильтруется | Условие в параметрах виртуальной таблицы |
Нет проверки результата Следующий() | Если цены нет — ошибка при обращении к полю | Проверить результат, вернуть 0 |
Контекстный вызов &НаСервере | Вместе с вызовом на сервер передаются данные формы | &НаСервереБезКонтекста, если форма не нужна |
| Не указана дата среза | Цена на текущую дату, а не на дату документа | Передать Объект.Дата параметром |
Если кандидат нашёл 4–5 проблем из шести и объяснил, как переписать, — это уверенный middle. Две-три — junior. Предложил переписать всё на одном пакетном запросе с временной таблицей и сам заговорил о блокировках при записи — смотрите на него как на senior.
Тестовое задание: как составить и как оценить
Тестовое должно быть похоже на вашу реальную работу и занимать не больше 3–4 часов. Задание на два выходных дня сильные кандидаты обычно не делают: у них есть другие предложения.
Каким может быть задание
- 📦 Для доработок учётной системы: в демобазе БП 3.0 или УТ 11 через расширение добавить реквизит в документ, вывести его в печатную форму и в отчёт на СКД.
- 🔄 Для интеграций: выгрузить остатки товаров в JSON через HTTP-сервис или загрузить заказы из файла с проверкой дублей.
- 🧮 Для сопровождения: найти и исправить ошибку в приложенной выгрузке базы (
.dt) — например, неверные движения документа.
Не давайте кандидату копию рабочей базы с реальными данными клиентов и сотрудников. Используйте демобазу или обезличенную выгрузку — иначе вы передаёте персональные данные постороннему человеку.
Критерии оценки кода
Оценку договорите заранее, до того как увидите результат. Удобна шкала 0–2 по каждому пункту:
| Критерий | 0 баллов | 2 балла |
|---|---|---|
| Работоспособность | Не запускается или падает | Работает на всех сценариях из ТЗ |
| Способ доработки | Правка типовой конфигурации | Расширение, типовая не снята с поддержки |
| Запросы | Запросы в цикле, обращения через точку | Пакетный запрос, отборы в параметрах |
| Клиент-сервер | Лишние серверные вызовы | Минимум вызовов, верные директивы |
| Читаемость | Переменные а1, Т, нет комментариев | Понятные имена, стандарты разработки 1С |
| Крайние случаи | Пустые значения не обработаны | Проверки на пустые, сообщения пользователю |
| Пояснение | Нет описания | Короткая записка: что сделал и почему |
Сумма из 14 возможных баллов: от 11 — сильный результат, 7–10 — нормальный, ниже 7 — стоит отказать или дать время на доработку.
Защита тестового
После проверки проведите 20-минутную встречу: попросите объяснить решение и спросите, что изменится, если строк будет 100 000. Это отсекает тех, кто сдал чужой код или код, сгенерированный нейросетью без понимания.
Знание типовых конфигураций 1С: что проверить
Платформу знают многие, а предметную область — меньше. Программисту, который дорабатывает учёт, нужно понимать, что делает бухгалтер.
Вопросы по Бухгалтерии предприятия 3.0:
- Что делает обработка «Закрытие месяца » и почему порядок регламентных операций важен?
- Где посмотреть движения документа по регистрам и чем бухгалтерские проводки отличаются от движений по регистрам накопления?
- Как устроен учёт НДС: какие документы формируют записи книги покупок?
Вопросы по УТ 11, КА 2, ERP:
- Чем отличается ордерная схема склада от обычной?
- Как устроены «Заказы клиентов» и обеспечение?
- Как работает механизм обмена с бухгалтерией и что делать, если документ не выгрузился?
Вопросы по ЗУП 3:
- Почему документы начисления зарплаты нельзя исправлять задним числом без последствий для перерасчётов?
- Где задаются виды расчёта и как связаны начисления и удержания?
Кандидату не обязательно помнить всё. Хороший ответ: «Точно не помню, я бы посмотрел движения документа и модуль проведения, вот как». Это и есть рабочий навык.
Про БСП тоже спросите: какие подсистемы использовал, как добавлял печатную форму или дополнительный реквизит без изменения типовой. Почти все типовые конфигурации построены на Библиотеке стандартных подсистем, и знание её экономит часы.
Отладка, производительность и администрирование: проверка на практике
Разработчик, который не умеет отлаживать, на сопровождении будет тонуть. Проверьте это руками, а не на словах.
Отладка
Попросите на демобазе поставить точку останова в модуле проведения и показать значение переменной. Посмотрите, как человек работает с отладчиком:
- использует ли условные точки останова;
- знает ли, как включить отладку
на сервере (в клиент-серверном варианте сервер 1С запускают с ключом
-debug); - умеет ли смотреть стек вызовов и «табло».
Производительность
- Пользовался ли замером производительности? Что ищет в результатах?
- Что такое технологический журнал и для чего его включают через файл
logcfg.xml? - Как найти, какой запрос тормозит проведение документа?
Администрирование
Для штатного программиста в небольшой компании это часто часть работы:
- 🗄️ Как выгрузить и загрузить информационную базу (
.dt), чем это отличается от резервной копии СУБД. - 🔐 Как настроить роли и права пользователя, что такое ограничение доступа на уровне записей (RLS).
- 🧹 Что делать при ошибке после обновления: очистка кеша (
/ClearCache), тестирование и исправление базы, проверка журнала регистрации. - 🌐 Опыт с кластером серверов 1С, консолью администрирования, PostgreSQL или MS SQL.
Не разрешайте кандидату проверять навыки администрирования на рабочей базе. Даже простое тестирование и исправление может надолго заблокировать работу пользователей.
Soft skills: как программист 1С общается с пользователями
Программист 1С почти всегда работает с бухгалтерами, кладовщиками и руководителями. Технически сильный, но неконтактный разработчик создаст больше проблем, чем решит.
Что проверить:
- 🗣️ Умение переспрашивать. Дайте расплывчатую задачу: «Сделайте, чтобы отчёт по продажам был удобнее». Хороший кандидат задаст 3–5 уточняющих вопросов, прежде чем предлагать решение.
- 📝 Оценка сроков. Попросите оценить задачу из тестового. Насколько реальной оказалась цифра?
- 🤝 Работа в команде. Как устроена работа с хранилищем конфигурации или Git, был ли код-ревью, как решал конфликты при объединении.
- 🔍 Признание ошибок. Спросите о случае, когда доработка сломала учёт. Если «такого не было» — либо мало опыта, либо человек не готов говорить честно.
- 📚 Самообучение. Что читал или смотрел за последние полгода, участвует ли в профессиональных сообществах.
Отдельно спросите, как кандидат поступит, если бухгалтер просит «быстро поправить проводку в закрытом периоде». Правильный ответ — не делать это молча, а согласовать с главным бухгалтером.
Испытательный срок и типичные промахи при найме разработчика 1С
Собеседование не показывает всего. Окончательно уровень видно на реальных задачах.
Как использовать испытательный срок
Испытательный срок оговаривают в трудовом договоре, по общему правилу он не превышает трёх месяцев (ст. 70 ТК РФ). За это время:
- В первую неделю дайте доступ к копии базы и хранилищу, попросите разобраться в доработках.
- Со второй недели — 2–3 небольшие реальные задачи с понятным сроком.
- К концу первого месяца — одну задачу среднего размера целиком: от уточнения ТЗ до сдачи пользователю.
- Раз в две недели — короткий разбор: что получилось, где были проблемы.
Чего избегать работодателю
| Промах | Последствие |
|---|---|
| Проверка только по теоретическим вопросам | Нанимаете того, кто хорошо готовился к собеседованию |
| Тестовое на 2–3 дня без оплаты | Сильные кандидаты отказываются |
| Нет критериев до проверки | Оценка «нравится / не нравится» |
| Только технические вопросы | Конфликты с пользователями после выхода |
| Доступ к рабочей базе с первого дня | Риск для учёта и персональных данных |
Сколько стоит независимая проверка программиста 1С?
Нужно ли платить за тестовое задание?
Можно ли доверять сертификату «1С:Специалист»?
Как понять, что тестовое сделано с помощью нейросети?
Чем junior отличается от middle в 1С?
Источники
- Трудовой кодекс Российской Федерации, ст. 70 «Испытание при приеме на работу»