- •Що виносяться на державний іспит в 2014 р. (спеціалісти спеціальності «інформатика»)
- •1. Програмування, системне програмування
- •Системнепрограмування
- •1. Мови програмування та їх класифiкацiя.
- •2. Системнепрограмування
- •2. Типи даних, скалярні та структурованi типи. Оператори; оператор присвоєння, структурнi оператори. Засоби вводу-виводу.
- •3. Структуризація програм та даних. Підпрограми, функцiї.
- •4. Динамічні структури даних. Списки, стеки, черги. Дерева, бінарні дерева. Дерева пошуку.
- •5. Поняття про функцiональне програмування, структурне програмування, об'єктно-орiєнтоване програмування.
- •6. Інструментальні засоби розробки інформаційних технологій, case-технології
- •2. Системнепрограмування
- •7. Cучасні технології програмування та тенденції їх розвитку.
- •2. Системнепрограмування
- •8. Об’єктно-орієнтоване програмування. Мова Java.
- •2. Системнепрограмування
- •9. Поняття мовного процесора. Типи мовних процесорів. Основні фази мовного процесора.
- •2. Системнепрограмування
- •10. Скінченні автомати. Методика побудови лексичного аналізатора на основі скінченного автомата.
- •2. Системнепрограмування
- •11. Синтаксичний аналіз та породжувальні граматики. Виведення в граматиці, дерево виведення. Лівостороння та правостороння стратегії виведення.
- •2. Системнепрограмування
- •12. Ll(k)-граматики. Перевірка ll(1)-умови. Побудова ll(1)-таблиці для управління синтаксичним ll(1)-аналізатором.
- •2. Системнепрограмування
- •13. Методи денотацiйної та операційної семантики. Метод семантичних підпрограм. Атрибутний метод визначення семантики програм. Семантичний терм програми.
- •2. Системнепрограмування
- •14. Машинно-орієнтовані мови програмування. Асемблери. Структура асемблера, перегляди тексту програми та відповідні бази даних.
- •2. Інформаційні технології
- •1. Уніфікована мова моделювання uml. Діаграми прецедентів
- •2. Використання діаграм послідовностей та діаграм класів при проектуванні програмних систем.
- •3. Патерни проектування
- •Класифікації патернів:
- •4. Платформа .Net Framework.
- •5. Сервісно-орієнтована архітектура
- •6. Огляд технологій j2ee. Технологія Java rmi.
- •8. Патерн Model-View-Controller у Web-проектах.
- •9. Патерн (принцип) ioc&di та його підтримка у фреймворку Spring
- •10. Проблема валідації даних у Web-проектах. Підтримка ajax.
- •3. Інформаційні мережі
- •1. Інформаційна глобальна мережа internet (написано много, выбрать главное)
- •Internet надає такі основні види послуг:
- •2. Система доменних імен глобальної мережі internet.
- •3. Система електронної пошти глобальної мережі internet.
- •4. Системи інтерактивних комунікацій глобальноїмережі internet (на прикладі Skype, icq).
- •5. Системи електронних спільнот глобальної мережі internet (на прикладі Facebook, Twiter).
- •6. Поняття універсального вказівника ресурсу. Основні типи ресурсів.
- •7. Мережі tcp/ip.Стек протоколів tcp/ip: топологічні особливості, функції рівнів.
- •8. Поняття раутінгу в мережах tcp/ip. (аккуратно, перевод через гугл транслейт!!!)
- •9. Технології, що забезпечують відмовостійкість мереж tcp/ip. (ответ не очень)
- •10.Класифікація комп’ютерних мереж.
- •11. Системи захисту інформації в глобальній мережі internet (на прикладі pgp).
- •4. Математична логіка та теорія алгоритмів, теорія програмування
- •9. Основні поняття програмування, відношення між ними. Основні програмні поняття Розвиток основних понять програмування
- •Композиції
- •11. Методи подання синтаксису мов програмування.
- •4.8.1. Нормальні форми Бекуса–Наура
- •4.8.2. Модифіковані нормальні форми Бекуса–Наура
- •4.8.3. Синтаксичні діаграми
- •Визначення основних понять формальних мов
- •4.3. Операції над формальними мовами
- •13. Неперервні відображення.Теореми про найменшу нерухому точку (Кнастер-Тарський-Кліні); теорема про неперервність оператора нерухомої точки.
- •14. Методи формальної семантики мов програмування (композиційна, натуральна, денотаційна, аксіоматична).
- •5. Штучний інтелект
8. Патерн Model-View-Controller у Web-проектах.
Моде́ль-вид-контро́лер (або Модель-вигляд-контролер, англ. Model-view-controller, MVC) — архітектурний шаблон, який використовується під час проектування та розробки програмного забезпечення.
Цей шаблон поділяє систему на три частини: модель даних, вигляд даних та керування. Застосовується для відокремлення даних (модель) від інтерфейсу користувача (вигляду) так, щоб зміни інтерфейсу користувача мінімально впливали на роботу з даними, а зміни в моделі даних могли здійснюватися без змін інтерфейсу користувача.
Мета шаблону — гнучкий дизайн програмного забезпечення, який повинен полегшувати подальші зміни чи розширення програм, а також надавати можливість повторного використання окремих компонентів програми. Крім того використання цього шаблону у великих системах призводить до певної впорядкованості їх структури і робить їх зрозумілішими завдяки зменшенню складності.
Архітектурний шаблон Модель-Вид-Контролер (MVC) поділяє програму на три частини. У тріаді до обов'язків компоненту Модель (Model) входить зберігання даних і забезпечення інтерфейсу до них. Вигляд (View) відповідальний за представлення цих даних користувачеві. Контролер (Controller) керує компонентами, отримує сигнали у вигляді реакції на дії користувача, і повідомляє про зміни компоненту Модель. Така внутрішня структура в цілому поділяє систему на самостійні частини і розподіляє відповідальність між різними компонентами.
MVC поділяє цю частину системи на три самостійні частини: введення даних, компонент обробки даних і виведення інформації. Модель, як вже було відмічено, інкапсулює ядро даних і основний функціонал з їх обробки. Також компонент Модель не залежить від процесу введення або виведення даних. Компонент виводу Вигляд може мати декілька взаємопов'язаних областей, наприклад, різні таблиці і поля форм, в яких відображається інформація. У функції Контролера входить моніторинг за подіями, що виникають в результаті дій користувача (зміна положення курсора миші, натиснення кнопки або введення даних в текстове поле).
Зареєстровані події транслюються в різні запити, що спрямовуються компонентам Моделі або об'єктам, відповідальним за відображення даних. Відокремлення моделі від вигляду даних дозволяє незалежно використовувати різні компоненти для відображення інформації. Таким чином, якщо користувач через Контролер внесе зміни до Моделі даних, то інформація, подана одним або декількома візуальними компонентами, буде автоматично відкоригована відповідно до змін, що відбулися.
9. Патерн (принцип) ioc&di та його підтримка у фреймворку Spring
Інверсія управління (англ. Inversion of Control, IoC) — важливий принцип об'єктно-орієнтованого програмування, який використовують для зменшення зв'язності в комп'ютерних програмах. IoC входить у п'ятірку найважливіших принципівSOLID.
Найпопулярнішою реалізацією IoC є Dependency Injection Principle (принцип впровадження залежностей). Dependency Injection використовується в багатьох фреймворках, вони називаються IoC контейнери.
Модулі верхніх рівнів не повинні залежати від модулів нижчих рівнів. Обидва типа модулів повинні залежати від абстракцій. Абстракції не повинні залежати від деталей. Деталі повинні залежати від абстракцій.
Клас X залежить від класу Y, якщо виконується одна з наступних умов:
X містить (has-a) Y
X є (is-a) Y
X залежить від деякого класу Z, який залежить від Y (принцип транзитивності)
X залежить від Y не означає, що Y залежить від X. Якщо ж існують обидві залежності, то це називається циклічною залежністю: X не може бути використаний без Y, та навпаки. Існування великого числа циклічних залежностей в об'єктно-орієнтованій програмі може бути показником неоптимальної будови програми.
IoC Container – ядро Spring Framework.
Патерн (принцип) IOC & DI — Inversion of Control (IoC) and Dependency Injection (DI)
(ТРЕБА ДОДАТИ ПРИКЛАД НА spring або просто на жаві)
