Как тестировать консультантов 1с
Статья будет полезна руководителям подразделений/проектов, у кого ещё не сформирован свой фиксированный перечень вопросов, по которому они определяют, подходит им кандидат или нет.
Также будет полезна программистам, которые задумываются о карьерном росте, и ещё не сформировали себе окончательный карьерный план, возможно, в него имеет смысл внести коррективы.
Попытался систематизировать собственный опыт и некоторые знания в области HR, составив некоторый портрет "идеального программиста 1С". После того, как такой "портрет" получилось построить, выбрал все знания/умения/навыки, которыми такой "идеальный" кандидат должен обладать, выбрал 10 наиболее важных (по моему опыту) и сформулировал вопросы, которыми данные качества/знания/навыки можно проверить. Всё это мы неоднократно проделываем на собеседовании, вот только времени обычно на это минуты 2-3, потому как не привыкли же мы заранее продумывать вопросы, которые зададим.
Вопрос 1 Есть ли у Вас сертификаты 1С? Какие?
В России мы привыкли пренебрежительно относиться ко "всякого рода бумажкам". Это общий подход. Жизнь научила нас им не доверять. Привыкли мы к "купленным правам", "купленным дипломам" и т.п. Тем не менее, таким замечательным инструментом первичной оценки знаний нужно пользоваться. 1С достаточно трепетно относится к выдаче своих сертификатов (что касается "Специалист" и выше). "Покупать" сертификаты вряд ли кто будет - не такая это большая ценность, чтобы пытаться, да и не просто это, я думаю. Круг лиц весьма ограничен. А о чём говорит сертификат "1С Специалист":
- Есть хоть какая-то школа. При сдачи экзаменов 1С смотрят не просто как человек умеет ездить (программировать), а как человек умеет ездить по правилам (программировать по методикам)
- Как минимум - человек программировать в 1С умеет, может и не большой профи, но умеет, поэтому кучу всевозможных проверок одним вопросом мы отбрасываем
Лучше всего если у кандидата несколько сертификатов - по платформе и по прикладному решению с которым ему предстоит работать.
Но очень внимательно отнеситесь если у кандидата много сертификатов, либо среди них есть сертификаты вида "Руководитель проекта, ведущий консультант, Эксперт по техн. вопросам". Если эти люди ищут работу обычным программистом - на то должны быть другие причины, кроме того уровень желаемого дохода может оказаться несоразмерным вашему бюджету.
Вопрос 2. Вы знакомы с документом "Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8"?
Вопрос 4. Насколько хорошо вы знаете функциональность прикладного решения ". "? Перечислите основные процедуры проведения Документа в решении ". ".
"Доверяй но проверяй". Прикладное решение естественно должно использоваться (планироваться к использованию) в вашей организации и заявлено у программиста в резюме как знакомое. Собственно если человек достаточно хорошо знает "внутренности" того или иного прикладного решения, В модули проведения документа он вмешивался не один раз. Изменения, которые не влияют на проведение, часто можно считать "косметическими". А уж если приходилось добавлять новые документы в рамках функциональности прикладного решения, и добавлять их "правильно", то эти процедуры надолго отложатся в памяти. Проверить конечно это стало достаточно трудно, т.к. в решениях на 8.2 логика проведения поменялась, и следовательно процедуры поменялись тоже.
Для УТ 11 на момент написания статьи они такие:
ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);
ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
. ОтразитьДвижение. (ДополнительныеСвойства, Движения, Отказ);
СформироватьСписокРегистровДляКонтроля();
ЗаписатьНаборыЗаписей(ЭтотОбъект);
ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
Вообще программист 1С должен хорошо ориентироваться во всех типовых конфигурациях, потому что основная работа квалифицированного программиста не написать код, а грамотно спереть код оттуда где подобная задача уже решена.
Вопрос 5. Перечислите все статьи баланса, которые вы знаете.
Простой тест на превичное знание бух. и упр. учета. Собственно должно получиться что-то похожее на
Вопрос 6. Вам знакомо понятие "Валюта Баланса"?
Вопрос 9. Бухгалтер просит вас перенумеровать счета фактуры по организации ООО ". " за текущий месяц. Посмотрев ситуацию вы находите там всего 10 счетов фактур. Что бы вы сделали?
Самая типичная ситуация на примере которой выясняется личностное поведение программиста. Однозначно правильного ответа на данный вопрос нет. Зато есть однозначно неправильный - "перенумерую руками". Это именно то поведение, которое часто встречается даже у квалифицированных программистов, но резко снижает их полезность для организации. Выполнять какую-либо операторскую работу программист не должен - это не рентабельно для компании, т.е. разница в з/п обычно составляет 2-3 и более порядков.
Идеальным вариантом будет использование ключевой фразы: "при отсутствии текущих задач" или "небольшой текущей загрузке" напишу илилучше скачаю механизм перенумерации объектов, и научу бухгалтера им пользоваться. Либо "при высокой текущей загрузке" позвоню и вежливо предложу перенумеровать СФ самостоятельно, в случае необходимости объясню как это сделать.
Но собственно в данном случае всё зависит от того, какого человека вы ищите. Если проектника (задачи внедрения), то конечно иделальным поведением будет "вежливо попросить" бухгалтера не приставать с такими вопросами, если же на поддержку, то вариант с "вежливо попросить" просто отпадает.
Вопрос 10. Вам знакома библиотека ITIL? А технология PMI?
Если вы ищите только программиста, то на эти вопросы лучше если будет отрицательный ответ. ITIL - библиотека Best practice процессного менеджмента для управления процессами ИТ. PMI - технология управления проектами. Собственно 2 самых популярных инструмента ИТ руководителей на момент написания данной статьи. Если кандидат знаком с ITIL следовательно он наметил для себя карьеру ИТ директора в будущем. Если PMI - следовательно стремится стать менеджером проектов. Если же человек достаточно хорошо знаком или с одним или с другим то нужно заранее планировать либо карьерный рост кандидата, либо его уход из компании.
Расшифровка результатов
Естественно все результаты рассмотреть не получится - много возможных сочетаний. Могу только сказать что вопросы расположены в порядке убывания их значимости. В принципе положительно ответивший на первые 3-4 вопроса кандидат - уже очень хороший вариант для приёма на работу/в проектную команду. В таблице ниже попытался рассмотреть ещё несколько "типичных" случаев программистов, и по каким ответам их проще распознать. Ответы не обязательно полностью должны совпасть с тем что указано. На указанные вопросы должны быть положительные ответы - точно. Может быть ещё 1 или 2 положительных ответа. Особое внимание стоит обратить только на вопросы 7 и 8. Человек ответивший положительно только на них как правило не тот кто вам нужен.
Ответы
Комментарий
Денег платить придётся не мало. Кандидат конечно этого стоит, но столько ли у вас задач, чтобы использовать потенциал? Посадить такого программиста на суппорт будет явно не рентабельно
Вы готовы заняться обучением?
Типичный случай бухгалтера-программиста. Не очень плохой вариант. Нужно дополнительно пообщаться на предмет технического мышления. Если хоть немного присутствует для суппорт-а бухгалтерии и финансов такой программист очень неплохо подойдёт. Для реальной разработки сложного и нового функционала – скорее нет
Очень плохой случай. Вы имеет дело с типичным технарем. Как правило, эти люди очень самолюбивы, 1С считают «убогим продуктом, с которым им приходится работать». Управлять ими трудно, добиться чего-либо полезного ещё труднее. Все задачи решаются «творчески». Часто поступают «интересные» предложения вроде «перейти на Linux », написать систему самому на C ++ и т.п. Без «плюсов» в 1, 2 и 3 таких людей лучше не брать.
Собственно перед вами скорее человек который претендует на руководящую позицию чем разработчик.
Перед вами Администартор-программист. Очень часто в мелких компаниях одному человеку приходится сочетать эти качества. Человек привык к суппорту наверно даже идеален для такового, но для использования в более серьёзных проектах скорее всего потребуется дополнительное обучение.
Все решения авторские, потому любые замечания, предложения и критика только приветствуется. Все ответы проверены на сайте учебного тестирования.
В данной стате представлены решения раздела №2
«Вопросы эксплуатации кластера серверов».
02.01 — 4
Пользователи, от чьего имени будут работать рабочие процессы и менеджеры кластера, должны обладать следующими привилегиями:
Пользователю в любом случае даются необходимые права на каталог служебных файлов сервера …
02.02 — 4
Файл swpuser.ini предназначен для переопределения пользователей, от имени которых будут выполняться рабочие процессы и менеджер кластера. По умолчанию рабочий процесс и менеджер кластера выполняются от имени того же пользователя, что и агент сервера.
02.03 — 4
Список рабочих процессов можно посмотреть как в консоли кластера серверов (вкладка «Рабочие процессы»)
или в диспетчере задач, по имени процесса rphost.
Однако возможна ситуация, когда рабочий процесс присутствует в консоле кластера, но отсутствует в диспетчере задач (процесс не активен), и наоборот, например, при аварийном завершении процесса. Поэтому наиболее точно получить список всех рабочих процессов кластера можно выбрав пересечение списков с точки зрения ОС и с точки зрения кластера серверов.
02.04 — 6
Определить каталог, из которого запущен сервер 1С можно одним из следующих способов:
1. Из диспетчера задач, открыв место хранения файла процесса ragent.exe 2. Открыв свойства соответствующей службы:
02.05 — 3
Для того,чтобы перезапустить рабочие процессы кластера серверов 1С, не обязательно перезапускать агента кластера, и уж тем более нет нужды перезапускать операционную систему. Достаточно настроить интервал перезапуска рабочих процессов в консоли кластера серверов 1С.
02.06 — 1
Элемент определяет параметры дампа, создаваемого при аварийном завершении приложения.
Тип дампа, произвольная комбинация приведенных ниже флажков, представленная в десятичной или шестнадцатеричной системе (сложение значений флагов). Представление в шестнадцатеричной системе должно начинаться с символа «x», например, x0002.
Для большинства случаев достаточно в качестве значения атрибута type использовать значение 3, например, type=«3».
02.07 — 4
В случае зависания процессов платформа не сможет сформировать дамп, даже в случае правильной настройки технологического журнала. Для этих целей следует использовать утилиту procdump.exe.
ЦКК также использует procdump.exeдля снятия дампов зависших процессов.
Дампы зависших процессов снимаются Агентом ЦКК с помощью утилиты procdump.exe, убедитесь, что ее файл присутствует в указанном каталоге.
02.08 — 3
ЦКК выполняет следующие функции:
- Автоматизация контроля:
- ЦКК автоматически контролирует множество технологических показателей информационной системы, выполняя по расписанию контрольные процедуры и собирая показатели производительности операционной системы;
- ЦКК своевременно оповещает ответственных о возможных сбоях. Оповещения могут отсылаться по электронной почте, SMS и Skype.
- ЦКК наглядно отображает качество работы системы исходя из информации, полученной при выполнении контрольных процедур, и записывает сведения о качестве в журнал.
- для каждой контрольной процедуры ЦКК позволяет распределить ответственность за выполнение задач по обслуживанию системы между пользователями ЦКК;
- ЦКК автоматически оповещает о необходимости выполнения задач по обслуживанию системы тех пользователей, которые ответственны за их выполнение.
- ЦКК хранит детальное описание всех объектов контроля и список контрольных процедур, которые должны выполняться для обеспечения качества работы каждого объекта;
- предоставляет информацию по методикам выполнения каждой контрольной процедуры;
- предоставляет рекомендации по действиям,необходимым для повышения качества работы системы.
Таким образом, из всех представленных вариантов, наиболее полную статистику аварийных завершений процессов может предоставить именно ЦКК:
02.09 — 3
Из всех представленных вариантов такую информацию можно получить только с помощью Монитора ресурсов:
02.10 — 4
Список всех PID всех процессов кластера можно получить из ветки «Рабочие процессы» в консоли кластера серверов 1С.
Однако возможна ситуация, когда некий рабочий процесс будучи запущен, по ряду причин не отображается в консоли кластера серверов 1С (процесс не активен). В ОС Windows все запущенные процессы можно увидеть в диспетчере задач на вкладке «Процессы»:
Или на вкладке «Подробности» в более поздних версиях Windows:
02.11 — 5
Увидеть процесс, создающую максимальную нагрузку на CPU можно как в диспетчере задач на вкладке «Процессы» (или «Подробности») отсортировав все процессы по параметру «ЦП»:
Или выполнив эти же действия в Мониторе ресурсов:
02.12 — 5
В состав любого кластера должен входить минимум один рабочий сервер, у которого установлено свойство Центральный сервер. Максимальное количество центральных серверов не ограничено. Это означает, что для всех рабочих серверов, входящих в состав кластера серверов,можно установить флажок Центральный сервер.
В состав рабочего сервера может входить минимум один менеджер кластера. Если менеджер кластера работает на центральном сервере, то он называется главным менеджером кластера.
02.13 — 5
Основной единицей кластера серверов выступает рабочий сервер. Рабочий сервер ‑ это компьютер, на котором выполняется агент сервера (ragent).
Рабочая часть рабочего сервера включает в себя менеджер кластера (rmngr) и рабочий процесс (rphost).
02.14 — 1
Уровень отказоустойчивости определяет максимальное количество рабочих серверов, входящих в состав кластера, одновременный выход из строя которых не приведет к аварийному завершению сеансов подключенных пользователей. Надо понимать, что «выход из строя» подразумевает ситуации,подобные следующим: отключение питания компьютера, разрыв сетевого кабеля,проблемы с операционной системой, не позволяющие запустить процесс и т. д.
Таким образом, если в кластер серверов входит только один рабочий сервер, то максимальный уровень отказоустойчивости будет 0, т. к. выход из строя единственного рабочего сервера приведет к аварийному завершению всех подключенных пользователей. Если в кластер входит 4 рабочих сервера, то уровень отказоустойчивости может изменяться от 0 до 3. При этом 0 означает, что фатальным считается выход из строя любого рабочего сервера, а значение 3 означает, что кластер сохранит работоспособность даже в том случае, если выдут из строя 3 из 4 рабочих серверов.
Таким образом, можно вывести следующую формулу, связывающую количество центральных серверов в кластере и уровень отказоустойчивости: Количество центральных серверов = Уровень отказоустойчивости + 1.
02.15 — 1
Процент доступности, приведенный в таблице, рассчитывается как отношение количества минимально доступного фактического времени работы системы только в штатном режиме за период (например, количество часов за квартал) к общему количеству часов за период.
- Е. В. Филиппов «Настольная книга 1С:Эксперта по технологическим вопросам», стр. 31
02.16 — 4
Напрямую влиять на число рабочих процессов в кластере серверов 1С:Предприятие 8.3 нельзя. Но в параметрах рабочего сервера можно настроить параметры «Количество ИБ на процесс» и«Количество соединений на процесс», которые будут влиять на число рабочих процессов в кластере.
Изменение данных параметров разрешается в версии платформы КОРП. Ограничения ПРОФ касаются текущей политики лицензирования.
02.17 — 2
Файл logcfg.xml служит для настройки параметров технологического журнала и механизма генерации дампов памяти при аварийном завершении работы системы «1С:Предприятие».
02.18 — 3
Файл 1CV8Clst.lstрасположен в каталоге данных каждого рабочего сервера, отмеченного как центральный.
Файл содержит реестр кластера и хранит следующую информацию:
02.19 — 1
Файл swpuser.ini предназначен для переопределения пользователей, от имени которых будут выполняться рабочие процессы и менеджер кластера. По умолчанию рабочий процесс и менеджер кластера выполняются от имени того же пользователя, что и агент сервера.
02.20 — 1
Скорее всего, опечатка в тексте вопроса. Полностью вопрос должен звучать так:
В этом случае, правильный ответ — 1CV8Reg.lst.
02.21 — 2
Напрямую влиять на число рабочих процессов в кластере серверов 1С:Предприятие 8.3 нельзя. Но в параметрах рабочего сервера можно настроить параметры «Количество ИБ на процесс» и«Количество соединений на процесс», которые будут влиять на число рабочих процессов в кластере.
Изменение данных параметров разрешается в версии платформы КОРП.
02.22 — 2
Напрямую влиять на число рабочих процессов в кластере серверов 1С:Предприятие 8.3 нельзя. Но в параметрах рабочего сервера можно настроить параметры «Количество ИБ на процесс» и«Количество соединений на процесс», которые будут влиять на число рабочих процессов в кластере.
02.23 — 3
В том случае, если в результате анализа собранных показателей процесс признается проблемным (из анализа исключается показатель доступной производительности), то возможно принудительное завершение проблемного процесса (с формированием дампа аварийного завершения).Принудительное завершение (и формирование дампа аварийного завершения)выполняется в том случае, если в свойства кластера установлен флажок Принудительно завершать проблемные процессы. Процессы на дополнительных серверах завершаются с помощью запросов к соответствующим агентам кластера.
Рабочий процесс может также завершиться и при снижении текущей нагрузки.
Таким образом, возможны оба варианта.
02.24 — 2
Обслуживание каждого клиентского соединения рабочий процессвы полняет в отдельном потоке. Таким образом, в некоторый момент времени рабочий процесс может выполнять несколько клиентских потоков, количество которых, как правило, меньше количества соединений (т. к. не все соединения активны постоянно). Среднее количество клиентских потоков как раз и показывает среднее(за сутки) количество потоков, выполняемых рабочим процессом одновременно.
02.25 — 4
Чтобы отобразить список соединений для отдельной информационной базы, следует в дереве центральных серверов выбрать нужный центральный сервер, выбрать нужный кластер, выбрать нужную информационную базу,а затем выбрать и раскрыть ветку Сеансы.
В поле свойств отображается список сеансов, содержащий следующую информацию:
Время вызова(текущее) — текущее время исполнения последнего незавершенного серверного вызова.
02.26 — 6
Рабочая часть рабочего сервера включает в себя менеджер кластера (rmngr) и рабочий процесс (rphost).
Рабочий процесс непосредственно обслуживает клиентские приложения, взаимодействует с сервером баз данных,исполняет код, который в прикладном решении отмечен как выполняемый на сервере.
Вся функциональность менеджера кластера серверов разделена на несколько независимых сервисов. Каждый сервис обладает некоторыми характеристиками. Далее приведен список сервисов, с кратким описанием и указанием состава характеристик:
- Обеспечивает взаимодействие с внешними базами данных с помощью интерфейса ODBC.
02.27 — 2
Максимальный объем памяти рабочих процессов — Максимальный объем памяти (в байтах), доступный всем рабочим процессам кластера на данном рабочем сервере.
Может принимать значение от -1 до 9 223 372 036 854 775 807:
- -1 ‑ не ограничен максимальный объем памяти, доступный рабочим процессам кластера на данном рабочем сервере;
- 0 ‑ значение определяется автоматически как 80% объема оперативной памяти сервера.
Если в течение вызова значение ПамятьЗаВызов превысило значение Безопасный расход памяти за один вызов, и значение ПамятьПроцессаТекущая+ПамятьЗаВызов превысило значение Максимальный объем памяти рабочих процессов, то вызов прерывается исключением и завершается аварийно. При этом в технологический журнал выводится событие EXCP, содержащее:
- Текст исключения;
- Контекст исключения.
02.28 — 3
Допустимый объем памяти __ KB — Устанавливает предельный объем виртуального адресного пространства, после постоянного превышения которого в течение определенного времени (см. следующий параметр) рабочий процесс или менеджер кластера будет автоматически перезапущен. Нулевое значение означает, что критический объем памяти не задан и автоматический перезапуск процессов не выполняется.
Интервал превышения допустимого объема памяти __ секунд — Определяет интервал времени постоянного превышения предельного объема виртуального адресного пространства,занимаемого рабочим процессом или менеджером кластера (см. предыдущий параметр), после которого выполняется автоматический перезапуск процесса. Нулевое значение означает, что автоматически перезапуск рабочих процессов не выполняется.
02.29 — 2
Таким образом, если для выполнения конкретного фонового задания, не достаточно максимального объема оперативной памяти, необходимо оптимизировать код конкретного фонового задания.
02.30 — 4
В отличии от я сервера 1С версии 8.3 (предыдущий вопрос), в версии 8.2 есть возможность вручную добавить необходимое количество рабочих процессов. Таким образом можно обойти ограничение на максимальное использование оперативной памяти для одного процесса и попробовать выполнить фоновые задания на разных рабочих процессах.
02.31 — 4
Идем от обратного. В документации не сказано ничего об ограничениях на разрядность серверов в кластере.
02.32 — 4
При добавлении рабочего сервера в кластер, по умолчанию выставляются следующие параметры:
- Количество ИБ на процесс — 8
- Количество соединений на процесс — 128
02.33 — 1
Максимальный объем памяти для Windows Server 2008 R2 Standard равен 32 GB.
02.34 — 4
Согласно описанию на ИТС «2.1.7.3. Требования назначения функциональности» существует возможность «Назначать» «Клиентские соединения с ИБ» на определенный рабочий сервер.
Если необходимо разместить все фоновые задания на рабочем сервере SRV1, то для этого необходимо для рабочего сервера SRV1 задать следующее требование назначения функциональности:
Смотрите также:
В данном вебинаре я расскажу о применяемых в нашей компании правилах и приемах доработки типовых конфигураций 1С для облегчения их дальнейшей поддержки и обновления. В видео использованы материалы…
Небольшая зарисовка на тему, какие были бы сливные трубы, если бы их делали 1С-ники.
Запись опубликована в рубрике Эксперт 1С с метками 1С:Профессионал, 1С:Эксперт. Добавьте в закладки постоянную ссылку.
Все решения авторские, потому любые замечания, предложения и критика только приветствуется. Все ответы проверены на сайте учебного тестирования.
В данной стате представлены решения раздела №1
«Вопросы эксплуатации серверов приложений».
01.01 — 5
01.02 — 6
Осуществлять сбор данных по загруженности оборудования с рабочего серверов ОС Windows, можно с помощью:
01.03 — 1
Список некоторых файлов файловой системы /proc с описанием хранящегося в них содержимого:
- /proc/loadavg — средняя загрузка системы
- /proc/cpuinfo — модель и характеристики процессора
- /рrос/vmstat — информация об использовании виртуальной памяти
- /proc/meminfo — информация о системной памяти
- /proc/stat — различные статистические данные с последней перезагрузки
- /proc/iomem — карта текущей системной памяти для устройств
- /рrос/swaps — информация о пространстве подкачки
01.04 — 1
Physical Disk Avg. \ Disk Queue Length показывает очередь к дискам. Критичным является показатель больший, чем 2 * количество дисков, работающих параллельно.
01.05 — 1
Список некоторых файлов файловой системы /proc с описанием хранящегося в них содержимого:
- /proc/loadavg— средняя загрузка системы
- /proc/cpuinfo — модель и характеристикипроцессора
- /рrос/vmstat — информация об использованиивиртуальной памяти
- /proc/meminfo — информация о системной памяти
- /proc/stat — различные статистические данные споследней перезагрузки
- /proc/iomem — карта текущей системной памяти дляустройств
- /рrос/swaps — информация о пространстве подкачки
01.06 — 1
Хоть в документации и указано, что значение счетчика Pages\sec не должно превышать 20, однако однозначный вывод о нехватке памяти делать нельзя. Необходим комплексный анализ всех необходимых счетчиков производительности.
01.07 — 1
Узнать, из какой директории запущен кластер серверов можно с помощью диспетчера задач:
1. Находим в списке процесс ragent.exe, в контекстном меню выбираем «Open file location»
2. Откроется каталог с исходным файлом
01.08 — 1
Если необходимо разместить все фоновые задания на рабочем сервере SRV1, то для этого необходимо для рабочего сервера SRV1 задать следующее требование назначения функциональности:
- Комплект вопросов сертификационного экзамена «1С:Профессионал» по технологическим вопросам с примерами решений. Раздел 2. Примеры экзаменационных заданий.
01.09 — 2
Если необходимо настроить кластер серверов таким образом,чтобы информационную базу DemoDB обслуживал только рабочий сервер SRV3, а информационную базу WorkDB обслуживали оба рабочих сервера: SRV1 и SRV2, то для этого необходимо настроить следующие правила:
- Для рабочего сервера SRV3:
- Объект требования: Любой объект требования.
- Тип требования: Назначать.
- Имя ИБ: DemoDB.
- Значение дополнительного параметра: не указывается.
- Для рабочих серверов SRV1 и SRV2:
- Объект требования: Любой объект требования.
- Тип требования: Назначать.
- Имя ИБ: WorkDB.
- Значение дополнительного параметра: не указывается.
Указанные правила «разнесут» по рабочим серверам все механизмы кластера серверов: соединения, фоновые задания, сервисы сеансовых данных и т. д.
01.10 — 4
Соединение является средством доступа сеансов к кластеру серверов«1С:Предприятия», содержит ограниченное множество данных соединения, не отождествляется с активным пользователем. Также соединения используются для взаимодействия процессов кластера.
01.11 — 1
Сеанс определяет активного пользователя информационной базы и поток управления этого пользователя.Активным пользователем может являться:
01.12 — 2
Сеансы могут быть активными и спящими. Одно из назначений спящего сеанса ‑ сохранение работоспособности клиентского приложения после перехода клиентского компьютера в различные режимы энергосбережения. Сеанс переходит в спящее состояние в двух случаях:
- При нештатном разрыве соединения, назначенного сеансу (для толстого клиента, внешнего соединения, тонкого клиента при прямом соединении с сервером). При физическом отключении сети сервер обнаруживает разрыв соединения с клиентским приложением в течение 2-3 минуты.
- По истечении интервала времени, в течение которого клиентское приложение, использующее сеанс, не проявляется активности (для веб-клиента и тонкого клиента при подключении через веб-сервер). Если компьютер клиента не находится в режиме энергосбережения, и клиентское приложение бездействует (не выполняет никаких действий пользователя), то оно периодически вызывает сервер «1С:Предприятия» с интервалом 5-10 минут для поддержания активности сеанса. Поэтому не рекомендуется устанавливать время засыпания сеанса меньше 10 минут.
01.13 — 2
Интервал времени неактивности настраивается в параметрах информационной базы (в конфигураторе). Значение по умолчанию равно 1200 секунд
01.14 — 2
Вопрос неоднозначный. Возможно имеется в виду переустановка соединения на другой рабочий процесс. Если так, то то при установке нового соединения с сервером «1С:Предприятия», системе можно указать, каким образом выбирать рабочий процесс (свойство кластера серверов Режим распределения нагрузки):
- Приоритет по производительности,
- Приоритет по доступной памяти.
В случае указания режима выбора с приоритетом по производительности, при установке нового соединения с сервером «1С:Предприятия» вначале выбирается рабочий сервер с максимальной производительностью. Если таких серверов несколько ‑ рабочий сервер выбирается произвольным образом из этого списка. Затем на выбранном рабочем сервере выбирается рабочий процесс, который обслуживает максимальное количество соединений с необходимой информационной базой. Если таких рабочих процессов несколько ‑ выбирается процесс, который обслуживает максимальное количество соединений с любыми информационными базами. Если и таких рабочих процессов несколько ‑ рабочий процесс выбирается произвольным образом из этого списка.
Существующее соединение с сервером «1С:Предприятия» может быть переустановлено с другим рабочим процессом в одном из следующих случаев:
- текущий рабочий процесс выключен;
- есть рабочий процесс с доступной производительностью не менее чем на 25% большей, чем у данного рабочего процесса.
Переустановка соединения возможна, если выполняются все условия, перечисленные ниже:
- клиентский поток не исполняется на сервере,
- нет открытой транзакции,
- не создано ни одной временной таблицы.
01.15 — 1
Список сеансов может быть отображен двумя способами:
- для всего кластера в целом,
- для отдельной информационной базы.
01.16 — 6
Перезапустить IIS можно двумя способами:
01.17 — 6
В отличии от IIS, Apache представляет из себя всего одну службу, которую можно перезапустить одним из перечисленных способов:
- Из командной строки: apache -k restart.
- Через Управление компьютером — Службы — Перезапустить соответствующую службу.
- С помощью Диспетчера задач.
01.18 — 2
Ни одна из перечисленных программ, кроме Process Explorer не имеет требуемого функционала.
01.19 — 3
Спорный вопрос. По данным на ИТС правильным ответом должен являться ответ 4.
Однако, это не так. Правильный ответ все же 2.
Объяснить ответ можно, например, так:
Длина очереди 2 и выше говорит,что ВОЗМОЖНО дисковая подсистема не справляется с ТЕКУЩЕЙ нагрузкой. Опять же маленькая длина очереди в отсутствие нагрузки тоже ни о чём не говорит.
Показатели Avg Disc Sec (/Write/Read /Transfer) в случаях с HDD независимо от нагрузки (в теории) будут показывать одни и те же значения. И если значения эти плохие, то дисковая система явно не справляется с нагрузкой.
01.20 — 1
Перед тем, как снимать значения показателя загруженности дискового массива, необходимо убедиться в том, что эталонная система не испытывает недостатка в оперативной памяти. Используйте счетчик «Memory / Available Mbytes» для Windows и команду «free» для Linux. Объем доступной памяти должен быть не менее 500 Мб.
01.21 — 4
Я бы для этой цели использовал счетчик SQLServer: Memory Manager \Total Server Memory.
Но из представленных в вариантах, наиболее подходящим является SQLServer:BufferManager\Page Life Expectancy
Счетчик Page life expectancy сообщает, как долго страница будет постоянно находиться в памяти в нынешнем состоянии. Низкое значение (обычно менее 300 секунд) означает, что система злоупотребляет буферным пулом. Таким образом,потенциально работа памяти может вызывать проблемы, приводящие к снижению производительности.
01.22 — 3
Напрямую влиять на число рабочих процессов в кластере серверов 1С:Предприятие 8.3 нельзя. Но в параметрах рабочего сервера можно настроить параметры «Количество ИБ на процесс» и «Количество соединений на процесс», которые будут влиять на число рабочих процессов в кластере.
Смотрите также:
В данном вебинаре я расскажу о применяемых в нашей компании правилах и приемах доработки типовых конфигураций 1С для облегчения их дальнейшей поддержки и обновления. В видео использованы материалы…
Небольшая зарисовка на тему, какие были бы сливные трубы, если бы их делали 1С-ники.
Запись опубликована в рубрике Эксперт 1С с метками 1С:Профессионал, 1С:Эксперт. Добавьте в закладки постоянную ссылку.
Здравствуйте инфостарцы, искал перед подготовкой к тесту 1С:Профессионал по платформе(в 2019 г.) информацию для успешной сдачи, но как оказалось, как мне кажется актуальной информации в интернете нет. Поэтому делюсь своим опытом.
Есть 3 способа подготовки к тесту:
1)Добросовестно прорешать все тесты(долгий и не эффективный способ);
2)Найти в интернете ответы без картинок(я учил 2 недели, получил нулевой результат);
3)Диски ИТС(имхо если даже найдёте все диски за последние 1,5 года, не найдёте дисковода в наши то времена :D)(много мороки, неэффективный метод подготовки);
4)Списать(не советую, ибо последствия);
Не знаю, что было в стародавние времена, а в 2019 году если вы будете готовиться не по официальному тесту, то:
1)не получите реального понимания своего уровня зубрежки(алгоритм бесплатного теста и платного обучены по разному. Что это значит? А то, что натренировавшись на бесплатном тесте вы будете стабильно сдавать 7 из 10 попыток, а прийдя на экзамен будете писать по алгоритму официального теста 4 из 10 успешных попыток),
2)в интернете есть ответы, они правильные, но без картинок это не пригодно для учебы, плюс нет эффекта "увидел-на автомате тыкнул",
3)в официальном тесте и тесте на сайте ответы находятся всегда на своей цифре, на экзамене ответы на вопросы перемешаны(кроме верные ответы "1,2 и 3"(например)).
Вывод: для быстрой сдачи теста:
1)покупайте официальный доступ на 3 месяца(2100 на 2019г.),
2)сначала пытайтесь найти ответ в конфигураторе, не можете-зазубрите, ответ,
3)не зубрите ответы по расположению(вопрос "Как сделать то-то %" Ага процент в конце вопроса, значит ответ "3"! Не надо так зубрить, лучше понять вопрос-ответ, так будет быстрей, я серьёзно),
4)не верьте тому, что написано в интернете, "за 2 недели подготовился и сдал с первой попытки", в реальности
а)1 знакомый(умный) учил(именно учил) 10 дней-сдал с первого раза 12 из 14;
б)2 знакомый-теперь ведущий спец, получает 120 К(сам фишку видел), сдал с 3 попытки(зубрил "Вопрос Такой-то %", значит ответ "3"),
в)3 знакомый сдал за 2 недели сплошной зубрёжки(обычный паренёк),
г)4 знакомый сдал с 3 попытки(учил без платного доступа, средний ум, но не всё свободное время тратил на подготовку(не старался)),
д)я (средние способности) сначала зубрил по бесплатным тестам из интернета 2 недели(эффекта не было никакого), понял, что никогда так не выучу, купил платный доступ, зубрил 4 недели(тупо зубрил-это не правильно(надо сначала посмотреть в конфигураторе, попытаться понять, не получается-только тогда зазубрить)), в итоге сдал с 1 попытки 12 из 14(я зубрил только по вечерам и выходным, работа жи).
Вывод: покупайте платный доступ, начинайте зубрить ответы сразу как пришли во франчайзи, никого не слушайте. тест на платформу не стыдно сдать с 3-го раза, это вам не помешает стать хорошим специалистом и получать очень достойную оплату при условии, что вы искренне будете стараться и вкладывать силы.
Проектирование в 1С очень часто пропускается. Если оно и происходит, то только в достаточно небольшом объеме, и то только у серьезных команд. Чаще всего, оно происходит в уме (где-то, как-то).
Очень многие, особенно небольшие группы разработки, новички – сразу приступают к следующему этапу – этапу кодирования.
Дальше идет следующий этап – это этап тестирования. То есть, тестирование – это мы проверяем требования заказчика (требования, которые мы должны выполнить).
Дальше идет поиск ошибок, отладка.
Как правило, я сам проходил эти этапы. Тестированием занимаются очень немногие. Еще меньше число тех, кто вообще представляет, что же такое «тестирование». Для большинства разработчиков цикл разработки представляет собой совокупность только двух этапов - процесса кодирования и отладки. Причем отладка занимает очень много времени.
Есть такой закон, который я, например, прочитал у Макконелла – Главный закон качества ПО:
Повышение качества программного обеспечения снижает затраты на разработку и сопровождение системы.
Что это означает? Это означает, что чем лучше у нас написана система, чем лучше она спроектирована, чем лучше обоснованы связи, тем легче мы сможем ее дорабатывать, исправлять и т.д.
Пример правильности этого закона: Отладка и исправление неверного кода занимает около 50 % времени. То есть – 50 % времени всей разработки мы тратим на поиск ошибок.
Это касается как крупных проектов, так и мелких. Методик, чтобы снизить свои затраты и не допустить ошибок, очень много – главный принцип, которого нужно придерживаться в разработке, используя разные методики, - это просто их использовать (использовать комбинации методик, использовать одну методику, а не просто писать свой код не думая над ним, не исправляя его).
Методики разработки
- Защитное программирование
- Обзоры кода
- Проектирование
- Тестирование
- Экстремальное программирование
Я лично пользуюсь всеми перечисленными методиками.
- Защитное программирование – это методика, когда мы ведем разработку и само написание кода помогает нам не допускать ошибок. То есть, в этом случае мы что делаем? Мы проверяем данные.
Элементарный пример – у нас есть какая-то функция, которая принимает входные параметры определенного типа, определенных значений. Мы можем в функции сделать предположение (так называемый инвариант или утверждение) и проверить эти предположения. То есть, мы не пишем, как 1С привыкла: параметр и в комментариях пишем, что тип такой-то, значения такие-то, варианты и так далее… Мы можем прямо написать утверждение – вот этот параметр должен быть такого типа. Если это утверждение не выполняется, программа просто выдает исключение и останавливает свою работу, потому что это является ошибкой разработки. - Следующая методика – это «Обзоры кода». То есть, мы можем читать чужой код. То есть, один кто-то написал код, мы можем попросить соседнего разработчика, руководителя посмотреть и проанализировать ошибки, которые были допущены в этом коде. Это методика очень эффективна.
Я люблю читать чужой код, люблю свой код пересматривать. Таким образом находится достаточное число ошибок. - Следующая методика - проектирование. Чем лучше мы построим программу, чем лучше продумаем связи, чем лучше продумаем архитектуру, интерфейсы взаимосвязей, тем лучше наша система будет работать, тем удобнее нам ее будет исправлять.
- Методика, которая известна лучше всех предыдущих – это тестирование. Фактически, каждый разработчик выполняет эту функцию, применяет методику тестирования. Но очень многие проверяют в уме. То есть этот код должен получить такие-то результаты… Мы проверяем какой-то один вариант, проверяем два варианта, проверяем три варианта… А на самом деле в сложных системах вариантов очень много и их нужно проверять достаточно большое количество. И когда вариантов очень много для проверки, фактически получается, что они не проверяются все. У меня есть пример, есть система, идет цикл разработки, система отдается на проверку пользователю. У пользователя стоит тестирование – проверить 40 разных пунктов – релиз выпускается, например, раз в два месяца (или в месяц). Пользователь должен перед выпуском каждого релиза проверить 40 пунктов – это тяжело и он никогда практически не будет этого делать. Он будет помнить, что он это проверял в прошлый раз – и сегодня он этого делать не будет, потому что тогда на это придется потратить весь день. Как правило, отдельный тестировщик на проекте есть очень редко, обычно человек должен выполнить функцию тестировщика и выполнить свою основную функцию. В итоге функции тестировщика, как правило, пропускаются и тестирование не выполняется в полном объеме.
Дальше я еще потом на тестировании остановлюсь… - Следующая – очень эффективная методика – это методикаэкстремального программирования. Это методика свежая, буквально начала-середины 90-х годов. На западе очень сильно распространена, очень много информации по ней. У нас применяется не так много. Иногда эту методику называют «гибкие методики разработки», иногда – экстремальное программирование.
Экстремальное программирование
У него есть несколько принципов:
- Единая команда
- Совместное владение кодом системы
- Обзоры кода и парное программирование
- Разработка через тестирование (TDD)
- Функциональное тестирование
- Рефакторинг
- Простота
- Короткие циклы
- Непрерывная интеграция
- Улучшение дизайна, постоянное планирование
Расскажем о них поподробнее:
Вернемся к тестированию. Будем говорить только о тестировании.
Виды тестирования
- Модульное тестирование (юнит-тестирование)
- Функциональное тестирование
- Тестирование методом черного ящика и методом белого ящика
- Нагрузочное тестирование
- Тестирование разработчиком и специальными тестерами
- Самый проблемный вид тестирования – тестирование пользовательского интерфейса
Теперь об этих видах тестирования подробнее:
Сейчас немного коснусь существующих систем тестирования
Существующие системы тестирования
- Первое, с чем мы знакомы, когда говорим «Тестирование 1С» - это, конечно конфигурация «Сценарное тестирование» (входит в пакет 1С:КИП).
Мое мнение вкратце – не пригодно оно к реальному использованию.
Оно сделано больше для функционального тестирования и очень сильно зависит от изменений в программе.
Если в форме добавился какой-то реквизит, Сценарное тестирование может вылетать, если в форме удалился какой-то реквизит – Сценарное тестирование может вылетать.
Нет возможности исключить ошибки, прогнать все тесты за исключением ошибок. Если есть ошибка, тест остановится весь.
Кроме этого, неприятным моментом является то, что конфигурация «Сценарное тестирование» не продается отдельно от пакета конфигураций «Корпоративный инструментальный пакет». А цена этого пакета очень велика.
Хотя – лично мое мнение, что тестирование в 1С должно быть бесплатным. - Есть очень хорошая подсистема (автор - Сергей Старых) – называется Подсистема «Инструменты разработчика».
В этой подсистеме недавно появилось тестирование. Были введены начальные понятия тестирования – тестируются все формы и часть метаданных, то есть, тестируется открытие всех форм, которые есть в конфигурации, для документа тестируется проведение документа, запись документа, удаление документа и т.д.
Самое интересное – тестируются события и интерактивные изменения форм.
Например, тестируется ввод пользователем. Как будто пользователь вручную вносит данные. Это очень важно.
Не в одной из систем, о которых я расскажу далее, нет тестирования этих интерактивных изменений. Например, там можно протестировать поиск по форме (по списку). То есть, как будто пользователь набирает символы, и подсистема это отрабатывает. Очень полезный инструмент. - Еще есть некоторые публикации на сайте «Инфостарт».
Одна из самых первых разработок, поэтому я о ней упомянул.
Она неудобная и непродуманная на самом деле.
Это опять же, зачаточный такой модуль, просто пример того, как это можно организовать в 1С.
достаточно интересная, но почему-то автор ее удалил- Функциональное тестирование на обычных формах
- Можно подключать различные алгоритмы
- Можно тестировать запросы и т.д.
- Недостатки: Нет управляемых форм и нет дальнейшего развития
- Дальше я укажу те системы, которые я сам реально использовал, с которых мое знакомство с системами тестирования для 1С началось:
- Я ее в 8.2 до сих пор успешно использую.
- Недостатки: немного устарела, нет управляемых форм
- Шаги в нужном направлении
- Только Управляемое приложение
В этом тестировании используется два клиентских приложения. Одно приложение является тестером, другое приложение является клиентом.
То есть, толстый клиент или тонкий клиент менеджер тестирования взаимодействует (общается) с клиентом тестирования (толстым, тонким или Web-клиентом).
То есть – пишется тест на языке 1С. И заданные действия выполняются в клиенте тестирования.Пример вызова приложения-теста
На данном скриншоте красная стрелка как раз показывает – есть вариант вызова записи действий пользователя, то есть в 8.3 можно использовать следующую схему работы:
- Пользователь, который знает систему или разработчик может выполнить самостоятельно необходимые действия и записать эту последовательность действий в специальный файл, чтобы в дальнейшем производить этот файл уже в системе тестирования.
- Один минус – пока 1С сделала только надстройку над платформой для записи этого XML файла.
Среды тестирования пока что нет. То есть те результаты, которые мы можем получить, никоим образом системой 1с не обрабатываются, не анализируются. - Значит, мы должны написать код для системы тестирования сами
Возможно, 1С сделает на следующем этапе свою систему тестирования, возможно, она переработает сценарное тестирование. Пока неизвестно. 1С молчит по этому поводу.
Рекомендуемая система для тестирования в 1С
(я фактически ее product-owner и один из авторов) -
Защитное программирование
Защитное программирование – очень важный этап применения методики тестирования
На своем опыте - а я общался с разными программистами, специалистами - очень мало народу почему-то использует утверждения. А этот метод очень удобен в разработке.
Использование инвариантов/утверждений
Обработчик ошибок в программе должен проверять некорректные входные данные из внешних источников, предусмотренные программистом, а утверждения – только ошибки в самой программе. Никаких проверок дополнительных не должно быть, только ошибки в программе - это проверка только для разработчика.
Потому что иногда начинают использовать утверждения для передачи данных во внешнюю систему – это неправильно. Это уже не утверждение.
Я использую утверждения для разных случаев – у меня есть функция, например, в которой я знаю, что должен быть передан параметр, например СправочникСсылка.Номенклатура. Я так и пишу в коде:
Тесты.ПроверитьТип(Параметр, СправочникСсылка.Номенклатура)Теперь – самое интересное: Тестирование разработчиком и разработка через тестирование.
Тестирование разработчиком
Это та методика, которая должна использоваться любым разработчиком, если он хочет быть квалифицированным и получить максимальную скорость.
- Затруднение у разработчиков (Цель тестирования отлична от других этапов разработки, Тестирование требует поиска ошибок в своем коде)
Тестирование разработчиком вызывает затруднения, потому что цель тестирования отлична от цели разработки. То есть от разработки мы хотим получить правильный код, который правильно работает, получает верные результаты, содержит минимум ошибок и т.д. А в тестировании мы должны найти ошибки, наоборот. Иногда бывает это трудно. Разработчику бывает лень искать ошибки. Разработчик не понимает, что ошибки нужно искать и т.д. - Тестирование никогда не доказывает отсутствия ошибок.
Но наличие тестов – это лучше, чем отсутствие тестов.
Что еще можно сказать об основных требованиях к тестированию:
Два главных требования тестирования:
- Тестирование должно быть автоматизированным. А еще лучше – автоматическим 100%. Если тестирование не будет автоматизированным, его никто никогда выполнять не будет.
- Тестирование должно быть быстрым.
Если тесты будут выполняться медленно, их опять же никто не будет делать. Это все из опыта.
Разработка через тестирование (TDD)
Быстро расскажу о результатах, которых можно достичь, используя методику разработки через тестирование:
Результаты использования TDD
Здесь указаны основные принципы, как надо выполнять разработку через тестирование (TDD).
Читайте также: