Vývoj webových aplikací 2 [A4M39WA2]

Cvičení

Test 2 - 2014

  • On premise (nasazeni SW na vlastnim PC)
  • 2 cloud sluzby od MS (Office 365, Skype, Azure, Hotmail…)
  • rizika cloud sluzeb (Cloud computing sebou nese dvě hlavní kategorie rizik. První z nich je riziko ztráty nebo poškození, respektive znehodnocení dat. Druhým rizikem je jejich odcizení, respektive expozice dat nežádoucím subjektům.)
  • 2 moznosti trvaleho ulozeni Azure (Tables, Blobs)
  • 3 DB funkce, co nejsou v Cloudu (konzistence, pevné schéma, transakce)
  • Jak se propojuje objekt v JPA (EntityManagerem)
  • Derefered binding (vlastnost Google Web Toolkit pri konverzi Javy do JavaScriptu, „dynamic class-loading that occurs at compile time instead of execution time“. Ruznym prohlizecum se dostanou ruzne varianty skriptu.)
  • Kde ukladat video v Azure (BLOB)
  • Validace v JSF (pomocí implementace rozhraní javax.faces.validator.Validator)

Testy jsou na 10 bodů, každá otázka za 1 bod, cca 20 minut.

Test 1

  • Co je to REST
  • Rozdíl mezi Javou SE a EE
  • Jaké vrstvy má J2EE aplikace
  • Co je to anotace v Javě
  • Co je to PaaS, IaaS a SaaS
  • Jaké jsou metody RESTu a k čemu slouží
  • Jak lze realizovat dědičnost entit v databázi
  • Kdo je vlastníkem ve vztahu 1:N, M:N v ORM a v relační databázi
  • Nakreslete schéma MVC při využití JSP

Test 2

  • Typy úložišť (DB) v Cloudu od Google - High Replication a Master/slave
  • Typy úložišť (DB) v Cloudu od Microsoftu - Table, BLOBS, Drivers, Queue
  • Jaká jsou omezení pro SQL v Cloudových databázích - omezená podpora transakcí, eventual consistence
  • Jak zajistíme, aby aplikace poslouchala na portu 1427 v Google a jak v Microsoft Azure - Google: –port=1427 nebo do dev_appserver.xml <dev_appserver war=„war“ port=“desired-port-number”/> Azure:?
  • Jaké jsou typy rolí v Microsoft Azure - work a web
  • Jaké vlastnosti musí mít RESTful aplikace - Uniformní interface - definován URI; client-server; stateless; cache; layered system; code on demand (optional)
  • Co to je nasazení aplikace „on premise“ - software na desktopu
  • Co je to škálovatelnost, elasticita a redundance a jaký je mezi tím rozdíl. -

Test 2 - 2013

Stejné jako minulý rok.

Test 1 - 2013

  • Co musí splňovat rest? [2 body]
  • Jaké jsou požadavky, aby se použil cloud místo on premise? [1 bod]
  • Co se rozumí pojmem 'container' v souvislosti se servlety? [1 bod]
  • Jak se obecně chovají servlety ve vícevláknovém prostředí a jak se chovají v google app engine? [2 body]
  • Jaké jsou tři typy cloudu? [1 bod]
  • Popište funkci anotací v jave a uveďte příklad. [1 bod]
  • Jakou funkci má v MVC v ee javě jsp, servlet, java bean, nakreslete obrázek. [asi 1 bod]
  • Co je to deffered binding v GWT?

Zkouška

Zkouška 5.6.2015

