Uploaded by Wrr No

Вопросы на собеседованиях

advertisement
Вопросы на собеседованиях.
- Чем бизнес-аналитик отличается от системного аналитика?
Ответ; Бизнес-аналитик фокусируется на изучении и анализе бизнес-процессов компании, а
Системный аналитик сфокусирован на технической стороне вопроса.
- Какие артефакты (документы) создает аналитик?
Ответ; 5 главных документов аналитика
1.
2.
3.
4.
5.
Документ бизнес-требований (BRD, Business Requirements Document);
ТЭО (Технико-Экономическое обоснование, бизнес-кейс);
Спецификация требований к решению (ТЗ, Техническое задание);
Проект решения;
Программа и методика испытаний (ПМИ).
Вопросы о требованиях.
- Какие бывают требования?
Ответ; Бизнес требования, требования пользователей, системные требования, функциональные и
не функциональные требования
Приведите пример требований
Ответ;
«API метод должен возвращать список ресторанов в короткой форме: id, название,
адрес» или «Никакая личная информация пользователя (логин, пароль, номера телефонов, и
тд.) не должна отображаться в отчетах» - это функциональные требования, они описывают
поведение системы.
«Объем используемой оперативной памяти не должен превышать 256 Мб» или «Все данные
системы должны храниться в БД под управлением СУБД MySQL» - это нефункциональные
требования, они описывают свойства системы.
- Чем отличаются функциональные от нефункциональных.
Ответ; Функциональное требование описывает, что должна делать программная система, в то
время как нефункциональные требования накладывают ограничения на то, как система будет это
делать.
- Каким критериям должны соответствовать требования?
Ответ; Атомарность ,Полнота,Краткость,Консистентность,Выполнимость,Приоритизированность,
Тестируемость,Недвусмысленность,Понятность
- Какие существуют техники выявления требований?
Ответ; Методы выявления требований включают интервью, анкетирование, наблюдение за
пользователями, семинары, мозговой штурм, примеры использования, ролевые игры и
прототипирование.
- Когда лучше использовать Use Case, а когда User Story? Почему?
Ответ; Use Case использовать для описание логики работы приложения.User Story для разделения
большой задачи на маленькие и каждая user story должна показывать какую пользу система
принесет пользователю.
- В чем отличие Use Case и User Story?
Ответ; Use cases используются для проектирования активности пользователя, в то время как User
story описывает запрос пользователя или проблемы, с которыми сталкиваются пользователи.
- Если бы Вы писали ТЗ, какая у него была бы структура? Расскажите по пунктам, можно
на примере.
Ответ; Планируетм заказать IT-продукт, можно использовать за основу госстандарты. Например:



ГОСТ 34. Это еще советская разработка сбора требований для создания
автоматизированных систем. Не готовый шаблон, но много вопросов к заказчику, которые
помогут структурировать пожелания.
IEEE 29148-2011 — стандарт разработки сложных систем, в которых есть вопросы
о требовании к функциям, а также рекомендация описать условия программного
окружения, то есть платформ, которые будут работать вместе с вашим продуктом.
Rational Unified Process — продвинутая спецификация для разработки требований к ITпродуктам. Много внимания отводится вариантам использования.
- Что содержится в вашей типовой постановке задач для разработчика?
Ответ; Описание должно быть необходимым и достаточным.




Необходимым — не должно быть пересечений между задачами в описании. Разработчик
должен понимать, какую именно часть задачи ему сейчас реализовывать.
Достаточным — у разработчика не только не должно появиться дополнительных вопросов,
но и возможности понять что-то не так. Избегайте двусмысленности в задачах.
Текст задачи должен понять любой новый разработчик на проекте.
Нужно осознавать, что разработчики хуже понимают контекст проекта, чем менеджеры,
вряд ли присутствовали при формировании ТЗ, разработки дизайна и т.д., а впервые видят
описание необходимого обновления.
Процесс разработки
- Какие методологиии разработки знаете?
Ответ; Наиболее распространенными методологии:
Водопадная модель; SCRUM; Agile; Lean; Six Sigma; Prince2; Kanban.
- Что лучше, scrum или agile?
Ответ; Различие состоит в том, что Agile описывает философию разработки, а Scrum предлагает
набор инструментов.
Эта методика предполагает последовательное выполнение простых задач, которые помогают
быстро запустить продукт и постепенно дополнять его новыми функциями.
- Что такое канбан? В чем отличие от скрама?
Ответ; Kanban – система постановки задач, при которой все этапы проекта визуализируются на
специальной доске.
Нотации UML и BPMN
- Какими нотациями вы владеете? И какие инструменты используете?
Ответ; BPMN,EPC,DMN
- Какие UML диаграммы вы использовали?
Ответ; Прецедентов, последовательности, состояний
- Что описывает диаграмма последовательности?
Ответ; Описывает взаимодействие объектов , упорядоченные по времени их появлений
- Какие бывают Gateway(шлюзы) в BPMN? Приведите пример для исключающего
шлюза.
Ответ; 5 основных шлюза: исключающий шлюз, неисключающий шлюз, параллельный
шлюз,событийный шлюз
- Какие элементы BPMN вы знаете?
Ответ; Основных элементов 8:Событие,Действие или Задача, Данные, Поток, Развилки и Шлюзы,
они же условия, Пул или «плавательные дорожки»,Артефакты
- Что такое include, extend на диаграмме прецедентов? Приведите пример.
Ответ; Extend используется, когда вариант использования добавляет шаги к другому
первоклассному варианту использования.
Например, представьте, что "Снять наличные" - это вариант использования банкомата. "Плата за
начисление" расширяет срок снятия наличных и описывает условную "точку расширения", которая
создается, когда пользователь банкомата не осуществляет банковские операции в учреждении,
владеющем банкоматом. Обратите внимание, что базовый вариант использования "Снять
наличные" стоит сам по себе, без расширения.
Include используется для извлечения фрагментов вариантов использования,
которые дублируются в нескольких вариантах использования.
Например, поток событий, который происходит в начале каждого варианта использования
банкомата (когда пользователь вставляет свою карту банкомата, вводит свой PIN-код и
отображается главное меню), был бы хорошим кандидатом для включения.
- Нарисуйте диаграмму последовательности для процесса, когда пользователь через
веб-форму отправляет запросы в rest-сервис для получения данных.
Ответ;
- Как бы Вы составили схему BPMN для процесса, описывающего работу кофейного
автомата (устно)
Ответ;
SQL и базы данных
- Что такое нормализация БД?
Ответ; Процесс организации данных в базе данных, включающий создание таблиц и
установление отношений между ними в соответствии с правилами, которые обеспечивают защиту
данных и делают базу данных более гибкой, устраняя избыточность и несогласованные
зависимости.
- Какие есть принципы построения реляционной базы данных?
Ответ; Принципы построения реляционной базы данных:
· Каждая таблица состоит из однотипных строк и имеет уникальное имя.
· Строки имеют фиксированное число полей (столбцов) и значений (множественные поля и
повторяющиеся группы недопустимы).
· Строки таблицы отличаются друг от друга хотя бы единственным значением, что позволяет
однозначно идентифицировать любую строку такой таблицы.
· Столбцам таблицы однозначно присваиваются имена, и в каждом из них размещаются
однородные значения данных (даты, фамилии, целые числа или денежные суммы).
· Полное информационное содержание базы данных представляется в виде явных значений
данных.
· При выполнении операций с таблицей ее строки и столбцы можно обрабатывать в любом
порядке безотносительно к их информационному содержанию.
- Что такое первичный ключ? Каким свойством обладает первичный ключ?
Ответ; Первичный ключ — это поле в таблице, которое однозначно идентифицирует каждую
строку/запись в таблице базы данных.
Первичный ключ должен обладать двумя свойствами:

Однозначная идентификация записи – запись должна однозначно определяться
значением ключа;

Отсутствие избыточности – никакое поле нельзя удалить из ключа, не нарушая при этом
свойства однозначной идентификации записи.
Если первичный ключ состоит из одного поля, то он называется простым ключом или ключевым
полем.
- Что такое внешний ключ? Приведите пример.
Ответ; Внешний ключ (FK) — это столбец или сочетание столбцов, которое применяется для
принудительного установления связи между данными в двух таблицах с целью контроля данных,
которые могут храниться в таблице внешнего ключа.
- Зачем нужны индексы в таблицах БД?
Ответ; Индексы используются для быстрого поиска данных без необходимости поиска каждой
строки в таблице базы данных при каждом обращении к таблице базы данных.
- Какие виды JOIN запросов вы знаете?
Ответ; Стандарт SQL описывает три варианта JOIN:
1. Квалифицированный (соединение по указанным критериям)
2. Естественный (автоматически выбирает критерии)
3. Перекрестный (полное внешнее соединение без критериев)
- Чем LEFT JOIN отличается от FULL JOIN ? Чем TRANCATE отличается от DELETE?
Ответ; LEFT JOIN или RIGHT JOIN возвращают все строки из одной таблицы и совпадающие строки
из другой таблицы. FULL JOIN – из обеих таблиц, даже при отсутствии совпадений.
Операция DELETE блокирует каждую строку, а TRUNCATE — всю таблицу.
- Вам нужно добавить в существующую таблицу БД новый столбец, содержащий числа,
и выставить ему значение по умолчанию =300 для всех записей этой таблицы. Какие
ваши действия?
Ответ; ALTER TABLE Employee
ADD MINIMUM_WAGE int NOT NULL DEFAULT(300)
- Что вы знаете о связи «многие ко многим» между сущностями?
Ответ; Связь многие-ко-многим это связь, при которой множественным записям из одной
таблицы (A) могут соответствовать множественные записи из другой (B).
- Какие внешние ключи будут у двух таблиц A и Б, связанных «один (А) ко многим (Б)»?
Ответ; Первичный ключ
Интеграция
- Из чего состоит XML?
Ответ; XML-файл состоит из множества элементов, вложенных друг в друга и реализующих
иерархическую структуру данных
- Что такое XSD?
Ответ; XSD — это язык описания структуры XML документа. Его также называют XML Schema
- Чем XML отличается от JSON ? В чем преимущества и недостатки одного формата над
другим?
Ответ; Ключевое различие между JSON и XML заключается в том, что JSON имеет меньший размер
файла и эффективно передает данные в Интернет по сравнению с XML.
- Зачем нужно пространство имен в XML?
Ответ; Они позволяют объединять несколько языков разметки, не беспокоясь о конфликтах имен
элементов и атрибутов
- Чем sequence отличается от choice в XSD?
Ответ; XSD-схемы могут содержать различные элементы, включая sequence и choice.
Sequence указывает порядок, в котором должны быть представлены элементы в документе, а
choice – позволяет выбирать из нескольких элементов только один.
- Чем SOAP отличается от REST?
Ответ; SOAP - это строгий и безопасный способ создания API, который кодирует данные в XML.
REST - является более простым и гибким методом создания API, которые могут передавать данные
в различных форматах, включая XML, а также обычный текст, HTML и JSON.
- Что такое stateless и stateful, если говорить про сервисы? Rest – это какие сервисы? Что
значит stateless сервисы?
Ответ; Stateless — это протокол передачи данных, который относит каждый запрос к независимой
транзакции, которая не связана с предыдущим запросом, то есть общение с сервером состоит из
независимых пар запрос-ответ
Stateful - это когда вам важно чтобы приложение сохранило состояние перед перезапуском, или
новый экземпляр продолжил с того же места.
REST использует сервисы чаще всего это JSON или XML.
Stateless означает протокол без сохранения состояния
- Какие методы REST вы знаете?
Ответ; В REST используются 4 основных HTTP метода: GET, POST, PUT, DELETE
- Чем POST отличается от GET?
Ответ; Если простыми словами. POST - это отправка информации куда-то.
GET - это извлечение информации (противоположная процедура)
- Чем PUT отличается от PATCH?
Ответ; PUT - обновление объекта целиком, PATCH - обновление поля объекта
- Что такое идемпотентность? Почему это важно?
Ответ; Идемпотентность — это свойство некоторых операций, которое означает, что повторное
выполнение операции не приводит к изменению состояния системы или ресурса, и это не
приводит к дополнительным побочным эффектам.
Идемпотентность важна в информатике и разработке, особенно при работе с сетевыми
запросами, базами данных и другими системами, где необходимо учитывать возможность
повторного выполнения операций.
- DELETE – идемпотентный метод?
Ответ; Delete — идемпотентный метод.
Вы можете сколько угодно раз использовать delete, но результат будет всегда таким же, как после
первого выполнения операции.
- Что такое CRUD операции ?
Ответ; CRUD — широко распространенный термин, который означает четыре
стандартные операции над любой сущностью. Create — создание Read — чтение Update —
обновление Delete — удаление.
- Какие виды/способы интеграции вы знаете?
Ответ; Существует два вида интеграции: вертикальная и горизонтальная.
Способы интеграции; API-интеграция ,БД, Веб-сервисы,Микросервисы,
- Как выбрать стиль интеграции? От чего зависит выбор?
Ответ; Выбор стиля интеграции зависит от её причины
- Какие достоинства и недостатки микросервисов вы знаете?
Ответ; Достоинства: Технологическая неоднородность, Надежность, Масштабирование, Простота
развертывания, Повторное использование, Согласованность рабочих процессов в организации
Недостатки: Опыт разработчика, Технологическая перегрузка, Стоимость, Отчетность,
Безопасность, Мониторинг и устранение неполадок, Тестирование, Время ожидания,
Согласованность данных
- Что такое синхронные и асинхронные вызовы?
Ответ; При синхронном вызове задача-инициатор будет ждать окончания работы функции и
только после этого продолжит свою работу.
Асинхронный вызов предполагает передачу сообщения в очередь принимающей задачи,
сам вызов фактически будет осуществлен тогда, когда это решит принимающая задача.
- Для чего используются брокеры сообщений?
Ответ; Они существенно снижают нагрузку и сокращают время доставки сообщений
- Чем брокер сообщений отличается от корпоративной шины?
Ответ; Главное различие между брокером сообщений и корпоративной шиной заключается в
том, что брокер сообщений — это инструмент, который обеспечивает надежность и гарантирует
доставку сообщений от отправителя к получателю, тогда как корпоративная шина — это
архитектурный разделитель, который предоставляет единую платформу для подключения и
взаимодействия различных приложений и сервисов.
- Что такое хореография и оркестрация?
Ответ; Оркестровка содержит описание служб, условия их вызова, а также зависимости и
альтернативы. Хореография описывает, как отдельные процессы взаимодействуют друг с другом.
- Для чего используется Swagger?
Ответ; Swagger — это инструмент, который помогает разработчикам создавать, документировать
и проверять API
- Для чего используется Postman?
Ответ; Postman — это сервис для создания, тестирования, документирования, публикации и
обслуживания API. Он позволяет создавать коллекции запросов к любому API, применять к ним
разные окружения, настраивать мок-серверы, писать автотесты на JavaScript, анализировать и
визуализировать результаты запросов
- Знаете ли вы что-то о проектировании API в нотации OpenAPI/Swagger?
Ответ; OpenAI API - это мощная облачная платформа, размещенная в Microsoft Azure,
предназначенная для предоставления разработчикам беспрепятственного доступа к
современным, предварительно обученным моделям искусственного интеллекта.
Этот API позволяет разработчикам без особых усилий интегрировать передовые возможности
искусственного интеллекта в свои приложения, независимо от языка программирования, с
которым они предпочитают работать.
Swagger (OpenAPI) — это не зависящая от языка спецификация для описания REST API. Она
позволяет компьютерам и пользователям лучше понять возможности REST API без прямого
доступа к исходному коду.
- Есть некий UI, нужно написать к нему веб-сервис. Опишите вашу постановку – что в
ней будет.
Ответ; Смотря какая информация будет размещена на веб-сервисе .При входе на сайт будет
приветствие для пользователя. В ней будет удобный и понятный для каждого интерфейс для
легкого поиска той или иной информации. Приятный для просмотра дизайн.
Дополнительные технические вопросы
- Какие способы разграничения доступа вы знаете?
Ответ; Разграничение доступа по спискам, Использование матрицы установления полномочий,
Разграничение доступа по уровням секретности и категориям, Парольное разграничение доступа
- Чем авторизация отличается от аутентификации?
Ответ; Авторизация — это процесс проверки прав доступа пользователя к определенным
ресурсам или функциям. Аутентификация — это сам процесс проверки подлинности
пользователя, чтобы убедиться, что он является тем, за кого себя выдает.
- Что такое протокол передачи данных? Какие вы знаете?
Ответ; Протокол передачи данных — набор определённых правил или соглашений интерфейса
логического уровня, который определяет обмен данными между различными программами.
Виды;
1.
2.
3.
4.
5.
6.
7.
Физический (биты): USB, RS-232, 8P8C
Канальный (кадры): PPP (включая PPPoE, PPPoA), IEEE 802.22, Ethernet, DSL, ARP, LP2P.
Сетевой (паеты): IP, AppleTalk
Транспортный (датаграммы, сегменты): TCP, UDP, PORTS, SCTP
Сеансовый: RPC, PAP
Представительский: ASCII, JPEG, EBCDIC
Прикладной: HTTP, FTP, DHCP, SNMP, RDP, SMTP
- Чем отличается http от https?
Ответ; HTTPS и HTTP отличаются протоколом шифрования при передаче данных.
HTTP (HyperText Transfer Protocol) – устаревший незащищенный протокол.
HTTPS – защищенный протокол передачи данных с криптографическим шифрованием HyperText
Transfer Protocol Secure.
- Чем Kafka отличается от RabbitMQ?
Ответ; RabbitMQ — это брокер распределенных сообщений, который собирает потоковые данные
из нескольких источников и маршрутизирует их в разные пункты назначения для обработки.
Kafka предоставляет высокомасштабируемую, отказоустойчивую и надежную систему обмена
сообщениями с большими возможностями, чем RabbitMQ.
Download
Study collections