Языки программирования

Вопросы на собеседовании: 1С

15 уроков · 5 разделов · бесплатно, без регистрации

Реальные вопросы с собеседований на позицию 1С-разработчика — от архитектуры платформы до блокировок, с разбором «как отвечать».

Курс «Вопросы на собеседовании: 1С» состоит из 5 разделов и 15 уроков: Платформа и архитектура, Данные и регистры, Запросы на собеседовании, Блокировки и транзакции и Код и практика. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Платформа и архитектура

    1. Клиент или сервер: что где выполняется

      Как отвечать на собеседовании про клиент-серверную архитектуру 1С: директивы НаКлиенте и НаСервере, почему нельзя обращаться к базе с клиента, цена вызова сервера.

    2. Ссылка или Объект

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

    3. Повторное использование возвращаемых значений

      Собеседование по 1С: как работает повторное использование возвращаемых значений в общих модулях (кеш на вызов и на сеанс), зачем оно нужно и когда кеш устаревает.

  2. 2 Данные и регистры

    1. Регистр сведений или накопления

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

    2. Проведение и движения документа

      Собеседование по 1С: что происходит при проведении документа, роль ОбработкиПроведения и НабораЗаписей, отличие оперативного проведения от неоперативного.

    3. Периодичность и срез последних

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

  3. 3 Запросы на собеседовании

    1. Параметры виртуальных таблиц против ГДЕ

      Почему условие в параметрах виртуальной таблицы 1С быстрее того же условия в ГДЕ: разбор для собеседования с примерами Остатки() и объяснением, что происходит под капотом.

    2. Запрос в цикле: как найти и починить

      Антипаттерн «запрос в цикле» в 1С: почему он убивает производительность, как переписать на один запрос с соединением или временной таблицей и как искать такие места в коде.

    3. NULL в 1С и его ловушки

      NULL в языке запросов 1С: откуда он берётся при левом соединении и пустом регистре, почему NULL не равен нулю и пустой строке, как использовать ЕСТЬNULL и отличать NULL от Неопределено.

  4. 4 Блокировки и транзакции

    1. Управляемые блокировки

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

    2. Взаимоблокировки (deadlock)

      Взаимоблокировки (deadlock) в 1С: как два процесса намертво блокируют друг друга, почему спасает единый порядок обращения к ресурсам и типовые сценарии deadlock при проведении документов.

    3. Транзакции и их подводные камни

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

  5. 5 Код и практика

    1. ПередЗаписью, ПриЗаписи, ПриПроведении

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

    2. «Что не так с этим кодом»

      Формат живого собеседования по 1С: во фрагменте кода находим дефекты — запрос в цикле, обращение к базе с клиента, отсутствие блокировки.

    3. Рефакторинг плохого кода 1С

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