Asi 8 otázek (4 teorie, 4 praktické), 1 hodina času na vypracování, minimum 15 bodů z 35, u ustní lze získat maximálně 15 bodů. Napíše se test, pak jdete popořadě ke Klímovi, kde s ním test projdete a opravíte, většinou se zeptá ještě na nějakou otázku aby věděl že tomu opravdu rozumíte anebo když vám tam něco chybí. Pak jdete k Mudrovi na ústní zkoušku, vybere asi 2 otázky podobné jako byly v semestru u písemky (Frotny v Azure=typy a popis, Lamportovy hodiny,…). Každý je tam dohromady asi 20 minut (oprava + ústní), takže se to pak docela protáhne až do odpoledne.

  • High replication - Popis, zápis, čtení, může být i obrázek [2 body]
  • Hadoop, Map a Reduce - Map =, Reduce =, může být i obrázek Hadoop architektury [3 body]
  • GWT Deferred binding [2 body]
  • Tu 4. teoretickou už si napamatuji…
  • Architektura systému podle zadání: Máme databázi elektrických spotřebičů a podle příchozích informací (logo, čárový kód, QR kód,…) máme poznávat o jaký se jedná. - Ideální je nakreslit obrázek Klienti, Webrole, Fronta, Workerrole - musí jich být více, Blob úložiště, Relační DB a popsat co se v jednotlivých uzlech dělá. [14 bodů]
  • Které operace systému lze paralelizovat [2 body]
  • Rest rozhraní (které metody (GET, POST, PUT, DELETE) + URL + popis hlavičky když je potřeba) [8 bodů]

Zápis, čtení, smazání a úprava spotřebiče Zápis, čtení, smazání a úprava vlastností spotřebiče Dlouho jsem nevěděl co je tím vlastně myšleno, nakonec mu stačilo něco jako: POST …/Spotrebic {„nazev“ : “…“} –header 'Content-Type: application/json' a co to vrátí? GET …/Spotrebic/{id} atd…


Zkouška 19.5.2014

- Zde


Byla zadaná úloha, docela jednoduchý IS a k němu pak hromada otázek

  • jak udělat REST rozhraní, když chceme, aby to umělo …
  • zvolte platformu a úložiště pro realizaci a zdůvodněte
  • ukázka kódu pro uložení entity do DB
  • nějaký složitý use-case a máme navrhnout řešení (třeba výpočet složitých statistik)
  • udělat ekonomický model
  • popsat jak bychom to škálovali
  • navrhnout distribuovaný algoritmus pro daný výpočet (stačí popsat jak řídit instance, co budou dělat a tak)
  • ústní zkouška je na dlouho, každý tam stráví tak 10-15 minut
  • dá se s ním o tom dobře diskutovat, občas se stane, že každý tu otázku pochopí jinak, ale to není problém
  • chce vidět, že tomu člověk rozumí a umí přemýšlet, pak vezme i řešení, která se mu nelíbí. Hodně záleží na zdůvodnění

20.5.2013

  • Popište architekturu Hadoop
  • Popište algoritmy Map a Reduce na Hadoop
  • V jakých stavech se může nacházet entita JPA?
  • Co je to Content negotiation?
  • Co je to Deferred binding v GWT?

V druhé části byl zadaný systém, něco jako: Navrhněte systém pro zpracování dat s kvalitních kamer. Sys. bude mít REST API pro vložení i získání videa. Sys. bude upravovat formát videa pro mobilní zařízení (iPad, iPhone, tablet, …). Navrhněte pro platformu MS Azure.

  • Navrhněte architekturu
  • Popište sekvenčním dia., jak bude probíhat zpracování videa
  • Udělejte cenovou kalkulaci (nechtěl konkrétní ceny, ale jak byste postupovali)
  • Co budete dělat v případě, že se zvýší počet producers (ti co posílají videa z kamer) a consumers (ti co si pouští videa)
  • Jaká datová uložiště použijete a proč
  • Popište metody REST API
Poznámky

Dá se s ním docela dobře diskutovat, pokud nejste úplně dutý. Bacha na ústní se docela dost ptá podrobně na věci z GWT (komunikace klient-server) či Hadoop (high replication). Občas položí fakt divnou otázku: „Jaký je rozdíl mezi Web service a REST?“ Trvalo 10 min než jsem z něj dostal, že chce slyšet toto: „Výsledkem volání Web service je nějaká hodnota (když sčítám: 1+1) třeba 2. U RESTu je výsledkem něco jako: {„result“: „2“}“. Rozdíl je tedy v tom, že WS vrací hodnotu té funkce (integer), ale REST vrací celou odpověď (objekt).

Literatura

courses/a4m39wa2.txt · Poslední úprava: 2019/01/10 18:36 (upraveno mimo DokuWiki)
Nahoru
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0