Вопросы к собеседованию для поступающих в магистратуру по направлению 09.04.01 Информатика и вычислительная техника 1. Вопросы по специальности 1. Основные функции моделей и их классификация. Аналитические и имитационные. 2. Жизненный цикл программного продукта. Определения, описание, примеры, характерные особенности. Жизненный цикл программного продукта представляет собой непрерывный процесс, начинающийся с момента принятия решения о создании программного обеспечения и заканчивающийся в момент полного изъятия его из эксплуатации. Этапы жизненного цикла программного продукта: 1. Анализ требований Данная стадия является одной из важнейших, поскольку определяет успех всего проекта. На данном этапе формируются цели и задачи проекта, устанавливается область применения программного обеспечения (ПО) и определяются граничные условия, выделяются базовые сущности и взаимосвязи между ними. Определяются сроки и стоимость разработки ПО, формируется и подписывается техническое задание на разработку ПО. 2. Стадия проектирования Проектирование включает в себя определение архитектуры программной системы, её функций, внешних условий функционирования, интерфейсы и распределение функций между пользователями и системой, требования к программным и информационным компонентам. Проектирование системы проводится на основе результатов формирования требований. Разрабатывается функциональная спецификация ПО, выбирается архитектура системы, определяется наиболее подходящая СУБД, проектируются структуры хранения данных, оговариваются требования к аппаратному обеспечению, определяется набор организационных мероприятий, которые необходимы для внедрения ПО, а также перечень документов регламентирующих его использование. 3. Кодирование (программирование) На данной стадии строятся прототипы как целой программной системы, так и её частей, осуществляется физическая реализация структур данных, разрабатывается программные коды, выполняется отладочное тестирование, создается техническая документация. В результате этапа кодирования появляется рабочая версия продукта. 4. Тестирование и отладка Тестирование ПО тесно связано с этапами проектирования и реализации. В систему встраиваются специальные механизмы, которые дают возможность производить тестирование программного обеспечения на соответствие требований к нему, проверку оформления и наличие необходимого пакета документации. Результатом тестирования является устранение всех недостатков программного продукта и заключение о её качестве. 5. Эксплуатация и сопровождение Ввод в эксплуатацию ПО предусматривают установку программной системы, обучение пользователей, документирование. Поддержка функционирования ПО должна осуществляться группой технической поддержки разработчика. Сопровождение – это процесс адаптации поставляемого ПО к новым условиям, внесения изменений в ПО и соответствующую документацию, вызванных возникшими проблемами или потребностями в модификации при сохранении неизменными его основных функций. Преимущества: – Последовательное выполнение этапов проекта в строгом фиксированном порядке; – Позволяет оценивать качество продукта на каждом этапе. Недостатки: – Отсутствие обратных связей между этапами; – Не соответствует реальным условиям разработки программного продукта; – Относится к первой группе моделей. Спиральная модель представляет собой процесс разработки программного обеспечения, сочетающий в себе как проектирование, так и постадийное прототипирование с целью сочетания преимуществ восходящей и нисходящей концепции. Преимущества: – Быстрое получение результата; – Повышение конкурентоспособности; – Изменяющиеся требования – не проблема. Недостатки: – Отсутствие регламентации стадий. Поэтапная модель с промежуточным контролем — разработка ПО ведется итерациями с циклами обратной связи между этапами. Межэтапные корректировки позволяют уменьшить трудоемкость процесса разработки по сравнению с каскадной моделью, но время жизни каждого из этапов растягивается на весь период разработки. 3. Сообщения, данные, сигнал, атрибутивные свойства информации, показатели качества информации, формы представления информации. Информационные технологии стали причиной появления новых видов коммуникаций: смс-сообщения, социальные сети, общение по Скайпу, intranet и другие. Не вызывает сомнений, что наиболее популярными из них являются SMS-сообщения. Около 95% населения используют их в повседневной жизни. При этом 40% используют SMS-сообщения в целях передачи существенной информации, 68% – с целью общения, 16% – с целью приятного времяпровождения. Данные – это совокупность сведений, которые зафиксированы на каком-либо носителе – бумаге, диске, пленке. Эти сведения должны быть в форме, пригодной для хранения, передачи и обработки. Дальнейшее преобразование данных позволяет получить информацию. Таким образом, информацией можно назвать результат анализа и преобразования данных. Сигнал – это некоторый физический процесс, параметры которого изменяются в соответствии с передаваемым сообщением. Пример – электрический сигнал, радиосигнал, как частный случай электромагнитного сигнала, акустический сигнал, оптический и т.д. В зависимости от того, в какой среде идет распространение сигнала. Сигнал – это материальный носитель информации. Атрибутивные свойства – это те свойства, без которых информация не существует. К данной категории свойств относятся: ■ непрерывность. Информация имеет свойство сливаться с уже зафиксированной и накопленной ранее, тем самым способствуя поступательному развитию и накоплению; ■ дискретность. Содержащиеся в информации сведения, знания дискретны, т.е. характеризуют отдельные фактические данные, закономерности и свойства изучаемых объектов, которые распространяются в виде различных сообщений, состоящих из линии, составного цвета, буквы, цифры, символа, знака; ■ неотрывность информации от физического носителя; ■ языковая природа информации. Под качеством информации понимают совокупность свойств информации, позволяющих эффективно использовать ее для удовлетворения потребностей пользователей в соответствии с поставленными целями. Такие показатели качества информации, как содержательность, полнота, репрезентативность, устойчивость, доступность, целиком предопределяются на методическом уровне решения экономических задач. Показатели своевременности, актуальности, достоверности и точности также формируются в большей степени на методическом уровне, но на их величину определенным образом влияет и характер решаемых задач. Снижение точности приводит к уменьшению достоверности информации. Информация может быть представлена (зафиксирована, закодирована) в различных формах: • текстовая информация – последовательность символов (букв, цифр, других знаков); в тексте важен порядок их расположения, например КОТ и ТОК – два разных текста, хотя они состоят из одинаковых символов; • числовая информация; • графическая информация (рисунки, картины, чертежи, карты, схемы, фотографии и т. п.); • звуковая информация (звучание голоса, мелодии, шум, стук, шорох и т. п.); • мультимедийная информация, которая объединяет несколько форм представления информации (например, видеоинформация). 4. Современные файловые системы. Операции с файлами. Файловая система (File System, ФС) – определяет и контролирует, как будут храниться и именоваться данные на носителе/накопителе информации: флешке, жестком или ssd диске и других. От нее зависит способ хранения данных на накопителе, сам формат данных и то, как они будут записываться/читаться в дальнейшем. Существует больше 30 файловых систем (ФС), большая часть которых имеет специфическое применение. NTFS – самая распространенная современная файловая система для внутренних жесткого диска или твердотельного накопителя в домашнем компьютере. Свое название она получила от Windows NT, на основе платформы которой потом разработали XP и все последующие операционные системы от Microsoft. При новой установке Windows хранилище самостоятельно форматируется под NTFS. Примечание: в компьютерах Mac используется собственная файловая система – Apple File System (AFS). Однако macOS умеет читать накопители с NTFS и даже воспроизводить с них медиафайлы (кино, музыка, изображения), но только читать – записать что-то не получится. NTFS лучше всего подходит для установки операционной системы Windows и совместимых с ней приложений. На накопителях с такой файловой системой можно хранить и мультимедиа-файлы, но посмотреть их получится только на компьютере или Xbox One. FAT32 – одна из самых старых файловых систем, которая появилась еще во времена Windows 95. Однако, начиная с коммерческой Windows NT и домашней Windows XP, больше не поддерживается в качестве системного раздела накопителя. Сегодня FAT32 – основная файловая система для флешек, а также внешних HDD и SSD, так как совместима с большинством устройств, имеющих USB-вход. Однако у нее есть множество ограничений, о которых ниже. FAT32 лучше всего подходит для хранения различных медиафайлов, которые часто нужно воспроизводить на самых разных устройствах, кроме ПК. Правда, если для хранения сериалов накопители с такой файловой системой подойдут хорошо, то многие полнометражные фильмы (особенно формата 4K) могут просто не записаться из-за ограничений до 4 гигабайт на один файл. Файловая система exFAT появилась в 2006 году и позиционировалась как замена старушке FAT32, избавленная от недостатков, вроде ограничений на размер отдельного файла. Правда совсем вытеснить пока не вышло – все новые флешки с завода до сих пор форматируются под FAT32, хоть exFAT и изначально разрабатывалась под внешние накопители. Получается, что exFAT, лучше всего подходит, когда нужно записать файлы крупного размера, при этом сохранив совместимость с большинством устройств. Но помните, что многие старые телевизоры, приставки или плееры могут не поддерживать exFAT. Например, PlayStation 3 не умеет работать с этой файловой системой, а PS4 – умеет. Все операции с файлами можно подразделить на 2 группы: – связанные с его открытием: открытие, закрытие файла, запись, чтение, перемещение по файлу и др. – выполняющиеся без его открытия: работа с файлом как элементом файловой системы – переименование, копирование, получение атрибутов и др. 5. Основные функции моделей и их классификация. Статические и динамические. 6. Классификация моделей процесса создания программного обеспечения. Модель процесса создания программного обеспечения – это общее абстрактное представление данного процесса. Каждая такая модель представляет процесс создания ПО в каком-то своем "разрезе", используя только определенную часть всей информации о процессе. В настоящем разделе представлены обобщенные модели, основанные на архитектурном подходе. В этом случае можно увидеть всю структуру процесса создания ПО, абстрагируясь от частных деталей отдельных составляющих его этапов. Эти обобщенные модели не содержат точного описания всех стадий процесса создания ПО. Напротив, они являются полезными абстракциями, помогающими "приложить" различные подходы и технологии к процессу разработки. Кроме того, очевидно, что процесс создания больших систем не является единым, а состоит из множества различных процессов, ведущих к созданию отдельных частей большой системы. Модели создания программного обеспечения. 1. Каскадная модель. Основные базовые виды деятельности, выполняемые в процессе создания ПО (такие, как разработка спецификации, проектирование и производство, аттестация и модернизация ПО), представляются как отдельные этапы этого процесса. 2. Эволюционная модель разработки ПО. Здесь последовательно перемежаются этапы формирования требований, разработки ПО и его аттестации. Первоначальная программная система быстро разрабатывается на основе некоторых абстрактных общих требований. Затем они уточняются и детализируются в соответствии с требованиями заказчика. Далее система дорабатывается и аттестуется в соответствии с новыми уточненными требованиями. 3. Модель формальной разработки систем. Основана на разработке формальной математической спецификации программной системы и преобразовании этой спецификации посредством специальных математических методов в исполняемые программы. Проверка соответствия спецификации и системных компонентов также выполняется математическими методами. 4. Модель разработки ПО на основе ранее созданных компонентов. Предполагает, что отдельные составные части программной системы уже существуют, т.е. созданы ранее. В этом случае технологический процесс создания ПО основное внимание уделяет интеграции отдельных компонентов в общее целое, а не их созданию. Каскадная и эволюционная модели разработки широко используются на практике. Модель формальной разработки систем успешно применялась во многих проектах, но количество организаций-разработчиков, постоянно использующих этот метод, невелико. Использование готовых системных компонентов практикуется повсеместно, но большинство организаций не придерживаются в точности модели разработки ПО на основе ранее созданных компонентов. Вместе с тем этот метод должен получить широкое распространение в 21 столетии, поскольку сборка систем из готовых или ранее использованных компонентов значительно ускоряет разработку ПО. 7. Задача сортировки. Общие понятия о сортировке. Классификация видов сортировки. Основные алгоритмы сортировки. Сортировка – это упорядочивание набора однотипных данных по возрастанию или убыванию. Задача сортировки является такой же базовой, как задача поиска. В практических условиях эти задачи взаимосвязаны. Решению проблем, связанных с сортировкой, посвящено множество фундаментальных научных исследований, разработано множество алгоритмов. В общем случае сортировку следует понимать как процесс перегруппировки заданного множества объектов в определенном порядке. Часто при сортировке больших объемов данных нецелесообразно переставлять сами элементы, поэтому для решения задачи выполняется упорядочивание элементов по индексам. То есть индексы элементов выстраивают в такой последовательности, что соответствующие им значения элементов оказываются отсортированными по условию задачи. Сортировка применяется для облегчения поиска элементов в упорядоченном множестве. Задача сортировки одна из фундаментных в программировании. Любая классификация, как известно, неполна и ущербна. Признаками классификации могут быть структуры данных, используемые при сортировке (массивы, списки, деревья), местонахождение данных – в памяти (внутренняя) и в файлах (внешняя). Но все же самым лучшим принципом классификации является классификация идей, на которых строятся сортировки. – сортировки, основанные на наличии упорядоченной и неупорядоченной последовательностей, за один шаг переносят по одному элементу из неупорядоченной части в упорядоченную (перенос). Эта общая идея в зависимости от того, при работе с какой частью массива она проявляет свой «интеллект», дает нам сортировки выбором и вставками. Сюда же относятся вставка погружением и сортировка Шелла, основанная на переменном шаге погружения; – идея обменной сортировки очевидна: если достаточно долго менять местами пары соседних элементов, не находящихся в порядке возрастания, то рано или поздно последовательность упорядочится. Различные оптимизации (шейкер-сортировка, сортировка Шелла) учитывают различные эффекты, возникающие в этом процессе; – распределение предполагает, что элементы исходной последовательности «разбрасываются» (распределяются) - в несколько последовательностей или на различные позиции в одной. Куда помещать очередной элемент, зависит не от его значения, а от его косвенных характеристик. Строго говоря, они и определяют индекс (номер) выходной последовательности или индекс (место) в выходном массиве; – сортировки на основе разделения/слияния основаны на перенесении данных из одной группы в несколько (в простейшем случае – в две) (разделение) и в обратном их соединении (слияние). В отличие от распределения оба процесса линейны, то есть перенос элементов происходит линейно (последовательно). Однако «интеллект» сортировки, т.е. выбор последовательности, в которую или из которой следует помещать элементы, сосредоточен в одном из этих процессов. Тогда другой носит чисто формальный характер разъединения или соединения частей. Поэтому известны сортировки разделением («быстрая», рекурсивное и поразрядное разделение), основанные на разделении массива относительно среднего значения – медианы и сортировки слиянием упорядоченных последовательностей (см. там же) – однократное, циклическое, рекурсивное слияние. – и, наконец, известны сортировки, основанные на хранении данных в ветвящихся последовательностях (или деревьях). Хотя для них обычно используются специальные способы представления, их также можно «отобразить» в обычные массивы. Сортировка пузырьком – один из самых известных алгоритмов сортировки. Здесь нужно последовательно сравнивать значения соседних элементов и менять числа местами, если предыдущее оказывается больше последующего. Таким образом элементы с большими значениями оказываются в конце списка, а с меньшими остаются в начале. Шейкерная сортировка отличается от пузырьковой тем, что она двунаправленная: алгоритм перемещается не строго слева направо, а сначала слева направо, затем справа налево. При сортировке вставками массив постепенно перебирается слева направо. При этом каждый последующий элемент размещается так, чтобы он оказался между ближайшими элементами с минимальным и максимальным значением. Быстрая сортировка. Этот алгоритм состоит из трёх шагов. Сначала из массива нужно выбрать один элемент – его обычно называют опорным. Затем другие элементы в массиве перераспределяют так, чтобы элементы меньше опорного оказались до него, а большие или равные – после. А дальше рекурсивно применяют первые два шага к подмассивам справа и слева от опорного значения. Быструю сортировку изобрели в 1960 году для машинного перевода: тогда словари хранились на магнитных лентах, а сортировка слов обрабатываемого текста позволяла получить переводы за один прогон ленты, без перемотки назад. 8. Принципы и протоколы внутренней и внешней маршрутизации. Маршрутизация – процесс определения маршрута следования информации в сетях связи. Практически все методы маршрутизации базируются на следующем утверждении. Принцип оптимальности маршрута. Если маршрутизатор M находится на оптимальном пути от маршрутизатора I к маршрутизатору J, тогда оптимальный путь от М к J проходит по этому же пути. Главным параметром при маршрутизации пакета в Интернет является IP-адрес его места назначения. Проблема оптимальной маршрутизации в современном Интернет, насчитывающем уже более миллиарда узлов, весьма сложна. Полная таблица маршрутов может содержать 109! записей (здесь ! означает знак факториала, а не выражение эмоций). Протоколы маршрутизации делятся на две категории: внутренние (Interior) и внешние (Exterior). Внутренние протоколы имеют общее название IGP (Interior Gateway Protocol, протоколы внутреннего шлюза). К ним относятся любой протокол маршрутизации, используемый исключительно внутри автономной системы, к таким протоколам относятся, например RIP, EIGRP и OSPF. Каждый IGP протокол представляет один домен маршрутизации внутри AS. В пределах автономной системы может существовать множество IGP доменов. Внешние протоколы – EGP (Exterior Gateway Protocol протоколы внешнего шлюза) – это протоколы маршрутизации, обеспечивающие маршрутизацию между различными автономными системами. Протокол BGP (Border Gateway Protocol, протокол пограничного шлюза) является одним из наиболее известных межсистемных протоколов маршрутизации. Протоколы EGP обеспечивают соединение отдельных AS и транзит передаваемых данных между этими AS и через AS. 9. Модели данных. Концептуальная модель, физическая модель, реляционная модель данных. Модель данных – это совокупность структур данных и операций их обработки. С помощью модели данных могут быть представлены информационные объекты и взаимосвязи между ними. Концептуальная модель данных (КМД) – это общая информационная модель предметной области, охватывающая вопросы классификации, структуризации и семантической целостности (достоверности и согласованности данных). Концептуальная модель данных разрабатывается независимо от ограничений, вытекающих из моделей данных, поддерживаемая той или иной СУБД. Физическая модель данных описывает данные средствами конкретной СУБД. Ограничения, имеющиеся в логической модели данных, реализуются различными средствами СУБД, например, при помощи индексов, декларативных ограничений целостности, триггеров, хранимых процедур. При этом опять-таки решения, принятые на уровне логического моделирования определяют некоторые границы, в пределах которых можно развивать физическую модель данных. Точно также, в пределах этих границ можно принимать различные решения. Например, отношения, содержащиеся в логической модели данных, должны быть преобразованы в таблицы, но для каждой таблицы можно дополнительно объявить различные индексы, повышающие скорость обращения к данным. Многое тут зависит от конкретной СУБД. Если физическая модель данных реализована средствами реляционной СУБД, то отношения, разработанные на стадии формирования логической модели данных, преобразуются в таблицы, атрибуты становятся столбцами таблиц, для ключевых атрибутов создаются уникальные индексы, домены преображаются в типы данных, принятые в конкретной СУБД. Реляционная модель данных использует организацию данных в виде двумерных таблиц. Каждая такая таблица, называемая реляционной таблицей или отношением, представляет собой двумерный массив и обладает следующими свойствами: – все столбцы в таблице однородные, т.е. все элементы в одном столбце имеют одинаковый тип и максимально допустимый размер; – каждый столбец имеет уникальное имя; – одинаковые строки в таблице отсутствуют; – порядок следования строк и столбцов в таблице не имеет значения. 10. Системы математического описания цвета. Модели CMYK, RGB, CIE LAB. Цветовая модель – математическая модель описания представления цветов в виде наборов чисел, обычно в виде трех или четырех значений или цветовых компонентов, называемых цветовыми компонентами или цветовыми координатами. Все возможные значения цветов, задаваемые моделью, определяют цветовое пространство. Цветовая модель задаёт соответствие между воспринимаемыми человеком цветами, хранимыми в памяти, и цветами, формируемыми на устройствах вывода (возможно, при заданных условиях). CMYK – это компьютерная цветовая модель, которая имитирует смешивание красок на бумаге. Диапазон цветов на печати уже, чем на экранах. Поэтому при подготовке изображения к печати его переводят в CMYK, чтобы заранее отследить все возможные проблемы отображения. Пространство CMYK построено на смешении четырёх типографских красок: Cyan (сине-зелёный), Magenta (пурпурный), Yellow (жёлтый) и Key («ключевой» цвет – чёрный). Значение каждого может меняться от 0 до 100%. Белый цвет в пространстве CMYK – это отсутствие краски. RGB – это адаптивная цветовая модель получения любых оттенков видимого человеческим глазом спектра, при которой смешиваются красный, зеленый и синий. В нём каждый цвет кодируется значениями базовых цветов: Red (красный), Green (зелёный) и Blue (голубой). Это три оси, которые имеют градацию значений от 0 до 255. Если все три значения сделать нулевыми, то получится чёрный цвет, а если 255 – белый. Цветовая модель Lab была создана Международной комиссией по освещению (CIE) с целью преодоления существенных недостатков вышеизложенных моделей, в частности, она призвана стать аппаратно независимой моделью и определять цвета без оглядки на особенности устройства (монитора, принтера, печатного станка и так далее).Цветовой охват Lab шире, чем RGB, поэтому каждое повторное преобразование из одного режима в другой достаточно безопасно. Это свойство Lab очень важно для полиграфии. Программа Adobe Illustrator и Adobe Photoshop использует цветовую модель Lab в качестве "посредника" при любом конвертировании из модели в модель. Lab – это система координат из трёх осей: – L – яркость объекта; – а – ось, по которой отложены градации от красного к зелёному; – b – ось с градациями от жёлтого к синему. 11. Командный язык операционных систем. Исполнение команд. Формат команд. 12. Основные функции моделей и их классификация. Понятие математической модели. 13. Прикладные протоколы в стеке TCP/IP. 14. Наследование и полиморфизм. Виды наследования. 15. Модели данных: основные понятия, область применения. Классификация моделей данных. 16. Виртуальная памяти. память. Методы организации виртуальной 17. Классификация систем передачи информации. Структурная схема системы связи. 18. Средства защиты информации: организационные, математические и программные, физические, аппаратные. 19. Вычислительные архитектура и структура. машины и системы: классификация, 20. Кэширование данных. Схемы отображения основной памяти на кэшпамять. 21. Информационная безопасность: основные понятия, основные требования. 22. Базы данных: назначение, основные компоненты системы баз данных. 23. Технологии структурного, ориентированного программирования. модульного и объектно- 24. Основы компьютерной коммуникации. Принципы организации и основные топологии вычислительных сетей. 25. Запоминающие устройства: классификация, принцип работы, основные характеристики. 26. Политика безопасности. Разработка политики безопасности и ее жизненный цикл. 27. Операционные системы: классификация, функции, требования, предъявляемые к современным операционным системам. 28. Архитектурные особенности ОС. 29. Методы обеспечения информационных системах. доступности информации в 30. Методы обеспечения конфиденциальности информации. 31. Компонентный состав ОС. Общий подход к структуризации ОС. Функции модулей. 32. Методы обеспечения целостности информации 2. Вопросы по экономике 1. Понятие экономической системы. Традиционная экономическая система общества. 2. Понятие экономической системы. Рыночная экономическая система общества. 3. Понятие экономической системы. Командная экономическая система общества. 4. Понятие экономической системы. Смешанная экономическая система общества. 5. Понятие рынка и рыночного механизма. 6. Спрос. Предложение. Цена. 7. Производство и фирма. 8. Постоянные, переменные и общие издержки. 9. Конкуренция и рыночная власть. 10. Монополия: монопольной власти. понятие, условия существования, факторы 11. Олигополия: монопольной власти. понятие, условия существования, факторы 12. Национальная экономика в целом и ее важнейшие показатели. 13. Экономический цикл: понятие, причины и фазы. 14. Безработица как форма макроэкономической нестабильности. 15. Сущность, причины и типы инфляции. 16. Экономический рост. Факторы экономического роста. 17. Деньги как категория товарного производства: сущность и функции. 18. Современная кредитно-банковская система. 19. Кредит: сущность и функции. 20. Государственные расходы и налоги.