Вначале желательно подумать, кто нужен. У нас командная работа, с тестировщиками и аналитиками-консультантами которые знают бизнес процессы. Стараемся планировать задачи на 1-2 недели вперед и выполнять их. Работаем с УТ 11, тонкий клиент, управляемые формы. Знания бух.учета и зарплаты не нужны. Много интеграций со сторонними WEB и HTTP сервисами.
Нам нужен был человек, который умеет работает в команде. Если он чего то не знает, то способен самостоятельно узнать, как работает тот или иной механизм 1с. Умеет задавать вопросы или спрашивать совета у других программистов. В вилку зарплаты, которую утвердило руководство можно найти середнячка: не начинающего и не профи.
Постепенно я начал записывать вопросы, которые мне бы помогли понять, на каком уровне находится кандидат. Обычные вопросы из серии «Почему ушли с последнего места работы?» я оставил эйчару.
Сразу предупрежу, эти вопросы для поддержания разговора, если человек сам ни чего не может рассказать. И это не тест, с правильными или не правильными ответами. При озвучивании вопроса кандидат всегда задает уточняющие вопросы. Это как раз и показывает, как человек мыслит и что знает. Так же я задаю не все вопросы из данной статьи, обычно, по 1-2 из каждого раздела
Вопросы не связанные с программированием, что бы познакомиться:
- Какие курсы проходили последние, что нового изучали?
- Как работали в команде или в одиночку на прошлой работе?
- Кто ставил задачи?
- Кто продумывал архитектуру?
- Какие задачи больше всего нравятся?
Общие:
- Когда лучше использовать справочник, когда регистр сведений? Чем они отличаются? Тут часто начинаю рассказывать про периодичность в РС, я тогда переспрашиваю: если РС не переодический и не подчинен регистратору, в чем отличия?
- Какие функции используете из общих модулей бсп? В идеале, что бы знали что есть функции ЗначениеРеквизитаОбъекта() и почему и когда ее нужно использовать? Чем плохо обращаться через точку.
- Когда нужно использовать транзакцию и для чего она нужна? – как оказалось очень важный вопрос
- Работали ли с web и http –сервисами, что предпочитаете использовать? Дорабатывали ли схемы XDTO?
Клиент – сервер:
- Что можно делать на сервере? Что на клиенте? Зачем нужна директива &НаСервереБезКонтекста? Если человек претендует на максимальную ЗП то можно спросить зачем нужна &НаКлиентеНаСервереБезКонтекста, можно ли передать форму в параметрах итд.
- В каком событии формы, нужно заполнять форму, при открытии или при создании? Почему то еще полно людей, которые делают серверную процедуру, которую вызывают в событии «ПриОткрытии». Наверное, наследие обычных форм
- К каким объектам базы данных можно обратиться на клиенте? Можно ли обратиться на клиенте к перечислениям или предопределенным значениям? Что при этом происходит? Если скажут про вызов сервера и кеширование, то вообще супер.
- Как можно передать таблицу значений с клиента на сервер и обратно? Есть ли вообще таблица значений на клиенте? Если знает, что такое данные формы структура, то молодец. Если скажут, что с клиента на сервер передаются только измененные данные, то вдвойне молодец. Но таких пока не было)
Запросы:
- Описать запрос как получить ссылки на документы РТУ, где больше пяти различных номенклатур. Можно ли поставить условие на группировку?
- Описать запрос "срезпоследних" на различные даты. Например получить курс валюты на дату документа для документов Реализация товаров и услуг за месяц и привести сумму документа в доллары.
- Нужно выбрать поле из составного типа, в чем минус того, если мы просто напишем через точку. Например, из поля регистратор выбрать дату, только документов определенного типа. Знает ли кандидат, для чего нужно «Выразить»
- Где писать условия на виртуальных таблицах уже не спрашиваю, вроде все знают.
- Вопрос повышенной сложности: Какой запрос строится не SQL когда мы обращаемся к таблице остатков?
- Вопрос повышенной сложности: При проведении документа, выполняется запрос получения остатков, для списания по партиям. Что лучше использовать при указании параметра Период: дату документа или момент времени. В чем отличие?
СКД:
- Скд, насколько хорошо знаете? Как сделать необязательные условия?
- Как получить процент строки по группировке? Знаете ли функцию «ВычислитьВыражение».
Вообще есть хороший вопрос который я задаю ближе к концу: Как вы оптимизируете 1с, как оптимизируете запросы? На этот вопрос кандидаты много чего отвечают, что позволяет лучше понять, как глубоко человек копнул вглубь 1с.
Вопросы про блокировки и индексы обычно задаю крутым специалистам, которые уже выше среднего
Индексы:
- Когда нужно создавать дополнительные индексы в таблицах документов, в таблицах регистров?
- Когда нужно индексировать временные таблицы? Замеряли ли скорость с индексацией и без. Часто говорят, что нужно, но я так понимаю, это идет из учебников.
- Какие индексы есть у документов, регистров сведений, регистров накопления?
- Кластерный, не кластерный индекс, в чем отличие. Но это скорее философский вопрос)
Блокировки:
- Работали с блокировками? Когда нужно ставить и для чего нужны? Обычно этих вопросов хватает. Уточняющие вопросы типа: "чем отличается исключительные от разделяемых" не задаю.
Пишите в комментариях, какие вопросы бесят вас больше всего на собеседованиях. Какие вопросы вы задаете, что бы лучше понять уровень кандидата.